Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • tests/test.py

    r575a6e5 rafe8882  
    8888        parser.add_argument('--install', help='Run all tests based on installed binaries or tree binaries', type=yes_no, default='no')
    8989        parser.add_argument('--arch', help='Test for specific architecture', type=str, default='')
     90        parser.add_argument('--timeout', help='Maximum duration in seconds after a single test is considered to have timed out', type=int, default=60)
     91        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)
    9092        parser.add_argument('--dry-run', help='Don\'t run the tests, only output the commands', action='store_true')
    9193        parser.add_argument('--list', help='List all test available', action='store_true')
     
    160162                if settings.dry_run or fileIsExecutable(exe_file) :
    161163                        # run test
    162                         retcode, _ = sh("timeout 60 %s > %s 2>&1" % (exe_file, out_file), input = in_file)
     164                        retcode, _ = sh("timeout %d %s > %s 2>&1" % (settings.timeout.single, exe_file, out_file), input = in_file)
    163165                else :
    164166                        # simply cat the result into the output
     
    172174
    173175        if retcode == 0:
     176                fixoutput(out_file)
    174177                if settings.generating :
    175178                        # if we are ounly generating the output we still need to check that the test actually exists
     
    182185                else :
    183186                        # fetch return code and error from the diff command
    184                         fixoutput(out_file)
    185187                        retcode, error = diff(cmp_file, out_file)
    186188
     
    234236                        tests,
    235237                        chunksize = 1
    236                 ).get(7200)
     238                ).get(settings.timeout.total)
    237239        except KeyboardInterrupt:
    238240                pool.terminate()
     
    283285        # users may want to simply list the tests
    284286        if options.list_comp :
    285                 print("-h --help --debug --dry-run --list --arch --all --regenerate-expected -j --jobs ", end='')
     287                print("-h --help --debug --dry-run --list --arch --all --regenerate-expected --install --timeout --global-timeout -j --jobs ", end='')
    286288                print(" ".join(map(lambda t: "%s" % (t.target()), tests)))
    287289
Note: See TracChangeset for help on using the changeset viewer.