diff options
author | sbc@chromium.org <sbc@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-05-17 16:37:32 +0000 |
---|---|---|
committer | sbc@chromium.org <sbc@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-05-17 16:37:32 +0000 |
commit | 72c81b1c92d774605b5f69c82536a670cddb3e94 (patch) | |
tree | 3ce7c17092169ea2265e3d8817b81ffe8e1017b3 /native_client_sdk | |
parent | 61cd2b9630f8eb2fde57f5c209bbbd4637f794f6 (diff) | |
download | chromium_src-72c81b1c92d774605b5f69c82536a670cddb3e94.zip chromium_src-72c81b1c92d774605b5f69c82536a670cddb3e94.tar.gz chromium_src-72c81b1c92d774605b5f69c82536a670cddb3e94.tar.bz2 |
[NaCl SDK] Add unittests for sdk_tools/config.py.
Also add quote_test.py to list test_all.py.
BUG=None
R=binji@chromium.org
Review URL: https://codereview.chromium.org/15097006
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@200825 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'native_client_sdk')
-rw-r--r-- | native_client_sdk/src/build_tools/sdk_files.list | 1 | ||||
-rwxr-xr-x | native_client_sdk/src/build_tools/tests/sdktools_config_test.py | 53 | ||||
-rwxr-xr-x | native_client_sdk/src/test_all.py | 6 | ||||
-rwxr-xr-x | native_client_sdk/src/tools/tests/quote_test.py (renamed from native_client_sdk/src/tools/quote_test.py) | 10 |
4 files changed, 65 insertions, 5 deletions
diff --git a/native_client_sdk/src/build_tools/sdk_files.list b/native_client_sdk/src/build_tools/sdk_files.list index 6a596db..fb96bcc 100644 --- a/native_client_sdk/src/build_tools/sdk_files.list +++ b/native_client_sdk/src/build_tools/sdk_files.list @@ -850,7 +850,6 @@ tools/nacl_llvm.mk tools/oshelpers.py tools/oshelpers.pyc tools/quote.py -tools/quote_test.py tools/run.py [linux,mac]tools/sel_ldr_x86_32 [linux]tools/sel_ldr_x86_64 diff --git a/native_client_sdk/src/build_tools/tests/sdktools_config_test.py b/native_client_sdk/src/build_tools/tests/sdktools_config_test.py new file mode 100755 index 0000000..29242e6 --- /dev/null +++ b/native_client_sdk/src/build_tools/tests/sdktools_config_test.py @@ -0,0 +1,53 @@ +#!/usr/bin/env python +# Copyright (c) 2013 The Chromium Authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. +import sys +import os +import unittest + +SCRIPT_DIR = os.path.dirname(os.path.abspath(__file__)) +BUILD_TOOLS_DIR = os.path.dirname(SCRIPT_DIR) + +sys.path.append(BUILD_TOOLS_DIR) + +import sdk_tools.config as config + +class TestSdkToolsConfig(unittest.TestCase): + def testInvalidSyntax(self): + invalid_json = "# oops\n" + cfg = config.Config() + self.assertRaises(config.Error, lambda: cfg.LoadJson(invalid_json)) + + def testEmptyConfig(self): + """Test that empty config contains just empty sources list.""" + expected = '{\n "sources": []\n}' + cfg = config.Config() + json_output = cfg.ToJson() + self.assertEqual(json_output, expected) + + def testIntegerSetting(self): + json_input = '{ "setting": 3 }' + cfg = config.Config() + cfg.LoadJson(json_input) + self.assertEqual(cfg.setting, 3) + + def testReadWrite(self): + json_input1 = '{\n "sources": [], \n "setting": 3\n}' + json_input2 = '{\n "setting": 3\n}' + for json_input in (json_input1, json_input2): + cfg = config.Config() + cfg.LoadJson(json_input) + json_output = cfg.ToJson() + self.assertEqual(json_output, json_input1) + + def testAddSource(self): + cfg = config.Config() + cfg.AddSource('http://localhost/foo') + json_output = cfg.ToJson() + expected = '{\n "sources": [\n "http://localhost/foo"\n ]\n}' + self.assertEqual(json_output, expected) + + +if __name__ == '__main__': + unittest.main() diff --git a/native_client_sdk/src/test_all.py b/native_client_sdk/src/test_all.py index 6a8672b..3fde5db 100755 --- a/native_client_sdk/src/test_all.py +++ b/native_client_sdk/src/test_all.py @@ -13,16 +13,18 @@ sys.path.append(os.path.join(SCRIPT_DIR, 'tools', 'tests')) sys.path.append(os.path.join(SCRIPT_DIR, 'build_tools', 'tests')) TEST_MODULES = [ + 'getos_test', 'create_nmf_test', 'easy_template_test', 'getos_test', 'httpd_test', 'oshelpers_test', 'parse_dsc_test', - 'sdktools_commands_test', 'sdktools_test', + 'sdktools_commands_test', + 'sdktools_config_test', 'update_nacl_manifest_test', - 'verify_filelist_test' + 'quote_test', ] def main(): diff --git a/native_client_sdk/src/tools/quote_test.py b/native_client_sdk/src/tools/tests/quote_test.py index 1721628..f5fb866 100755 --- a/native_client_sdk/src/tools/quote_test.py +++ b/native_client_sdk/src/tools/tests/quote_test.py @@ -4,10 +4,17 @@ # found in the LICENSE file. import optparse -import quote +import os import sys import unittest +SCRIPT_DIR = os.path.dirname(os.path.abspath(__file__)) +PARENT_DIR = os.path.dirname(SCRIPT_DIR) + +sys.path.append(PARENT_DIR) + +import quote + verbose = False @@ -136,4 +143,3 @@ def main(argv): if __name__ == '__main__': sys.exit(main(sys.argv[1:])) - |