From 8d614b3f8191ece8a8ce5002949a0fe54e009177 Mon Sep 17 00:00:00 2001
From: Jeff Vander Stoep <jeffv@google.com>
Date: Sat, 23 Sep 2017 15:11:25 -0700
Subject: [PATCH] Move python sepolicy tests to embedded launcher

This is a necessary for enforcing these tests in CTS.

Bug: 37008075
Test: build
Change-Id: I36b4ce71c26a0ba01cd0289fe363f0a9f7db1214
---
 Android.mk       | 4 ++--
 tests/Android.bp | 1 +
 tests/policy.py  | 8 +++++---
 3 files changed, 8 insertions(+), 5 deletions(-)

diff --git a/Android.mk b/Android.mk
index 196909737..4593876f5 100644
--- a/Android.mk
+++ b/Android.mk
@@ -1186,7 +1186,7 @@ $(sepolicy_tests): PRIVATE_SEPOLICY := $(built_sepolicy)
 $(sepolicy_tests): $(HOST_OUT_EXECUTABLES)/sepolicy_tests \
 $(built_plat_fc) $(built_nonplat_fc) $(built_sepolicy)
 	@mkdir -p $(dir $@)
-	$(hide) python $(HOST_OUT_EXECUTABLES)/sepolicy_tests -l $(HOST_OUT)/lib64 -f $(PRIVATE_PLAT_FC) -f $(PRIVATE_NONPLAT_FC) -p $(PRIVATE_SEPOLICY)
+	$(hide) $(HOST_OUT_EXECUTABLES)/sepolicy_tests -l $(HOST_OUT)/lib64 -f $(PRIVATE_PLAT_FC) -f $(PRIVATE_NONPLAT_FC) -p $(PRIVATE_SEPOLICY)
 	$(hide) touch $@
 
 ##################################
@@ -1302,7 +1302,7 @@ $(treble_sepolicy_tests): $(HOST_OUT_EXECUTABLES)/treble_sepolicy_tests \
 $(built_plat_fc) $(built_nonplat_fc) $(built_sepolicy) $(built_plat_sepolicy) \
 $(built_26.0_plat_sepolicy) $(26.0_compat) $(26.0_mapping.combined.cil)
 	@mkdir -p $(dir $@)
-	$(hide) python $(HOST_OUT_EXECUTABLES)/treble_sepolicy_tests -l \
+	$(hide) $(HOST_OUT_EXECUTABLES)/treble_sepolicy_tests -l \
 		$(HOST_OUT)/lib64 -f $(PRIVATE_PLAT_FC) -f $(PRIVATE_NONPLAT_FC) \
 		-b $(PRIVATE_PLAT_SEPOLICY) -m $(PRIVATE_COMBINED_MAPPING) \
 		-o $(PRIVATE_SEPOLICY_OLD) -p $(PRIVATE_SEPOLICY) \
diff --git a/tests/Android.bp b/tests/Android.bp
index 8fe89e5fe..8dc333045 100644
--- a/tests/Android.bp
+++ b/tests/Android.bp
@@ -19,6 +19,7 @@ python_defaults {
     name: "py2_only",
     version: {
         py2: {
+            embedded_launcher: true,
             enabled: true,
         },
         py3: {
diff --git a/tests/policy.py b/tests/policy.py
index a0ddb9096..4bc9c9118 100644
--- a/tests/policy.py
+++ b/tests/policy.py
@@ -2,6 +2,7 @@ from ctypes import *
 import re
 import os
 import sys
+import platform
 
 ###
 # Check whether the regex will match a file path starting with the provided
@@ -252,12 +253,13 @@ class Policy:
 
     # load ctypes-ified libsepol wrapper
     def __InitLibsepolwrap(self, LibPath):
-        if "linux" in sys.platform:
+        if "linux" in platform.system().lower():
             lib = CDLL(LibPath + "/libsepolwrap.so")
-        elif "darwin" in sys.platform:
+        elif "darwin" in platform.system().lower():
             lib = CDLL(LibPath + "/libsepolwrap.dylib")
         else:
-            sys.exit("only Linux and Mac currrently supported")
+            sys.exit("policy.py: " + platform.system() + " not supported." +
+                    " Only Linux and Darwin platforms are currently supported.")
 
         # int get_allow_rule(char *out, size_t len, void *policydbp, void *avtab_iterp);
         lib.get_allow_rule.restype = c_int
-- 
GitLab