| Index: tools/isolate/isolate_test.py
|
| diff --git a/tools/isolate/isolate_test.py b/tools/isolate/isolate_test.py
|
| index e9cf486b1bd23cadeca56d31a6076ca543a22b8c..2c50673aed23223332f32a10f2324746a3db79ca 100755
|
| --- a/tools/isolate/isolate_test.py
|
| +++ b/tools/isolate/isolate_test.py
|
| @@ -3,11 +3,9 @@
|
| # Use of this source code is governed by a BSD-style license that can be
|
| # found in the LICENSE file.
|
|
|
| -import json
|
| import logging
|
| import os
|
| import sys
|
| -import tempfile
|
| import unittest
|
|
|
| import isolate
|
| @@ -20,39 +18,7 @@ class Isolate(unittest.TestCase):
|
| # Everything should work even from another directory.
|
| os.chdir(os.path.dirname(ROOT_DIR))
|
|
|
| - def _run_process_options(self, values, variables, more_expected_data):
|
| - """Runs isolate.process_options() and verify the results."""
|
| - fd, temp_path = tempfile.mkstemp()
|
| - try:
|
| - # Reuse the file descriptor. On windows, it needs to be closed before
|
| - # process_options() opens it, because mkstemp() opens it without file
|
| - # sharing enabled.
|
| - with os.fdopen(fd, 'w') as f:
|
| - json.dump(values, f)
|
| - root_dir, infiles, data = isolate.process_options(
|
| - variables,
|
| - temp_path,
|
| - os.path.join('isolate', 'data', 'isolate', 'touch_root.isolate'),
|
| - self.fail)
|
| - finally:
|
| - os.remove(temp_path)
|
| -
|
| - expected_data = {
|
| - u'command': ['python', 'touch_root.py'],
|
| - u'read_only': None,
|
| - u'relative_cwd': 'data/isolate',
|
| - u'resultfile': temp_path,
|
| - u'resultdir': tempfile.gettempdir(),
|
| - u'variables': {},
|
| - }
|
| - expected_data.update(more_expected_data)
|
| - expected_files = sorted(
|
| - ('isolate.py', os.path.join('data', 'isolate', 'touch_root.py')))
|
| - self.assertEquals(ROOT_DIR, root_dir)
|
| - self.assertEquals(expected_files, sorted(infiles))
|
| - self.assertEquals(expected_data, data)
|
| -
|
| - def test_load_empty(self):
|
| + def test_load_isolate_empty(self):
|
| content = "{}"
|
| command, infiles, read_only = isolate.load_isolate(
|
| content, self.fail)
|
| @@ -60,35 +26,61 @@ class Isolate(unittest.TestCase):
|
| self.assertEquals([], infiles)
|
| self.assertEquals(None, read_only)
|
|
|
| - def test_process_options_empty(self):
|
| - # Passing nothing generates nothing unexpected.
|
| - self._run_process_options({}, {}, {})
|
| + def test_result_load_empty(self):
|
| + values = {
|
| + }
|
| + expected = {
|
| + 'command': [],
|
| + 'files': {},
|
| + 'read_only': None,
|
| + 'relative_cwd': None,
|
| + }
|
| + self.assertEquals(expected, isolate.Result.load(values).flatten())
|
|
|
| - def test_process_options(self):
|
| - # The previous unexpected variables are kept, the 'variables' dictionary is
|
| - # updated.
|
| + def test_result_load(self):
|
| values = {
|
| 'command': 'maybe',
|
| - 'foo': 'bar',
|
| + 'files': {'foo': 42},
|
| + 'read_only': 2,
|
| + 'relative_cwd': None,
|
| + }
|
| + expected = {
|
| + 'command': 'maybe',
|
| + 'files': {'foo': 42},
|
| 'read_only': 2,
|
| 'relative_cwd': None,
|
| - 'resultdir': '2',
|
| - 'resultfile': [],
|
| - 'variables': {
|
| - 'unexpected': 'seriously',
|
| - # This value is updated.
|
| - 'expected': 'stale',
|
| - },
|
| }
|
| + self.assertEquals(expected, isolate.Result.load(values).flatten())
|
| +
|
| + def test_result_load_unexpected(self):
|
| + values = {
|
| + 'foo': 'bar',
|
| + }
|
| + try:
|
| + isolate.Result.load(values)
|
| + self.fail()
|
| + except AssertionError:
|
| + pass
|
| +
|
| + def test_savedstate_load_empty(self):
|
| + values = {
|
| + }
|
| + expected = {
|
| + 'isolate_file': None,
|
| + 'variables': {},
|
| + }
|
| + self.assertEquals(expected, isolate.SavedState.load(values).flatten())
|
|
|
| - expected_data = {
|
| - u'foo': u'bar',
|
| - u'variables': {
|
| - 'expected': 'very',
|
| - u'unexpected': u'seriously',
|
| - },
|
| + def test_savedstate_load(self):
|
| + values = {
|
| + 'isolate_file': 'maybe',
|
| + 'variables': {'foo': 42},
|
| + }
|
| + expected = {
|
| + 'isolate_file': 'maybe',
|
| + 'variables': {'foo': 42},
|
| }
|
| - self._run_process_options(values, {'expected': 'very'}, expected_data)
|
| + self.assertEquals(expected, isolate.SavedState.load(values).flatten())
|
|
|
|
|
| if __name__ == '__main__':
|
|
|