if options.tests is None or options.tests is "TrebleCompatMapping": if not options.basepolicy: sys.exit("Must specify the current platform-only policy file\n" + parser.usage) if not options.mapping: sys.exit("Must specify a compatibility mapping file\n" + parser.usage) if not options.oldpolicy: sys.exit("Must specify the previous monolithic policy file\n" + parser.usage) if not options.base_pub_policy: sys.exit("Must specify the current platform-only public policy " + ".cil file\n" + parser.usage) basepol = policy.Policy(options.basepolicy, None, options.libpath) oldpol = policy.Policy(options.oldpolicy, None, options.libpath) mapping = mini_parser.MiniCilParser(options.mapping) pubpol = mini_parser.MiniCilParser(options.base_pub_policy) compatSetup(basepol, oldpol, mapping, pubpol.types) if options.faketreble: FakeTreble = True pol = policy.Policy(options.policy, options.file_contexts, options.libpath) setup(pol) if DEBUG: PrintScontexts() results = "" # If an individual test is not specified, run all tests. if options.tests is None:
if not os.path.exists(options.policy): sys.exit("Error: policy file " + options.policy + " does not exist\n" + parser.usage) if not options.file_contexts: sys.exit("Error: Must specify file_contexts file(s)\n" + parser.usage) for f in options.file_contexts: if not os.path.exists(f): sys.exit("Error: File_contexts file " + f + " does not exist\n" + parser.usage) pol = policy.Policy(options.policy, options.file_contexts, options.libpath) setup(pol) basepol = policy.Policy(options.basepolicy, None, options.libpath) oldpol = policy.Policy(options.oldpolicy, None, options.libpath) mapping = mini_parser.MiniCilParser(options.mapping) compatSetup(basepol, oldpol, mapping) if DEBUG: PrintScontexts() results = "" # If an individual test is not specified, run all tests. if options.tests is None: for t in Tests.values(): results += t() else: for tn in options.tests: t = Tests.get(tn) if t: results += t()