Updating branch refs/heads/master to 87101d9ae5b90293f721b09238c1ea6a349cf7a5 (commit) from b0085aabd9830af5cf2e33ca3b36de110c56e4b7 (commit)
commit 87101d9ae5b90293f721b09238c1ea6a349cf7a5 Author: Christian Dywan <christ...@twotoasts.de> Date: Fri Jan 4 00:40:33 2013 +0100 Replace MIDORI_TEST_UNDEFINED with 42s hard timeout The test process will be killed if run too long. tests/download.vala | 2 -- tests/tab.vala | 2 -- wscript | 31 ++++++++++++++++++++----------- 3 files changed, 20 insertions(+), 15 deletions(-) diff --git a/tests/download.vala b/tests/download.vala index 262b969..f7ebe35 100644 --- a/tests/download.vala +++ b/tests/download.vala @@ -75,8 +75,6 @@ void download_properties () { assert (Midori.Download.get_type (download) == Midori.DownloadType.OPEN); assert (Midori.Download.get_progress (download) == 0.0); - if (Environment.get_variable ("MIDORI_TEST_UNDEFINED") != "1") return; - try { string filename; FileUtils.close (FileUtils.open_tmp ("XXXXXX", out filename)); diff --git a/tests/tab.vala b/tests/tab.vala index 5d388af..10d7bad 100644 --- a/tests/tab.vala +++ b/tests/tab.vala @@ -120,8 +120,6 @@ void tab_special () { } void tab_http () { - if (Environment.get_variable ("MIDORI_TEST_UNDEFINED") != "1") return; - Midori.Test.grab_max_timeout (); Midori.Test.log_set_fatal_handler_for_icons (); diff --git a/wscript b/wscript index 7946876..318a7a3 100644 --- a/wscript +++ b/wscript @@ -578,6 +578,23 @@ def shutdown (): for x in ['XDG_CONFIG_HOME', 'XDG_CACHE_HOME', 'XDG_DATA_HOME', 'TMPDIR']: os.environ[x] = (base % x).lower () Utils.check_dir (os.environ[x]) + + def subprocess_popen_timeout (args, stdout=None, stderr=None): + import threading + def t_kill (): + Utils.pprint ('RED', 'timed out') + os.kill (pp.pid, 0) + t = threading.Timer (42, t_kill) + t.start () + if is_mingw (Build.bld.env): + args.insert (0, 'wine') + cwd = Build.bld.env['PREFIX'] + os.sep + 'bin' + pp = subprocess.Popen (args, cwd=cwd, stdout=stdout, stderr=stderr) + if stdout is None: + (out, err) = pp.communicate () + t.cancel () + return pp + # Avoid i18n-related false failures os.environ['LC_ALL'] = 'C' os.environ['UNIQUE_BACKEND'] = 'bacon' @@ -606,10 +623,7 @@ def shutdown (): if is_mingw (Build.bld.env): filename += '.exe' args = [filename] - if is_mingw (Build.bld.env): - args.insert (0, 'wine') - pp = Utils.pproc.Popen (args, cwd=Build.bld.env['PREFIX'] + os.sep + 'bin') - (out, err) = pp.communicate () + pp = subprocess_popen_timeout (args) test.unit_test_results[label] = int (pp.returncode == 0) if not test.unit_test_results[label]: test.num_tests_failed += 1 @@ -633,10 +647,7 @@ def shutdown (): if is_mingw (Build.bld.env): filename += '.exe' args = ['gdb', '--batch', '-ex', 'set print thread-events off', '-ex', 'run', '-ex', 'bt', filename] - if is_mingw (Build.bld.env): - args.insert (0, 'wine') - pp = Utils.pproc.Popen (args, cwd=Build.bld.env['PREFIX'] + os.sep + 'bin') - (out, err) = pp.communicate () + pp = subprocess_popen_timeout (args) except OSError: Utils.pprint ('RED', 'Install gdb to see backtraces') except KeyboardInterrupt: @@ -653,9 +664,7 @@ def shutdown (): else: continue try: - if is_mingw (Build.bld.env): - args.insert (0, 'wine') - pp = subprocess.Popen (args, cwd=Build.bld.env['PREFIX'] + os.sep + 'bin', stdout=subprocess.PIPE, stderr=subprocess.STDOUT) + pp = subprocess_popen_timeout (args, stdout=subprocess.PIPE, stderr=subprocess.STDOUT) skip = False for line in iter(pp.stdout.readline, ''): if line[:2] != '==': _______________________________________________ Xfce4-commits mailing list Xfce4-commits@xfce.org https://mail.xfce.org/mailman/listinfo/xfce4-commits