Changeset d658183


Ignore:
Timestamp:
Mar 19, 2020, 2:01:28 PM (4 years ago)
Author:
Thierry Delisle <tdelisle@…>
Branches:
ADT, arm-eh, ast-experimental, enum, forall-pointer-decay, jacob/cs343-translation, master, new-ast, new-ast-unique-expr, pthread-emulation, qualifiedEnum
Children:
0bd5cfb
Parents:
bbdb0c6
Message:

added test option to print process id instead of killing it to allow attaching with gdb

Location:
tests
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • tests/pybin/settings.py

    rbbdb0c6 rd658183  
    123123        global output_width
    124124        global timeout
     125        global timeout2gdb
    125126
    126127        arch         = Architecture(options.arch)
     
    134135        output_width = 24
    135136        timeout      = Timeouts(options.timeout, options.global_timeout)
     137        timeout2gdb  = options.timeout_with_gdb
    136138
    137139        # if we distribute, distcc errors will fail tests, use log file for distcc
  • tests/pybin/tools.py

    rbbdb0c6 rd658183  
    7575                                        return proc.returncode, out.decode("utf-8") if out else None
    7676                                except subprocess.TimeoutExpired:
    77                                         proc.send_signal(signal.SIGABRT)
    78                                         proc.communicate()
    79                                         return 124, str(None)
     77                                        if settings.timeout2gdb:
     78                                                print("Process {} timeout".format(proc.pid))
     79                                                proc.communicate()
     80                                                return 124, str(None)
     81                                        else:
     82                                                proc.send_signal(signal.SIGABRT)
     83                                                proc.communicate()
     84                                                return 124, str(None)
    8085
    8186        except Exception as ex:
  • tests/test.py

    rbbdb0c6 rd658183  
    9191        parser.add_argument('--timeout', help='Maximum duration in seconds after a single test is considered to have timed out', type=int, default=60)
    9292        parser.add_argument('--global-timeout', help='Maximum cumulative duration in seconds after the ALL tests are considered to have timed out', type=int, default=7200)
     93        parser.add_argument('--timeout-with-gdb', help='Instead of killing the command when it times out, orphan it and print process id to allow gdb to attach', type=yes_no, default="no")
    9394        parser.add_argument('--dry-run', help='Don\'t run the tests, only output the commands', action='store_true')
    9495        parser.add_argument('--list', help='List all test available', action='store_true')
     
    192193        rm(exe_file)
    193194
     195        print("HERE")
     196
    194197        return retcode, error, [comp_dur.duration, run_dur.duration if run_dur else None]
    195198
Note: See TracChangeset for help on using the changeset viewer.