diff options
| author | Yoann Congal <yoann.congal@smile.fr> | 2025-01-11 15:13:50 +0100 |
|---|---|---|
| committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2025-01-14 09:51:45 +0000 |
| commit | a68fb2be37b88a0131236cbe5d20433cf12209a4 (patch) | |
| tree | 16949082f0606bc7ea4a3ac6bb9880aa23609cbf | |
| parent | 33271912bf25a51d86cf07f5d3e2042c04d17245 (diff) | |
| download | poky-a68fb2be37b88a0131236cbe5d20433cf12209a4.tar.gz | |
bitbake: tests/parse: add test for ?= and ??= operators for variable flags
Run the test with:
$ bitbake-selftest bb.tests.parse.ParseTest.test_parse_defaulttest
.
----------------------------------------------------------------------
Ran 1 test in 0.001s
OK
This is a test case for [YOCTO #15685]
(Bitbake rev: d12c80125d810df54379cc4f019a95ab9064ad2c)
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
Reviewed-by: Ghislain Mangé <ghislain.mange@smile.fr>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
| -rw-r--r-- | bitbake/lib/bb/tests/parse.py | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/bitbake/lib/bb/tests/parse.py b/bitbake/lib/bb/tests/parse.py index 56eb66be9f..935c85ac7c 100644 --- a/bitbake/lib/bb/tests/parse.py +++ b/bitbake/lib/bb/tests/parse.py | |||
| @@ -75,6 +75,59 @@ unset B[flag] | |||
| 75 | self.assertEqual(d.getVarFlag("A","flag"), None) | 75 | self.assertEqual(d.getVarFlag("A","flag"), None) |
| 76 | self.assertEqual(d.getVar("B"), "2") | 76 | self.assertEqual(d.getVar("B"), "2") |
| 77 | 77 | ||
| 78 | defaulttest = """ | ||
| 79 | A = "set value" | ||
| 80 | A ??= "default value" | ||
| 81 | |||
| 82 | A[flag_set_vs_question] = "set flag" | ||
| 83 | A[flag_set_vs_question] ?= "question flag" | ||
| 84 | |||
| 85 | A[flag_set_vs_default] = "set flag" | ||
| 86 | A[flag_set_vs_default] ??= "default flag" | ||
| 87 | |||
| 88 | A[flag_question] ?= "question flag" | ||
| 89 | |||
| 90 | A[flag_default] ??= "default flag" | ||
| 91 | |||
| 92 | A[flag_question_vs_default] ?= "question flag" | ||
| 93 | A[flag_question_vs_default] ??= "default flag" | ||
| 94 | |||
| 95 | A[flag_default_vs_question] ??= "default flag" | ||
| 96 | A[flag_default_vs_question] ?= "question flag" | ||
| 97 | |||
| 98 | A[flag_set_question_default] = "set flag" | ||
| 99 | A[flag_set_question_default] ?= "question flag" | ||
| 100 | A[flag_set_question_default] ??= "default flag" | ||
| 101 | |||
| 102 | A[flag_set_default_question] = "set flag" | ||
| 103 | A[flag_set_default_question] ??= "default flag" | ||
| 104 | A[flag_set_default_question] ?= "question flag" | ||
| 105 | |||
| 106 | A[flag_set_twice] = "set flag first" | ||
| 107 | A[flag_set_twice] = "set flag second" | ||
| 108 | |||
| 109 | A[flag_question_twice] ?= "question flag first" | ||
| 110 | A[flag_question_twice] ?= "question flag second" | ||
| 111 | |||
| 112 | A[flag_default_twice] ??= "default flag first" | ||
| 113 | A[flag_default_twice] ??= "default flag second" | ||
| 114 | """ | ||
| 115 | def test_parse_defaulttest(self): | ||
| 116 | f = self.parsehelper(self.defaulttest) | ||
| 117 | d = bb.parse.handle(f.name, self.d)[''] | ||
| 118 | self.assertEqual(d.getVar("A"), "set value") | ||
| 119 | self.assertEqual(d.getVarFlag("A","flag_set_vs_question"), "set flag") | ||
| 120 | self.assertEqual(d.getVarFlag("A","flag_set_vs_default"), "set flag") | ||
| 121 | self.assertEqual(d.getVarFlag("A","flag_question"), "question flag") | ||
| 122 | self.assertEqual(d.getVarFlag("A","flag_default"), "default flag") | ||
| 123 | self.assertEqual(d.getVarFlag("A","flag_question_vs_default"), "question flag") | ||
| 124 | self.assertEqual(d.getVarFlag("A","flag_default_vs_question"), "question flag") | ||
| 125 | self.assertEqual(d.getVarFlag("A","flag_set_question_default"), "set flag") | ||
| 126 | self.assertEqual(d.getVarFlag("A","flag_set_default_question"), "set flag") | ||
| 127 | self.assertEqual(d.getVarFlag("A","flag_set_twice"), "set flag second") | ||
| 128 | self.assertEqual(d.getVarFlag("A","flag_question_twice"), "question flag first") | ||
| 129 | self.assertEqual(d.getVarFlag("A","flag_default_twice"), "default flag second") | ||
| 130 | |||
| 78 | exporttest = """ | 131 | exporttest = """ |
| 79 | A = "a" | 132 | A = "a" |
| 80 | export B = "b" | 133 | export B = "b" |
