You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucy.apache.org by ma...@apache.org on 2016/01/15 02:54:50 UTC

[2/8] lucy-clownfish git commit: Add "test" target for setup.py.

Add "test" target for setup.py.

Run tests with `python3 setup.py test`.


Project: http://git-wip-us.apache.org/repos/asf/lucy-clownfish/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucy-clownfish/commit/cd9eec3c
Tree: http://git-wip-us.apache.org/repos/asf/lucy-clownfish/tree/cd9eec3c
Diff: http://git-wip-us.apache.org/repos/asf/lucy-clownfish/diff/cd9eec3c

Branch: refs/heads/master
Commit: cd9eec3c29c15c93532547fe92ffe1f48b1864fc
Parents: 4ff8756
Author: Marvin Humphrey <ma...@rectangular.com>
Authored: Tue Dec 16 16:37:54 2014 -0800
Committer: Marvin Humphrey <ma...@rectangular.com>
Committed: Wed Jan 6 18:32:52 2016 -0800

----------------------------------------------------------------------
 compiler/python/setup.py         | 30 ++++++++++++++++++++++++++++++
 compiler/python/test/test_cfc.py | 12 ++++++++++++
 2 files changed, 42 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/lucy-clownfish/blob/cd9eec3c/compiler/python/setup.py
----------------------------------------------------------------------
diff --git a/compiler/python/setup.py b/compiler/python/setup.py
index 072c337..ccfba55 100644
--- a/compiler/python/setup.py
+++ b/compiler/python/setup.py
@@ -26,6 +26,8 @@ import re
 import shutil
 import subprocess
 import sysconfig
+import sys
+import unittest
 
 # Get a compiler object and and strings representing the compiler type and
 # CFLAGS.
@@ -132,6 +134,33 @@ class my_build(_build):
         self.run_command('libcfc')
         _build.run(self)
 
+class test(_Command):
+    description = "Run unit tests."
+    user_options = []
+    def initialize_options(self):
+        pass
+    def finalize_options(self):
+        pass
+    def ext_build_dir(self):
+        """Returns the build directory for compiled extensions"""
+        pattern = "lib.{platform}-{version[0]}.{version[1]}"
+        dirname = pattern.format(platform=sysconfig.get_platform(),
+                                 version=sys.version_info)
+        return os.path.join('build', dirname)
+
+    def run(self):
+        self.run_command('build')
+        orig_sys_path = sys.path[:]
+        sys.path.append(self.ext_build_dir())
+
+        loader = unittest.TestLoader()
+        tests = loader.discover("test")
+        test_runner = unittest.runner.TextTestRunner()
+        test_runner.run(tests)
+
+        # restore sys.path
+        sys.path = orig_sys_path
+
 cfc_extension = Extension('clownfish._cfc',
                           define_macros = [('CFCPYTHON', None)],
                           include_dirs = [
@@ -155,6 +184,7 @@ setup(name = 'clownfish-cfc',
           'clean': my_clean,
           'charmony': charmony,
           'libcfc': libcfc,
+          'test': test,
       },
       ext_modules = [cfc_extension])
 

http://git-wip-us.apache.org/repos/asf/lucy-clownfish/blob/cd9eec3c/compiler/python/test/test_cfc.py
----------------------------------------------------------------------
diff --git a/compiler/python/test/test_cfc.py b/compiler/python/test/test_cfc.py
new file mode 100644
index 0000000..c4091d8
--- /dev/null
+++ b/compiler/python/test/test_cfc.py
@@ -0,0 +1,12 @@
+import unittest
+import clownfish.cfc
+
+class MyTest(unittest.TestCase):
+
+    def testTrue(self):
+        self.assertTrue(True, "True should be true")
+
+
+if __name__ == '__main__':
+    unittest.main()
+