Prepare treble_sepolicy_tests for inclusion in CTS

Unconditionally compile treble_sepolicy_tests. Make compat
files conditional on running the compat tests.

Bug: 37008075
Test: build
Change-Id: Ib3aee6e93d285ca141803a13958fbcb38b891b68
diff --git a/Android.mk b/Android.mk
index f2efb1d..e0c9919 100644
--- a/Android.mk
+++ b/Android.mk
@@ -204,12 +204,6 @@
     secilc \
     plat_sepolicy_vers.txt \
 
-ifneq ($(with_asan),true)
-LOCAL_REQUIRED_MODULES += \
-    treble_sepolicy_tests \
-
-endif
-
 # Include precompiled policy, unless told otherwise
 ifneq ($(PRODUCT_PRECOMPILED_SEPOLICY),false)
 LOCAL_REQUIRED_MODULES += precompiled_sepolicy precompiled_sepolicy.plat_and_mapping.sha256
@@ -247,6 +241,7 @@
 ifneq ($(with_asan),true)
 LOCAL_REQUIRED_MODULES += \
     sepolicy_tests \
+    treble_sepolicy_tests \
 
 endif
 
diff --git a/tests/treble_sepolicy_tests.py b/tests/treble_sepolicy_tests.py
index ea03731..9f2526e 100644
--- a/tests/treble_sepolicy_tests.py
+++ b/tests/treble_sepolicy_tests.py
@@ -332,18 +332,11 @@
     if not os.path.exists(options.libpath):
         sys.exit("Error: library-path " + options.libpath + " does not exist\n"
                 + parser.usage)
-    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.policy:
         sys.exit("Must specify current monolithic policy file\n" + parser.usage)
     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:
@@ -351,15 +344,25 @@
             sys.exit("Error: File_contexts file " + f + " does not exist\n" +
                     parser.usage)
 
+    # Mapping files are only necessary for the TrebleCompatMapping test
+    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)
+        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 options.faketreble:
         FakeTreble = True
 
     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()