summaryrefslogtreecommitdiff
path: root/scipy/weave/tests/test_build_tools.py
diff options
context:
space:
mode:
Diffstat (limited to 'scipy/weave/tests/test_build_tools.py')
-rw-r--r--scipy/weave/tests/test_build_tools.py67
1 files changed, 67 insertions, 0 deletions
diff --git a/scipy/weave/tests/test_build_tools.py b/scipy/weave/tests/test_build_tools.py
new file mode 100644
index 000000000..9c43c5a4c
--- /dev/null
+++ b/scipy/weave/tests/test_build_tools.py
@@ -0,0 +1,67 @@
+# still needed
+# tests for MingW32Compiler
+# don't know how to test gcc_exists() and msvc_exists()...
+
+import unittest
+import os, sys, tempfile
+
+from scipy_test.testing import *
+set_package_path()
+from weave import build_tools
+restore_path()
+
+def is_writable(val):
+ return os.access(val,os.W_OK)
+
+class test_configure_build_dir(unittest.TestCase):
+ def check_default(self):
+ " default behavior is to return current directory "
+ d = build_tools.configure_build_dir()
+ if is_writable('.'):
+ assert(d == os.path.abspath('.'))
+ assert(is_writable(d))
+ def check_curdir(self):
+ " make sure it handles relative values. "
+ d = build_tools.configure_build_dir('.')
+ if is_writable('.'):
+ assert(d == os.path.abspath('.'))
+ assert(is_writable(d))
+ def check_pardir(self):
+ " make sure it handles relative values "
+ d = build_tools.configure_build_dir('..')
+ if is_writable('..'):
+ assert(d == os.path.abspath('..'))
+ assert(is_writable(d))
+ def check_bad_path(self):
+ " bad path should return same as default (and warn) "
+ d = build_tools.configure_build_dir('_bad_path_')
+ d2 = build_tools.configure_build_dir()
+ assert(d == d2)
+ assert(is_writable(d))
+
+class test_configure_temp_dir(test_configure_build_dir):
+ def check_default(self):
+ " default behavior returns tempdir"
+ # this'll fail if the temp directory isn't writable.
+ d = build_tools.configure_temp_dir()
+ assert(d == tempfile.gettempdir())
+ assert(is_writable(d))
+
+class test_configure_sys_argv(unittest.TestCase):
+ def check_simple(self):
+ build_dir = 'build_dir'
+ temp_dir = 'temp_dir'
+ compiler = 'compiler'
+ pre_argv = sys.argv[:]
+ build_tools.configure_sys_argv(compiler,temp_dir,build_dir)
+ argv = sys.argv[:]
+ bd = argv[argv.index('--build-lib')+1]
+ assert(bd == build_dir)
+ td = argv[argv.index('--build-temp')+1]
+ assert(td == temp_dir)
+ argv.index('--compiler='+compiler)
+ build_tools.restore_sys_argv()
+ assert(pre_argv == sys.argv[:])
+
+if __name__ == "__main__":
+ ScipyTest('weave.build_tools').run()