Changeset 4bd3069 for tests


Ignore:
Timestamp:
Aug 19, 2018, 10:21:35 AM (6 years ago)
Author:
Rob Schluntz <rschlunt@…>
Branches:
ADT, aaron-thesis, arm-eh, ast-experimental, cleanup-dtors, deferred_resn, demangler, enum, forall-pointer-decay, jacob/cs343-translation, jenkins-sandbox, master, new-ast, new-ast-unique-expr, no_list, persistent-indexer, pthread-emulation, qualifiedEnum
Children:
90ed538
Parents:
90cac45 (diff), 72a5a75 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent.
Message:

Merge branch 'master' into demangler

Location:
tests
Files:
13 edited
2 moved

Legend:

Unmodified
Added
Removed
  • tests/Makefile.am

    r90cac45 r4bd3069  
    2424concurrent=
    2525
    26 TEST_PY = python ${srcdir}/test.py
     26TEST_PY = python ${builddir}/test.py
    2727
    2828# applies to both programs
  • tests/Makefile.in

    r90cac45 r4bd3069  
    301301quick_test = avl_test operators numericConstants expression enum array typeof cast raii/dtor-early-exit raii/init_once attributes
    302302concurrent =
    303 TEST_PY = python ${srcdir}/test.py
     303TEST_PY = python ${builddir}/test.py
    304304
    305305# applies to both programs
  • tests/concurrent/examples/boundedBufferEXT.c

    r90cac45 r4bd3069  
    88// Created On       : Wed Apr 18 22:52:12 2018
    99// Last Modified By : Peter A. Buhr
    10 // Last Modified On : Wed May  2 16:12:58 2018
    11 // Update Count     : 7
     10// Last Modified On : Thu Aug 16 08:17:03 2018
     11// Update Count     : 8
    1212//
    1313
     
    7373void main( Consumer & cons ) with( cons ) {
    7474        sum = 0;
    75         for ( ;; ) {
     75        for () {
    7676                yield( random( 5 ) );
    7777                int item = remove( buffer );
  • tests/concurrent/examples/boundedBufferINT.c

    r90cac45 r4bd3069  
    88// Created On       : Mon Oct 30 12:45:13 2017
    99// Last Modified By : Peter A. Buhr
    10 // Last Modified On : Thu Apr 26 23:08:17 2018
    11 // Update Count     : 82
     10// Last Modified On : Thu Aug 16 08:17:58 2018
     11// Update Count     : 83
    1212//
    1313
     
    7474void main( Consumer & cons ) with( cons ) {
    7575        sum = 0;
    76         for ( ;; ) {
     76        for () {
    7777                yield( random( 5 ) );
    7878                int item = remove( buffer );
  • tests/concurrent/examples/quickSort.c

    r90cac45 r4bd3069  
    99// Created On       : Wed Dec  6 12:15:52 2017
    1010// Last Modified By : Peter A. Buhr
    11 // Last Modified On : Tue Jan 30 15:58:58 2018
    12 // Update Count     : 162
     11// Last Modified On : Thu Aug 16 08:17:41 2018
     12// Update Count     : 163
    1313//
    1414
     
    131131
    132132        if ( &unsortedfile ) {                                                          // generate output ?
    133                 for ( ;; ) {
     133                for () {
    134134                        unsortedfile | size;                                            // read number of elements in the list
    135135                  if ( eof( unsortedfile ) ) break;
  • tests/config.py.in

    r90cac45 r4bd3069  
    55"""
    66
    7 SRCDIR   = "@srcdir@"
    8 BUILDDIR = "@builddir@"
     7SRCDIR   = "@abs_srcdir@"
     8BUILDDIR = "@abs_builddir@"
    99HOSTARCH = "@host_cpu@"
  • tests/coroutine/fibonacci.c

    r90cac45 r4bd3069  
    1111// Created On       : Thu Jun  8 07:29:37 2017
    1212// Last Modified By : Peter A. Buhr
    13 // Last Modified On : Fri Apr 27 08:55:31 2018
    14 // Update Count     : 19
     13// Last Modified On : Thu Aug 16 08:18:16 2018
     14// Update Count     : 20
    1515//
    1616
     
    2626        fn = 1;  fn2 = fn1;  fn1 = fn;                                          // 2nd case
    2727        suspend();                                                                                      // restart last resume
    28         for ( ;; ) {
     28        for () {
    2929                fn = fn1 + fn2;  fn2 = fn1;  fn1 = fn;                  // general case
    3030                suspend();                                                                              // restart last resume
  • tests/coroutine/fmtLines.c

    r90cac45 r4bd3069  
    1010// Created On       : Sun Sep 17 21:56:15 2017
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Tue May 15 12:25:33 2018
    13 // Update Count     : 42
     12// Last Modified On : Thu Aug 16 08:20:54 2018
     13// Update Count     : 45
    1414//
    1515
     
    2323
    2424void main( Format & fmt ) with( fmt ) {
    25         for ( ;; ) {                                                                            // for as many characters
    26                 for ( g = 0; g < 5; g += 1 ) {                                  // groups of 5 blocks
    27                         for ( b = 0; b < 4; b += 1 ) {                          // blocks of 4 characters
    28                                 for ( ;; ) {                                                    // for newline characters
     25        for () {                                                                                        // for as many characters
     26                for ( g; 5 ) {                                                                  // groups of 5 blocks
     27                        for ( b; 4 ) {                                                          // blocks of 4 characters
     28                                for () {                                                                // for newline characters
    2929                                        suspend();
    3030                                        if ( ch != '\n' ) break;                        // ignore newline
     
    5353        Format fmt;
    5454
    55         eof: for ( ;; ) {                                                                       // read until end of file
     55  eof: for () {                                                                                 // read until end of file
    5656                sin | fmt.ch;                                                                   // read one character
    5757          if ( eof( sin ) ) break eof;                                          // eof ?
  • tests/coroutine/runningTotal.c

    r90cac45 r4bd3069  
    1010// Created On       : Wed Dec  6 08:05:27 2017
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Wed Dec  6 08:09:24 2017
    13 // Update Count     : 2
     12// Last Modified On : Thu Aug 16 08:22:29 2018
     13// Update Count     : 3
    1414//
    1515
     
    2929
    3030void main( RunTotal & rntl ) with( rntl ) {
    31         for ( ;; ) {
     31        for () {
    3232                update( rntl, input );
    3333        } // for
     
    4141int main() {
    4242        RunTotal rntl;
    43         for ( int i = 0; i < 10; i += 1 ) {
     43        for ( i; 10 ) {
    4444                sout | i | add( rntl, i ) | endl;
    4545        } // for
  • tests/fallthrough.c

    r90cac45 r4bd3069  
    1010// Created On       : Wed Mar 14 10:06:25 2018
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Wed Mar 14 22:45:13 2018
    13 // Update Count     : 13
     12// Last Modified On : Thu Aug 16 08:21:46 2018
     13// Update Count     : 14
    1414//
    1515
     
    9292        choose ( 3 ) {
    9393                case 2:
    94                         for ( ;; ) {
     94                        for () {
    9595                                choose ( 2 ) {
    9696                                        case 1:
  • tests/forctrl.c

    r90cac45 r4bd3069  
    1010// Created On       : Wed Aug  8 18:32:59 2018
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Thu Aug  9 07:50:48 2018
    13 // Update Count     : 5
     12// Last Modified On : Thu Aug 16 09:25:47 2018
     13// Update Count     : 6
    1414//
    1515
    16 #include <fstream>
     16#include <fstream.hfa>
    1717
    1818struct S { int i, j; };
  • tests/labelledExit.c

    r90cac45 r4bd3069  
    1010// Created On       : Wed Aug 10 07:29:39 2016
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Wed Aug 10 07:30:15 2016
    13 // Update Count     : 1
     12// Last Modified On : Thu Aug 16 08:55:39 2018
     13// Update Count     : 3
    1414//
    1515
     
    6060        }
    6161
    62   D: for ( ;; ) {
     62  D: for () {
    6363                break D;
    6464                continue D;
     
    6767  Z : i += 1;
    6868        goto Z;
    69   X: Y: for ( ;; ) {
     69  X: Y: for () {
    7070                i += 1;
    7171                if ( i > 5 ) continue X;
     
    7474                break;
    7575        }
    76   XX: for ( ;; ) {
    77           YY: for ( ;; ) {
    78                   ZZ: for ( ;; ) {
     76  XX: for () {
     77          YY: for () {
     78                  ZZ: for () {
    7979                                i += 1;
    8080                                if ( i > 5 ) continue XX;
     
    8989        }
    9090
    91         for ( ;; ) ;
     91        for () ;
    9292        for ( int i = 0 ;; ) ;
    9393        for (  ; i < 0; ) ;
     
    9797  L20: L21: L22: L23: L24: L25: L26: L27: L28: L29:
    9898  L31: L32: L33: L34:
    99         for ( ;; ) {
     99        for () {
    100100                break L0;
    101101        }
  • tests/pybin/settings.py

    r90cac45 r4bd3069  
    66
    77try :
    8         sys.path.append(os.getcwd())
     8        testpath = os.path.dirname(os.path.abspath(os.path.join(os.getcwd(), sys.argv[0])))
     9        sys.path.append(testpath)
    910        import config
    1011
    1112        SRCDIR = os.path.abspath(config.SRCDIR)
    1213        BUILDDIR = os.path.abspath(config.BUILDDIR)
     14        os.chdir(testpath)
     15
    1316except:
    1417        print('ERROR: missing config.py, re-run configure script.', file=sys.stderr)
     
    8891                self.flags  = """INSTALL_FLAGS="%s" """ % ("" if value else "-in-tree")
    8992
     93class Timeouts:
     94        def __init__(self, ts, tg):
     95                self.single = Timeouts.check(ts)
     96                self.total  = Timeouts.check(tg)
     97
     98        @classmethod
     99        def check(_, value):
     100                if value < 1:
     101                        print("Timeouts must be at least 1 second", file=sys.stderr)
     102                        sys.exit(1)
     103
     104                return value
     105
    90106def init( options ):
    91107        global arch
     
    95111        global debug
    96112        global install
     113        global timeout
    97114
    98115        dry_run    = options.dry_run
     
    102119        install    = Install(options.install)
    103120        arch       = Architecture(options.arch)
     121        timeout    = Timeouts(options.timeout, options.global_timeout)
    104122
    105123
     
    110128
    111129def validate():
    112         make_ret, _ = tools.make( ".validate", error_file = ".validate.err", redirects  = "2> /dev/null 1> /dev/null", )
     130        errf = os.path.join(BUILDDIR, ".validate.err")
     131        make_ret, _ = tools.make( ".validate", error_file = errf, redirects  = "2> /dev/null 1> /dev/null", )
    113132        if make_ret != 0:
    114                 with open (".validate.err", "r") as myfile:
     133                with open (errf, "r") as myfile:
    115134                        error=myfile.read()
    116135                print("ERROR: Invalid configuration %s:%s" % (arch.string, debug.string), file=sys.stderr)
    117136                print("       verify returned : \n%s" % error, file=sys.stderr)
    118                 tools.rm("%s/.validate.err" % BUILDDIR)
     137                tools.rm(errf)
    119138                sys.exit(1)
    120139
    121         tools.rm("%s/.validate.err" % BUILDDIR)
     140        tools.rm(errf)
  • tests/test.py

    r90cac45 r4bd3069  
    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
     
    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.