Author: Armin Rigo <ar...@tunes.org> Branch: Changeset: r89325:9104ca035a56 Date: 2017-01-03 08:19 +0100 http://bitbucket.org/pypy/pypy/changeset/9104ca035a56/
Log: Next attempt at 7a93d726ec2a diff --git a/rpython/rlib/test/test_rawrefcount_boehm.py b/rpython/rlib/test/test_rawrefcount_boehm.py --- a/rpython/rlib/test/test_rawrefcount_boehm.py +++ b/rpython/rlib/test/test_rawrefcount_boehm.py @@ -3,17 +3,26 @@ from rpython.tool.udir import udir +def compile_test(basename): + srcdir = os.path.dirname(os.path.dirname( + os.path.abspath(os.path.join(__file__)))) + srcdir = os.path.join(srcdir, 'src') + + err = os.system("cd '%s' && gcc -Werror -lgc -I%s -o %s %s.c" + % (udir, srcdir, basename, basename)) + return err + def setup_module(): filename = str(udir.join("test-rawrefcount-boehm-check.c")) with open(filename, "w") as f: print >> f, '#include "gc/gc_mark.h"' - print >> f, 'void *testing(void) {' - print >> f, ' return &GC_set_start_callback;' + print >> f, '#include <stdio.h>' + print >> f, 'int main(void) {' + print >> f, ' printf("%p", &GC_set_start_callback);' + print >> f, ' return 0;' print >> f, '}' - err = os.system("cd '%s' && gcc -c test-rawrefcount-boehm-check.c" - % (udir,)) - if err != 0: + if compile_test("test-rawrefcount-boehm-check") != 0: py.test.skip("Boehm GC not installed or too old version") @@ -180,13 +189,9 @@ print >> f, code print >> f, '}' - srcdir = os.path.dirname(os.path.dirname( - os.path.abspath(os.path.join(__file__)))) - srcdir = os.path.join(srcdir, 'src') - - err = os.system("cd '%s' && gcc -Werror -lgc -I%s -o test-rawrefcount-boehm" - " test-rawrefcount-boehm.c" % (udir, srcdir)) - assert err == 0 + err = compile_test("test-rawrefcount-boehm") + if err != 0: + raise OSError("gcc failed") p = subprocess.Popen("./test-rawrefcount-boehm", stdout=subprocess.PIPE, cwd=str(udir)) stdout, _ = p.communicate() _______________________________________________ pypy-commit mailing list pypy-commit@python.org https://mail.python.org/mailman/listinfo/pypy-commit