Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(106)

Unified Diff: platform_tools/android/tests/generate_user_config_tests.py

Issue 198063002: Updates to Android.mk generation. (Closed) Base URL: https://skia.googlesource.com/skia.git@android_mk
Patch Set: Add a comment explaining the motivation of OrderedSet. Created 6 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: platform_tools/android/tests/generate_user_config_tests.py
diff --git a/platform_tools/android/tests/generate_user_config_tests.py b/platform_tools/android/tests/generate_user_config_tests.py
new file mode 100644
index 0000000000000000000000000000000000000000..50f80db66c9ead47cffd921bcdb7bf9c517bfcc5
--- /dev/null
+++ b/platform_tools/android/tests/generate_user_config_tests.py
@@ -0,0 +1,89 @@
+#!/usr/bin/python
+
+# Copyright 2014 Google Inc.
+#
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+"""
+Test generate_user_config.py.
+"""
+
+import argparse
+import os
+import shutil
+import sys
+import tempfile
+import test_variables
+import unittest
+import utils
+
+sys.path.append(test_variables.GYP_GEN_DIR)
+
+from generate_user_config import generate_user_config as gen_config
+
+# Name of SkUserConfig file.
+USER_CONFIG_NAME = 'SkUserConfig.h'
+# Path to unchanging Dummy SkUserConfig file.
+FULL_DUMMY_PATH = os.path.join(os.path.dirname(__file__), 'inputs',
+ USER_CONFIG_NAME)
+REBASELINE_MSG = ('If you\'ve modified generate_user_config.py, run '
+ '"generate_user_config_tests.py --rebaseline" to rebaseline')
+
+def generate_dummy_user_config(original_sk_user_config, target_dir):
+ # Add an arbitrary set of defines
+ defines = [ 'SK_BUILD_FOR_ANDROID',
+ 'SK_BUILD_FOR_ANDROID_FRAMEWORK',
+ 'SK_SCALAR_IS_FLOAT',
+ 'foo',
+ 'bar' ]
+ gen_config(original_sk_user_config=original_sk_user_config,
+ target_dir=target_dir, ordered_set=defines)
+
+
+class GenUserConfigTest(unittest.TestCase):
+
+ def test_missing_sk_user_config(self):
+ tmp = tempfile.mkdtemp()
+ original = os.path.join(tmp, 'filename')
+ assert not os.path.exists(original)
+
+ with self.assertRaises(AssertionError):
+ ordered_set = [ 'define' ]
+ gen_config(original_sk_user_config=original, target_dir=tmp,
+ ordered_set=ordered_set)
+ shutil.rmtree(tmp)
+
+ def test_gen_config(self):
+ tmp = tempfile.mkdtemp()
+ generate_dummy_user_config(FULL_DUMMY_PATH, tmp)
+ actual_name = os.path.join(tmp, USER_CONFIG_NAME)
+ utils.compare_to_expectation(actual_name=actual_name,
+ expectation_name=USER_CONFIG_NAME,
+ assert_true=self.assertTrue, msg=REBASELINE_MSG)
+ shutil.rmtree(tmp)
+
+
+def main():
+ loader = unittest.TestLoader()
+ suite = loader.loadTestsFromTestCase(GenUserConfigTest)
+ results = unittest.TextTestRunner(verbosity=2).run(suite)
+ print repr(results)
+ if not results.wasSuccessful():
+ raise Exception('failed one or more unittests')
+
+
+def rebaseline():
+ generate_dummy_user_config(FULL_DUMMY_PATH, utils.EXPECTATIONS_DIR)
+
+if __name__ == "__main__":
+ parser = argparse.ArgumentParser()
+ parser.add_argument('-r', '--rebaseline', help='Rebaseline expectations.',
+ action='store_true')
+ args = parser.parse_args()
+
+ if args.rebaseline:
+ rebaseline()
+ else:
+ main()
+

Powered by Google App Engine
This is Rietveld 408576698