summaryrefslogtreecommitdiffstats
path: root/native_client_sdk
diff options
context:
space:
mode:
authorsbc@chromium.org <sbc@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-05-17 16:37:32 +0000
committersbc@chromium.org <sbc@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-05-17 16:37:32 +0000
commit72c81b1c92d774605b5f69c82536a670cddb3e94 (patch)
tree3ce7c17092169ea2265e3d8817b81ffe8e1017b3 /native_client_sdk
parent61cd2b9630f8eb2fde57f5c209bbbd4637f794f6 (diff)
downloadchromium_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.list1
-rwxr-xr-xnative_client_sdk/src/build_tools/tests/sdktools_config_test.py53
-rwxr-xr-xnative_client_sdk/src/test_all.py6
-rwxr-xr-xnative_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:]))
-