Changeset 2cd949b for tests/test.py


Ignore:
Timestamp:
Dec 11, 2019, 3:22:34 PM (5 years ago)
Author:
Thierry Delisle <tdelisle@…>
Branches:
ADT, arm-eh, ast-experimental, enum, forall-pointer-decay, jacob/cs343-translation, jenkins-sandbox, master, new-ast, new-ast-unique-expr, pthread-emulation, qualifiedEnum
Children:
2fa5bd2, 737c98a
Parents:
e307e12
Message:

Tentative fix of tests printing several pages of output when interrupted by keyboard

File:
1 edited

Legend:

Unmodified
Added
Removed
  • tests/test.py

    re307e12 r2cd949b  
    1010import tempfile
    1111import time
     12
     13import os
     14import psutil
     15import signal
    1216
    1317################################################################################
     
    221225        make('clean', output_file=subprocess.DEVNULL, error=subprocess.DEVNULL)
    222226
     227        # since python prints stacks by default on a interrupt, redo the interrupt handling to be silent
     228        def worker_init():
     229                def sig_int(signal_num, frame):
     230                        pass
     231
     232                signal.signal(signal.SIGINT, sig_int)
     233
    223234        # create the executor for our jobs and handle the signal properly
    224         pool = multiprocessing.Pool(jobs)
     235        pool = multiprocessing.Pool(jobs, worker_init)
    225236
    226237        failed = False
     238
     239        def stop(x, y):
     240                print("Tests interrupted by user", file=sys.stderr)
     241                sys.exit(1)
     242        signal.signal(signal.SIGINT, stop)
    227243
    228244        # for each test to run
Note: See TracChangeset for help on using the changeset viewer.