X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/4e2035d7b4730d535ebd7619c4e85878f71f8cb2..b9eb176c6765d43b803c175b6090fddc46d3be19:/tools/tesh/tesh.py diff --git a/tools/tesh/tesh.py b/tools/tesh/tesh.py index 2cd1dce335..3bc74483a5 100755 --- a/tools/tesh/tesh.py +++ b/tools/tesh/tesh.py @@ -5,7 +5,7 @@ tesh -- testing shell ======================== -Copyright (c) 2012-2017. The SimGrid Team. All rights reserved. +Copyright (c) 2012-2018. The SimGrid Team. All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the license (GNU LGPL) which comes with this package. @@ -45,6 +45,8 @@ else: # # +def isWindows(): + return sys.platform.startswith('win') # Singleton metaclass that works in Python 2 & 3 # http://stackoverflow.com/questions/6760685/creating-a-singleton-in-python @@ -106,6 +108,9 @@ except NameError: pgtokill = None def kill_process_group(pgid): + if pgid is None: # Nobody to kill. We don't know who to kill on windows, or we don't have anyone to kill on signal handler + return + # print("Kill process group {}".format(pgid)) try: os.killpg(pgid, signal.SIGTERM) @@ -316,7 +321,8 @@ class Cmd(object): try: proc = subprocess.Popen(args, bufsize=1, stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.STDOUT, universal_newlines=True, start_new_session=True) try: - pgtokill = os.getpgid(proc.pid) + if not isWindows(): + pgtokill = os.getpgid(proc.pid) except OSError: # os.getpgid failed. OK. No cleanup. pass @@ -467,7 +473,6 @@ if __name__ == '__main__': re.compile(r"cmake: /usr/local/lib/libcurl\.so\.4: no version information available \(required by cmake\)"), # Seen on CircleCI re.compile(r".*mmap broken on FreeBSD, but dlopen\+thread broken too. Switching to dlopen\+raw contexts\."), re.compile(r".*dlopen\+thread broken on Apple and BSD\. Switching to raw contexts\."), - re.compile(r"Sanitizers don.t like dlopen, switching to mmap privatization instead\."), ] TeshState().jenkins = True # This is a Jenkins build