Merge changes Ifc661bd2,Iba4ed7be
* changes:
Run device tests as the shell user.
Remove dead code.
diff --git a/run_tests.py b/run_tests.py
index f510c41..ebbce05 100755
--- a/run_tests.py
+++ b/run_tests.py
@@ -142,6 +142,14 @@
return extract_build_cmds(commands, os.path.basename(target))
+def setup_test_directory():
+ """Prepares a device test directory for use by the shell user."""
+ device_dir = '/data/local/tmp/libcxx'
+ check_call(['adb', 'shell', 'rm', '-rf', device_dir])
+ check_call(['adb', 'shell', 'mkdir', '-p', device_dir])
+ check_call(['adb', 'shell', 'chown', '-R', 'shell:shell', device_dir])
+
+
def main():
"""Program entry point."""
logging.basicConfig(level=logging.INFO)
@@ -176,6 +184,9 @@
have_filter_args = True
break # No need to keep scanning.
+ if not args.host:
+ setup_test_directory()
+
lit_args = [
'-sv', android_mode_arg, cxx_under_test_arg, cxx_template_arg,
link_template_arg, libcxx_site_cfg_arg, libcxxabi_site_cfg_arg
diff --git a/utils/libcxx/android/executors.py b/utils/libcxx/android/executors.py
index 7bf3413..d3c5d68 100644
--- a/utils/libcxx/android/executors.py
+++ b/utils/libcxx/android/executors.py
@@ -16,7 +16,7 @@
def _remote_temp(self, is_dir):
dir_arg = '-d' if is_dir else ''
- cmd = 'mktemp -q {} /data/local/tmp/libcxx.XXXXXXXXXX'.format(dir_arg)
+ cmd = 'mktemp -q {} /data/local/tmp/libcxx/temp.XXXXXX'.format(dir_arg)
_, temp_path, err, exitCode = self._execute_command_remote([cmd])
temp_path = temp_path.strip()
if exitCode != 0:
@@ -32,7 +32,7 @@
adb_cmd.extend(['-s', self.serial])
delimiter = 'x'
- probe_cmd = ' '.join(cmd) + '; echo {}$?'.format(delimiter)
+ probe_cmd = 'su shell {}; echo {}$?'.format(' '.join(cmd), delimiter)
env_cmd = []
if env is not None:
diff --git a/utils/libcxx/android/test/format.py b/utils/libcxx/android/test/format.py
index 228272c..e5252a8 100644
--- a/utils/libcxx/android/test/format.py
+++ b/utils/libcxx/android/test/format.py
@@ -52,32 +52,6 @@
def _wd_path(self, test_name, file_name):
return os.path.join(self._working_directory(test_name), file_name)
- def _build(self, exec_path, source_path, compile_only=False,
- use_verify=False):
- # pylint: disable=protected-access
- cmd, report, rc = libcxx.test.format.LibcxxTestFormat._build(
- self, exec_path, source_path, compile_only, use_verify)
- if rc != 0:
- return cmd, report, rc
-
- try:
- exec_file = os.path.basename(exec_path)
-
- adb.mkdir(self._working_directory(exec_file))
- adb.push(exec_path, self._wd_path(exec_file, exec_file))
-
- # Push any .dat files in the same directory as the source to the
- # working directory.
- src_dir = os.path.dirname(source_path)
- data_files = [f for f in os.listdir(src_dir) if f.endswith('.dat')]
- for data_file in data_files:
- df_path = os.path.join(src_dir, data_file)
- df_dev_path = self._wd_path(exec_file, data_file)
- adb.push(df_path, df_dev_path)
- return cmd, report, rc
- except adb.AdbError as ex:
- return self._make_report(ex.cmd, ex.out, ex.err, ex.exit_code)
-
def _clean(self, exec_path):
exec_file = os.path.basename(exec_path)
cmd = ['adb', 'shell', 'rm', '-rf', self._working_directory(exec_file)]