| Index: tools/isolate/run_test_from_archive_smoke_test.py
|
| diff --git a/tools/isolate/run_test_from_archive_smoke_test.py b/tools/isolate/run_test_from_archive_smoke_test.py
|
| index 4e60e46d1110abaab807aaada1b12b8c627b731b..1a09a3985ded7f4e02e089934be1f50aefb4a3c7 100755
|
| --- a/tools/isolate/run_test_from_archive_smoke_test.py
|
| +++ b/tools/isolate/run_test_from_archive_smoke_test.py
|
| @@ -77,6 +77,21 @@ class RunTestFromArchive(unittest.TestCase):
|
| def _result_tree(self):
|
| return list_files_tree(self.tempdir)
|
|
|
| + @staticmethod
|
| + def _run(args):
|
| + cmd = [sys.executable, os.path.join(ROOT_DIR, 'run_test_from_archive.py')]
|
| + cmd.extend(args)
|
| + if VERBOSE:
|
| + cmd.extend(['-v'] * 2)
|
| + pipe = None
|
| + else:
|
| + pipe = subprocess.PIPE
|
| + logging.debug(' '.join(cmd))
|
| + proc = subprocess.Popen(
|
| + cmd, stdout=pipe, stderr=pipe, universal_newlines=True)
|
| + out, err = proc.communicate()
|
| + return out, err, proc.returncode
|
| +
|
| def _store_result(self, result_data):
|
| """Stores a .results file in the hash table."""
|
| result_text = json.dumps(result_data, sort_keys=True, indent=2)
|
| @@ -100,21 +115,18 @@ class RunTestFromArchive(unittest.TestCase):
|
| expected = [
|
| 'state.json',
|
| self._store('gtest_fake.py'),
|
| + calc_sha1(manifest),
|
| ]
|
| - cmd = [
|
| - sys.executable, os.path.join(ROOT_DIR, 'run_test_from_archive.py'),
|
| + args = [
|
| '--manifest', manifest,
|
| '--cache', self.cache,
|
| '--remote', self.table,
|
| ]
|
| - proc = subprocess.Popen(
|
| - cmd,
|
| - stdout=subprocess.PIPE, stderr=subprocess.PIPE,
|
| - universal_newlines=True)
|
| - out, err = proc.communicate()
|
| - self.assertEquals('', err)
|
| - self.assertEquals(1070, len(out), out)
|
| - self.assertEquals(6, proc.returncode)
|
| + out, err, returncode = self._run(args)
|
| + if not VERBOSE:
|
| + self.assertEquals('', err)
|
| + self.assertEquals(1070, len(out), out)
|
| + self.assertEquals(6, returncode)
|
| actual = list_files_tree(self.cache)
|
| self.assertEquals(sorted(expected), actual)
|
|
|
| @@ -124,21 +136,18 @@ class RunTestFromArchive(unittest.TestCase):
|
| expected = [
|
| 'state.json',
|
| self._store('gtest_fake.py'),
|
| + result_sha1,
|
| ]
|
| - cmd = [
|
| - sys.executable, os.path.join(ROOT_DIR, 'run_test_from_archive.py'),
|
| + args = [
|
| '--hash', result_sha1,
|
| '--cache', self.cache,
|
| '--remote', self.table,
|
| ]
|
| - proc = subprocess.Popen(
|
| - cmd,
|
| - stdout=subprocess.PIPE, stderr=subprocess.PIPE,
|
| - universal_newlines=True)
|
| - out, err = proc.communicate()
|
| - self.assertEquals('', err)
|
| - self.assertEquals(1070, len(out), out)
|
| - self.assertEquals(6, proc.returncode)
|
| + out, err, returncode = self._run(args)
|
| + if not VERBOSE:
|
| + self.assertEquals('', err)
|
| + self.assertEquals(1070, len(out), out)
|
| + self.assertEquals(6, returncode)
|
| actual = list_files_tree(self.cache)
|
| self.assertEquals(sorted(expected), actual)
|
|
|
| @@ -146,21 +155,50 @@ class RunTestFromArchive(unittest.TestCase):
|
| result_sha1 = self._store_result({})
|
| expected = [
|
| 'state.json',
|
| + result_sha1,
|
| ]
|
| - cmd = [
|
| - sys.executable, os.path.join(ROOT_DIR, 'run_test_from_archive.py'),
|
| + args = [
|
| '--hash', result_sha1,
|
| '--cache', self.cache,
|
| '--remote', self.table,
|
| ]
|
| - proc = subprocess.Popen(
|
| - cmd,
|
| - stdout=subprocess.PIPE, stderr=subprocess.PIPE,
|
| - universal_newlines=True)
|
| - out, err = proc.communicate()
|
| - self.assertEquals('', out)
|
| - self.assertEquals('No file to map\n', err)
|
| - self.assertEquals(1, proc.returncode)
|
| + out, err, returncode = self._run(args)
|
| + if not VERBOSE:
|
| + self.assertEquals('', out)
|
| + self.assertEquals('No command to run\n', err)
|
| + self.assertEquals(1, returncode)
|
| + actual = list_files_tree(self.cache)
|
| + self.assertEquals(sorted(expected), actual)
|
| +
|
| + def test_includes(self):
|
| + # Loads a manifest that includes another one.
|
| +
|
| + # References manifest1.results and gtest_fake.results. Maps file3.txt as
|
| + # file2.txt.
|
| + result_sha1 = self._store('check_files.results')
|
| + expected = [
|
| + 'state.json',
|
| + self._store('check_files.py'),
|
| + self._store('gtest_fake.py'),
|
| + self._store('gtest_fake.results'),
|
| + self._store('file1.txt'),
|
| + self._store('file3.txt'),
|
| + # Maps file1.txt.
|
| + self._store('manifest1.results'),
|
| + # References manifest1.results. Maps file2.txt but it is overriden.
|
| + self._store('manifest2.results'),
|
| + result_sha1,
|
| + ]
|
| + args = [
|
| + '--hash', result_sha1,
|
| + '--cache', self.cache,
|
| + '--remote', self.table,
|
| + ]
|
| + out, err, returncode = self._run(args)
|
| + if not VERBOSE:
|
| + self.assertEquals('', err)
|
| + self.assertEquals('Success\n', out)
|
| + self.assertEquals(0, returncode)
|
| actual = list_files_tree(self.cache)
|
| self.assertEquals(sorted(expected), actual)
|
|
|
|
|