diff --git a/tools/test.py b/tools/test.py index ec8297812fccc0..efb7c0e5b8e475 100755 --- a/tools/test.py +++ b/tools/test.py @@ -1410,6 +1410,9 @@ def BuildOptions(): result.add_option('--abort-on-timeout', help='Send SIGABRT instead of SIGTERM to kill processes that time out', default=False, action="store_true", dest="abort_on_timeout") + result.add_option("--type", + help="Type of build (simple, fips)", + default=None) return result @@ -1559,6 +1562,21 @@ def ArgsToTestPaths(test_root, args, suites): return paths +def get_env_type(vm, options_type): + if options_type is not None: + env_type = options_type + else: + if "fips" in subprocess.check_output([vm, "-p", + "process.versions.openssl"]): + env_type = "fips" + # NOTE(nikhil): "simple" is the default value for var 'env_type' and should + # be set last if no if/elif matches. If you plan to add more values, use + # 'elif' above. + else: + env_type = "simple" + return env_type + + def Main(): parser = BuildOptions() (options, args) = parser.parse_args() @@ -1641,6 +1659,7 @@ def Main(): 'mode': mode, 'system': utils.GuessOS(), 'arch': vmArch, + 'type': get_env_type(vm, options.type), } test_list = root.ListTests([], path, context, arch, mode) unclassified_tests += test_list