Lines Matching full:self

18     def __enter__(self):  argument
21 def emit(self, record): argument
25 self.handler = handler
28 def __exit__(self, type, value, traceback): argument
30 logger.removeHandler(self.handler)
41 def setUp(self): argument
42 self.d = bb.data.init()
43 self.d["foo"] = "value_of_foo"
44 self.d["bar"] = "value_of_bar"
45 self.d["value_of_foo"] = "value_of_'value_of_foo'"
47 def test_one_var(self): argument
48 val = self.d.expand("${foo}")
49 self.assertEqual(str(val), "value_of_foo")
51 def test_indirect_one_var(self): argument
52 val = self.d.expand("${${foo}}")
53 self.assertEqual(str(val), "value_of_'value_of_foo'")
55 def test_indirect_and_another(self): argument
56 val = self.d.expand("${${foo}} ${bar}")
57 self.assertEqual(str(val), "value_of_'value_of_foo' value_of_bar")
59 def test_python_snippet(self): argument
60 val = self.d.expand("${@5*12}")
61 self.assertEqual(str(val), "60")
63 def test_expand_in_python_snippet(self): argument
64 val = self.d.expand("${@'boo ' + '${foo}'}")
65 self.assertEqual(str(val), "boo value_of_foo")
67 def test_python_snippet_getvar(self): argument
68 val = self.d.expand("${@d.getVar('foo') + ' ${bar}'}")
69 self.assertEqual(str(val), "value_of_foo value_of_bar")
71 def test_python_unexpanded(self): argument
72 self.d.setVar("bar", "${unsetvar}")
73 val = self.d.expand("${@d.getVar('foo') + ' ${bar}'}")
74 self.assertEqual(str(val), "${@d.getVar('foo') + ' ${unsetvar}'}")
76 def test_python_snippet_syntax_error(self): argument
77 self.d.setVar("FOO", "${@foo = 5}")
78 self.assertRaises(bb.data_smart.ExpansionError, self.d.getVar, "FOO", True)
80 def test_python_snippet_runtime_error(self): argument
81 self.d.setVar("FOO", "${@int('test')}")
82 self.assertRaises(bb.data_smart.ExpansionError, self.d.getVar, "FOO", True)
84 def test_python_snippet_error_path(self): argument
85 self.d.setVar("FOO", "foo value ${BAR}")
86 self.d.setVar("BAR", "bar value ${@int('test')}")
87 self.assertRaises(bb.data_smart.ExpansionError, self.d.getVar, "FOO", True)
89 def test_value_containing_value(self): argument
90 val = self.d.expand("${@d.getVar('foo') + ' ${bar}'}")
91 self.assertEqual(str(val), "value_of_foo value_of_bar")
93 def test_reference_undefined_var(self): argument
94 val = self.d.expand("${undefinedvar} meh")
95 self.assertEqual(str(val), "${undefinedvar} meh")
97 def test_double_reference(self): argument
98 self.d.setVar("BAR", "bar value")
99 self.d.setVar("FOO", "${BAR} foo ${BAR}")
100 val = self.d.getVar("FOO")
101 self.assertEqual(str(val), "bar value foo bar value")
103 def test_direct_recursion(self): argument
104 self.d.setVar("FOO", "${FOO}")
105 self.assertRaises(bb.data_smart.ExpansionError, self.d.getVar, "FOO", True)
107 def test_indirect_recursion(self): argument
108 self.d.setVar("FOO", "${BAR}")
109 self.d.setVar("BAR", "${BAZ}")
110 self.d.setVar("BAZ", "${FOO}")
111 self.assertRaises(bb.data_smart.ExpansionError, self.d.getVar, "FOO", True)
113 def test_recursion_exception(self): argument
114 self.d.setVar("FOO", "${BAR}")
115 self.d.setVar("BAR", "${${@'FOO'}}")
116 self.assertRaises(bb.data_smart.ExpansionError, self.d.getVar, "FOO", True)
118 def test_incomplete_varexp_single_quotes(self): argument
119 self.d.setVar("FOO", "sed -i -e 's:IP{:I${:g' $pc")
120 val = self.d.getVar("FOO")
121 self.assertEqual(str(val), "sed -i -e 's:IP{:I${:g' $pc")
123 def test_nonstring(self): argument
124 self.d.setVar("TEST", 5)
125 val = self.d.getVar("TEST")
126 self.assertEqual(str(val), "5")
128 def test_rename(self): argument
129 self.d.renameVar("foo", "newfoo")
130 self.assertEqual(self.d.getVar("newfoo", False), "value_of_foo")
131 self.assertEqual(self.d.getVar("foo", False), None)
133 def test_deletion(self): argument
134 self.d.delVar("foo")
135 self.assertEqual(self.d.getVar("foo", False), None)
137 def test_keys(self): argument
138 keys = list(self.d.keys())
139 self.assertCountEqual(keys, ['value_of_foo', 'foo', 'bar'])
141 def test_keys_deletion(self): argument
142 newd = bb.data.createCopy(self.d)
145 self.assertCountEqual(keys, ['value_of_foo', 'foo'])
148 def setUp(self): argument
149 self.d = bb.data.init()
150 self.d["foo"] = "foo"
151 self.d["bar"] = "bar"
152 self.d["value_of_foobar"] = "187"
154 def test_refs(self): argument
155 val = self.d.expand("${value_of_${foo}${bar}}")
156 self.assertEqual(str(val), "187")
158 #def test_python_refs(self):
159 # val = self.d.expand("${@${@3}**2 + ${@4}**2}")
160 # self.assertEqual(str(val), "25")
162 def test_ref_in_python_ref(self): argument
163 val = self.d.expand("${@'${foo}' + 'bar'}")
164 self.assertEqual(str(val), "foobar")
166 def test_python_ref_in_ref(self): argument
167 val = self.d.expand("${${@'f'+'o'+'o'}}")
168 self.assertEqual(str(val), "foo")
170 def test_deep_nesting(self): argument
172 val = self.d.expand("${" * depth + "foo" + "}" * depth)
173 self.assertEqual(str(val), "foo")
175 #def test_deep_python_nesting(self):
177 # val = self.d.expand("${@" * depth + "1" + "+1}" * depth)
178 # self.assertEqual(str(val), str(depth + 1))
180 def test_mixed(self): argument
181 val = self.d.expand("${value_of_${@('${foo}'+'bar')[0:3]}${${@'BAR'.lower()}}}")
182 self.assertEqual(str(val), "187")
184 def test_runtime(self): argument
185 val = self.d.expand("${${@'value_of' + '_f'+'o'+'o'+'b'+'a'+'r'}}")
186 self.assertEqual(str(val), "187")
189 def test_memoized(self): argument
192 self.assertTrue(d.getVar("FOO", False) is d.getVar("FOO", False))
194 def test_not_memoized(self): argument
199 self.assertTrue(d1.getVar("FOO", False) is not d2.getVar("FOO", False))
201 def test_changed_after_memoized(self): argument
204 self.assertEqual(str(d.getVar("foo", False)), "value of foo")
206 self.assertEqual(str(d.getVar("foo", False)), "second value of foo")
208 def test_same_value(self): argument
212 self.assertEqual(d.getVar("foo", False),
216 def setUp(self): argument
217 self.d = bb.data.init()
218 self.d.setVar("FOO", "foo")
219 self.d.setVar("VAL", "val")
220 self.d.setVar("BAR", "bar")
222 def test_prepend(self): argument
223 self.d.setVar("TEST", "${VAL}")
224 self.d.prependVar("TEST", "${FOO}:")
225 self.assertEqual(self.d.getVar("TEST"), "foo:val")
227 def test_append(self): argument
228 self.d.setVar("TEST", "${VAL}")
229 self.d.appendVar("TEST", ":${BAR}")
230 self.assertEqual(self.d.getVar("TEST"), "val:bar")
232 def test_multiple_append(self): argument
233 self.d.setVar("TEST", "${VAL}")
234 self.d.prependVar("TEST", "${FOO}:")
235 self.d.appendVar("TEST", ":val2")
236 self.d.appendVar("TEST", ":${BAR}")
237 self.assertEqual(self.d.getVar("TEST"), "foo:val:val2:bar")
240 def setUp(self): argument
241 self.d = bb.data.init()
242 self.d.setVar("FOO", "foo")
243 self.d.setVar("VAL", "val")
244 self.d.setVar("BAR", "bar")
246 def test_prepend(self): argument
247 self.d.setVar("TEST", "${VAL}")
248 self.d.setVar("TEST:prepend", "${FOO}:")
249 self.assertEqual(self.d.getVar("TEST"), "foo:val")
251 def test_append(self): argument
252 self.d.setVar("TEST", "${VAL}")
253 self.d.setVar("TEST:append", ":${BAR}")
254 self.assertEqual(self.d.getVar("TEST"), "val:bar")
256 def test_multiple_append(self): argument
257 self.d.setVar("TEST", "${VAL}")
258 self.d.setVar("TEST:prepend", "${FOO}:")
259 self.d.setVar("TEST:append", ":val2")
260 self.d.setVar("TEST:append", ":${BAR}")
261 self.assertEqual(self.d.getVar("TEST"), "foo:val:val2:bar")
263 def test_append_unset(self): argument
264 self.d.setVar("TEST:prepend", "${FOO}:")
265 self.d.setVar("TEST:append", ":val2")
266 self.d.setVar("TEST:append", ":${BAR}")
267 self.assertEqual(self.d.getVar("TEST"), "foo::val2:bar")
269 def test_remove(self): argument
270 self.d.setVar("TEST", "${VAL} ${BAR}")
271 self.d.setVar("TEST:remove", "val")
272 self.assertEqual(self.d.getVar("TEST"), " bar")
274 def test_remove_cleared(self): argument
275 self.d.setVar("TEST", "${VAL} ${BAR}")
276 self.d.setVar("TEST:remove", "val")
277 self.d.setVar("TEST", "${VAL} ${BAR}")
278 self.assertEqual(self.d.getVar("TEST"), "val bar")
282 def test_remove_inactive_override(self): argument
283 self.d.setVar("TEST", "${VAL} ${BAR} 123")
284 self.d.setVar("TEST:remove:inactiveoverride", "val")
285 self.assertEqual(self.d.getVar("TEST"), "val bar 123")
287 def test_doubleref_remove(self): argument
288 self.d.setVar("TEST", "${VAL} ${BAR}")
289 self.d.setVar("TEST:remove", "val")
290 self.d.setVar("TEST_TEST", "${TEST} ${TEST}")
291 self.assertEqual(self.d.getVar("TEST_TEST"), " bar bar")
293 def test_empty_remove(self): argument
294 self.d.setVar("TEST", "")
295 self.d.setVar("TEST:remove", "val")
296 self.assertEqual(self.d.getVar("TEST"), "")
298 def test_remove_expansion(self): argument
299 self.d.setVar("BAR", "Z")
300 self.d.setVar("TEST", "${BAR}/X Y")
301 self.d.setVar("TEST:remove", "${BAR}/X")
302 self.assertEqual(self.d.getVar("TEST"), " Y")
304 def test_remove_expansion_items(self): argument
305 self.d.setVar("TEST", "A B C D")
306 self.d.setVar("BAR", "B D")
307 self.d.setVar("TEST:remove", "${BAR}")
308 self.assertEqual(self.d.getVar("TEST"), "A C ")
310 def test_remove_preserve_whitespace(self): argument
312 self.d.setVar("TEST", " A B")
313 self.d.setVar("TEST:remove", "C")
314 self.assertEqual(self.d.getVar("TEST"), " A B")
316 def test_remove_preserve_whitespace2(self): argument
318 self.d.setVar("TEST", " A B")
319 self.d.setVar("TEST:remove", "B")
320 self.assertEqual(self.d.getVar("TEST"), " A ")
323 def setUp(self): argument
324 self.d = bb.data.init()
325 self.d.setVar("OVERRIDES", "foo:bar:local")
326 self.d.setVar("TEST", "testvalue")
328 def test_no_override(self): argument
329 self.assertEqual(self.d.getVar("TEST"), "testvalue")
331 def test_one_override(self): argument
332 self.d.setVar("TEST:bar", "testvalue2")
333 self.assertEqual(self.d.getVar("TEST"), "testvalue2")
335 def test_one_override_unset(self): argument
336 self.d.setVar("TEST2:bar", "testvalue2")
338 self.assertEqual(self.d.getVar("TEST2"), "testvalue2")
339 self.assertCountEqual(list(self.d.keys()), ['TEST', 'TEST2', 'OVERRIDES', 'TEST2:bar'])
341 def test_multiple_override(self): argument
342 self.d.setVar("TEST:bar", "testvalue2")
343 self.d.setVar("TEST:local", "testvalue3")
344 self.d.setVar("TEST:foo", "testvalue4")
345 self.assertEqual(self.d.getVar("TEST"), "testvalue3")
346self.assertCountEqual(list(self.d.keys()), ['TEST', 'TEST:foo', 'OVERRIDES', 'TEST:bar', 'TEST:loc…
348 def test_multiple_combined_overrides(self): argument
349 self.d.setVar("TEST:local:foo:bar", "testvalue3")
350 self.assertEqual(self.d.getVar("TEST"), "testvalue3")
352 def test_multiple_overrides_unset(self): argument
353 self.d.setVar("TEST2:local:foo:bar", "testvalue3")
354 self.assertEqual(self.d.getVar("TEST2"), "testvalue3")
356 def test_keyexpansion_override(self): argument
357 self.d.setVar("LOCAL", "local")
358 self.d.setVar("TEST:bar", "testvalue2")
359 self.d.setVar("TEST:${LOCAL}", "testvalue3")
360 self.d.setVar("TEST:foo", "testvalue4")
361 bb.data.expandKeys(self.d)
362 self.assertEqual(self.d.getVar("TEST"), "testvalue3")
364 def test_rename_override(self): argument
365 self.d.setVar("ALTERNATIVE:ncurses-tools:class-target", "a")
366 self.d.setVar("OVERRIDES", "class-target")
367 self.d.renameVar("ALTERNATIVE:ncurses-tools", "ALTERNATIVE:lib32-ncurses-tools")
368 self.assertEqual(self.d.getVar("ALTERNATIVE:lib32-ncurses-tools"), "a")
370 def test_underscore_override(self): argument
371 self.d.setVar("TEST:bar", "testvalue2")
372 self.d.setVar("TEST:some_val", "testvalue3")
373 self.d.setVar("TEST:foo", "testvalue4")
374 self.d.setVar("OVERRIDES", "foo:bar:some_val")
375 self.assertEqual(self.d.getVar("TEST"), "testvalue3")
377 def test_remove_with_override(self): argument
378 self.d.setVar("TEST:bar", "testvalue2")
379 self.d.setVar("TEST:some_val", "testvalue3 testvalue5")
380 self.d.setVar("TEST:some_val:remove", "testvalue3")
381 self.d.setVar("TEST:foo", "testvalue4")
382 self.d.setVar("OVERRIDES", "foo:bar:some_val")
383 self.assertEqual(self.d.getVar("TEST"), " testvalue5")
385 def test_append_and_override_1(self): argument
386 self.d.setVar("TEST:append", "testvalue2")
387 self.d.setVar("TEST:bar", "testvalue3")
388 self.assertEqual(self.d.getVar("TEST"), "testvalue3testvalue2")
390 def test_append_and_override_2(self): argument
391 self.d.setVar("TEST:append:bar", "testvalue2")
392 self.assertEqual(self.d.getVar("TEST"), "testvaluetestvalue2")
394 def test_append_and_override_3(self): argument
395 self.d.setVar("TEST:bar:append", "testvalue2")
396 self.assertEqual(self.d.getVar("TEST"), "testvalue2")
399 def test_underscore_override(self): argument
400 self.d.setVar("TARGET_ARCH", "x86_64")
401 self.d.setVar("PN", "test-${TARGET_ARCH}")
402 self.d.setVar("VERSION", "1")
403 self.d.setVar("VERSION:pn-test-${TARGET_ARCH}", "2")
404 self.d.setVar("OVERRIDES", "pn-${PN}")
405 bb.data.expandKeys(self.d)
406 self.assertEqual(self.d.getVar("VERSION"), "2")
408 def test_append_and_unused_override(self): argument
410 self.d.setVar("BAR:append:unusedoverride", "testvalue2")
411 self.assertEqual(self.d.getVar("BAR"), None)
414 def setUp(self): argument
415 self.d = bb.data.init()
416 self.d.setVar("FOO", "foo")
417 self.d.setVar("BAR", "foo")
419 def test_keyexpand(self): argument
420 self.d.setVar("VAL_${FOO}", "A")
421 self.d.setVar("VAL_${BAR}", "B")
423 bb.data.expandKeys(self.d)
424self.assertTrue(logContains("Variable key VAL_${FOO} (A) replaces original key VAL_foo (B)", logs))
425 self.assertEqual(self.d.getVar("VAL_foo"), "A")
428 def setUp(self): argument
429 self.d = bb.data.init()
430 self.d.setVar("foo", "value of foo")
431 self.d.setVarFlag("foo", "flag1", "value of flag1")
432 self.d.setVarFlag("foo", "flag2", "value of flag2")
434 def test_setflag(self): argument
435 self.assertEqual(self.d.getVarFlag("foo", "flag1", False), "value of flag1")
436 self.assertEqual(self.d.getVarFlag("foo", "flag2", False), "value of flag2")
438 def test_delflag(self): argument
439 self.d.delVarFlag("foo", "flag2")
440 self.assertEqual(self.d.getVarFlag("foo", "flag1", False), "value of flag1")
441 self.assertEqual(self.d.getVarFlag("foo", "flag2", False), None)
445 def setUp(self): argument
446 self.d = bb.data.init()
447 self.d.setVar("SOMEFLAG", "a b c")
449 def test_contains(self): argument
450 self.assertTrue(bb.utils.contains("SOMEFLAG", "a", True, False, self.d))
451 self.assertTrue(bb.utils.contains("SOMEFLAG", "b", True, False, self.d))
452 self.assertTrue(bb.utils.contains("SOMEFLAG", "c", True, False, self.d))
454 self.assertTrue(bb.utils.contains("SOMEFLAG", "a b", True, False, self.d))
455 self.assertTrue(bb.utils.contains("SOMEFLAG", "b c", True, False, self.d))
456 self.assertTrue(bb.utils.contains("SOMEFLAG", "c a", True, False, self.d))
458 self.assertTrue(bb.utils.contains("SOMEFLAG", "a b c", True, False, self.d))
459 self.assertTrue(bb.utils.contains("SOMEFLAG", "c b a", True, False, self.d))
461 self.assertFalse(bb.utils.contains("SOMEFLAG", "x", True, False, self.d))
462 self.assertFalse(bb.utils.contains("SOMEFLAG", "a x", True, False, self.d))
463 self.assertFalse(bb.utils.contains("SOMEFLAG", "x c b", True, False, self.d))
464 self.assertFalse(bb.utils.contains("SOMEFLAG", "x c b a", True, False, self.d))
466 def test_contains_any(self): argument
467 self.assertTrue(bb.utils.contains_any("SOMEFLAG", "a", True, False, self.d))
468 self.assertTrue(bb.utils.contains_any("SOMEFLAG", "b", True, False, self.d))
469 self.assertTrue(bb.utils.contains_any("SOMEFLAG", "c", True, False, self.d))
471 self.assertTrue(bb.utils.contains_any("SOMEFLAG", "a b", True, False, self.d))
472 self.assertTrue(bb.utils.contains_any("SOMEFLAG", "b c", True, False, self.d))
473 self.assertTrue(bb.utils.contains_any("SOMEFLAG", "c a", True, False, self.d))
475 self.assertTrue(bb.utils.contains_any("SOMEFLAG", "a x", True, False, self.d))
476 self.assertTrue(bb.utils.contains_any("SOMEFLAG", "x c", True, False, self.d))
478 self.assertFalse(bb.utils.contains_any("SOMEFLAG", "x", True, False, self.d))
479 self.assertFalse(bb.utils.contains_any("SOMEFLAG", "x y z", True, False, self.d))
483 def test_taskhashes(self): argument
501 self.assertNotEqual(orighash, nexthash)
508 self.assertEqual(orighash, nexthash)
513 self.assertNotEqual(orighash, nexthash)
522 self.assertNotEqual(orighash, nexthash)
528 self.assertEqual(orighash, nexthash)
532 def test_serialize(self): argument
548 self.assertEqual(d, newd)
549 self.assertEqual(newd.getVar('HELLO'), 'world')
550 self.assertEqual(newd.getVarFlag('HELLO', 'other'), 'planet')