From 34352e4e0e59fc31e7256cf6bf438c192433aa5f Mon Sep 17 00:00:00 2001 From: Jean-Luc Duprat Date: Wed, 25 Jan 2012 15:04:19 -0800 Subject: [PATCH 1/2] beefed up stdin.h on Windows so it compiles ispc 1.1.3 --- winstuff/stdint.h | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/winstuff/stdint.h b/winstuff/stdint.h index 895f702a..715ee9c4 100644 --- a/winstuff/stdint.h +++ b/winstuff/stdint.h @@ -1,7 +1,14 @@ #ifndef MY_STDINT_H #define MY_STDINT_H 1 -typedef __int32 int32_t; -typedef __int64 int64_t; +typedef signed char int8_t; +typedef signed __int16 int16_t; +typedef signed __int32 int32_t; +typedef signed __int64 int64_t; +typedef unsigned char uint8_t; + +typedef unsigned __int16 uint16_t; +typedef unsigned __int32 uint32_t; +typedef unsigned __int64 uint64_t; #endif // MY_STDINT_H \ No newline at end of file From 9c5444698ebf31a2cd57a553d03a1a7fc1a7d472 Mon Sep 17 00:00:00 2001 From: Jean-Luc Duprat Date: Thu, 26 Jan 2012 13:39:54 -0800 Subject: [PATCH 2/2] run_tests.py fixes: - Python 3 fixes (can't use print) - Fixed for running tests on Windows --- run_tests.py | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/run_tests.py b/run_tests.py index e2ea66f9..d71c551b 100755 --- a/run_tests.py +++ b/run_tests.py @@ -38,6 +38,8 @@ parser.add_option("-c", "--compiler", dest="compiler_exe", help="Compiler binary default=None) parser.add_option('-o', '--no-opt', dest='no_opt', help='Disable optimization', default=False, action="store_true") +parser.add_option('-j', '--jobs', dest='num_jobs', help='Maximum number of jobs to run in parallel', + default="1024", type="int") parser.add_option('-v', '--verbose', dest='verbose', help='Enable verbose output', default=False, action="store_true") if not is_windows: @@ -54,7 +56,7 @@ else: if not is_windows: ispc_exe = "./ispc" else: - ispc_exe = "Release/ispc.exe" + ispc_exe = "../Release/ispc.exe" is_generic_target = options.target.find("generic-") != -1 if is_generic_target and options.include_file == None: @@ -83,7 +85,7 @@ else: files = [ ] for f in args: if os.path.splitext(string.lower(f))[1] != ".ispc": - print "Ignoring file %s, which doesn't have an .ispc extension." % f + sys.stdout.write("Ignoring file %s, which doesn't have an .ispc extension.\n" % f) else: files += [ f ] @@ -218,7 +220,7 @@ def run_test(filename): obj_name = "%s%s.obj" % (input_prefix, filename) exe_name = "%s%s.exe" % (input_prefix, filename) - cc_cmd = "%s /I. /Iwinstuff /Zi /nologo /DTEST_SIG=%d %stest_static.cpp %s /Fe%s" % \ + cc_cmd = "%s /I. /I../winstuff /Zi /nologo /DTEST_SIG=%d %stest_static.cpp %s /Fe%s" % \ (options.compiler_exe, match, input_prefix, obj_name, exe_name) if should_fail: cc_cmd += " /DEXPECT_FAILURE" @@ -256,8 +258,8 @@ def run_test(filename): if not run_error: os.unlink(exe_name) if is_windows: - os.unlink(filename + ".pdb") - os.unlink(filename + ".ilk") + os.unlink("%s%s.pdb" % (input_prefix, filename)) + os.unlink("%s%s.ilk" % (input_prefix, filename)) os.unlink(obj_name) except: None @@ -314,12 +316,14 @@ if __name__ == '__main__': compile_error_files = [ ] run_error_files = [ ] - nthreads = multiprocessing.cpu_count() - print "Found %d CPUs. Running %d tests." % (nthreads, total_tests) + nthreads = min(multiprocessing.cpu_count(), options.num_jobs) + sys.stdout.write("Running %d jobs in parallel. Running %d tests.\n" % (nthreads, total_tests)) # put each of the test filenames into a queue q = multiprocessing.Queue() for fn in files: + if is_windows: + fn = fn.replace("\\",'/') q.put(fn) for x in range(nthreads): q.put('STOP') @@ -339,7 +343,7 @@ if __name__ == '__main__': # (i.e. return 0 if all is ok) for t in task_threads: t.join() - print + sys.stdout.write("\n") while not qret.empty(): (c, r) = qret.get()