diff options
Diffstat (limited to 'scripts/yocto-compat-layer.py')
-rwxr-xr-x | scripts/yocto-compat-layer.py | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/scripts/yocto-compat-layer.py b/scripts/yocto-compat-layer.py index 30c55a918f..a16974f98f 100755 --- a/scripts/yocto-compat-layer.py +++ b/scripts/yocto-compat-layer.py | |||
@@ -30,12 +30,12 @@ CASES_PATHS = [os.path.join(os.path.abspath(os.path.dirname(__file__)), | |||
30 | 'lib', 'compatlayer', 'cases')] | 30 | 'lib', 'compatlayer', 'cases')] |
31 | logger = scriptutils.logger_create(PROGNAME, stream=sys.stdout) | 31 | logger = scriptutils.logger_create(PROGNAME, stream=sys.stdout) |
32 | 32 | ||
33 | def test_layer_compatibility(td, layer): | 33 | def test_layer_compatibility(td, layer, test_software_layer_signatures): |
34 | from compatlayer.context import CompatLayerTestContext | 34 | from compatlayer.context import CompatLayerTestContext |
35 | logger.info("Starting to analyze: %s" % layer['name']) | 35 | logger.info("Starting to analyze: %s" % layer['name']) |
36 | logger.info("----------------------------------------------------------------------") | 36 | logger.info("----------------------------------------------------------------------") |
37 | 37 | ||
38 | tc = CompatLayerTestContext(td=td, logger=logger, layer=layer) | 38 | tc = CompatLayerTestContext(td=td, logger=logger, layer=layer, test_software_layer_signatures=test_software_layer_signatures) |
39 | tc.loadTests(CASES_PATHS) | 39 | tc.loadTests(CASES_PATHS) |
40 | return tc.runTests() | 40 | return tc.runTests() |
41 | 41 | ||
@@ -53,6 +53,12 @@ def main(): | |||
53 | help='List of MACHINEs to be used during testing', action='store') | 53 | help='List of MACHINEs to be used during testing', action='store') |
54 | parser.add_argument('--additional-layers', nargs="+", | 54 | parser.add_argument('--additional-layers', nargs="+", |
55 | help='List of additional layers to add during testing', action='store') | 55 | help='List of additional layers to add during testing', action='store') |
56 | group = parser.add_mutually_exclusive_group() | ||
57 | group.add_argument('--with-software-layer-signature-check', action='store_true', dest='test_software_layer_signatures', | ||
58 | default=True, | ||
59 | help='check that software layers do not change signatures (on by default)') | ||
60 | group.add_argument('--without-software-layer-signature-check', action='store_false', dest='test_software_layer_signatures', | ||
61 | help='disable signature checking for software layers') | ||
56 | parser.add_argument('-n', '--no-auto', help='Disable auto layer discovery', | 62 | parser.add_argument('-n', '--no-auto', help='Disable auto layer discovery', |
57 | action='store_true') | 63 | action='store_true') |
58 | parser.add_argument('-d', '--debug', help='Enable debug output', | 64 | parser.add_argument('-d', '--debug', help='Enable debug output', |
@@ -173,7 +179,7 @@ def main(): | |||
173 | layers_tested = layers_tested + 1 | 179 | layers_tested = layers_tested + 1 |
174 | continue | 180 | continue |
175 | 181 | ||
176 | result = test_layer_compatibility(td, layer) | 182 | result = test_layer_compatibility(td, layer, args.test_software_layer_signatures) |
177 | results[layer['name']] = result | 183 | results[layer['name']] = result |
178 | results_status[layer['name']] = 'PASS' if results[layer['name']].wasSuccessful() else 'FAIL' | 184 | results_status[layer['name']] = 'PASS' if results[layer['name']].wasSuccessful() else 'FAIL' |
179 | layers_tested = layers_tested + 1 | 185 | layers_tested = layers_tested + 1 |