Changeset 4a333d35 for src


Ignore:
Timestamp:
May 18, 2018, 3:36:36 PM (7 years ago)
Author:
Thierry Delisle <tdelisle@…>
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, new-env, no_list, persistent-indexer, pthread-emulation, qualifiedEnum, with_gc
Children:
cac8a6e
Parents:
cb6314e (diff), c7d8100c (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' of plg.uwaterloo.ca:software/cfa/cfa-cc

Location:
src
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • src/Common/SemanticError.cc

    rcb6314e r4a333d35  
    1010// Created On       : Mon May 18 07:44:20 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Wed May  2 18:13:37 2018
    13 // Update Count     : 8
     12// Last Modified On : Wed May 16 15:01:20 2018
     13// Update Count     : 9
    1414//
    1515
     
    7070//-----------------------------------------------------------------------------
    7171// Semantic Error
     72bool SemanticErrorThrow = false;
     73
    7274SemanticErrorException::SemanticErrorException( CodeLocation location, std::string error ) {
    7375        append( location, error );
     
    9496
    9597void SemanticError( CodeLocation location, std::string error ) {
     98        SemanticErrorThrow = true;
    9699        throw SemanticErrorException(location, error);
    97100}
  • src/Common/SemanticError.h

    rcb6314e r4a333d35  
    1010// Created On       : Mon May 18 07:44:20 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Wed May  2 18:13:15 2018
    13 // Update Count     : 29
     12// Last Modified On : Wed May 16 15:01:23 2018
     13// Update Count     : 30
    1414//
    1515
     
    2121//-----------------------------------------------------------------------------
    2222// Errors
     23
     24extern bool SemanticErrorThrow;
    2325
    2426__attribute__((noreturn)) void SemanticError( CodeLocation location, std::string error );
  • src/tests/pybin/test_run.py

    rcb6314e r4a333d35  
    44
    55import pybin.settings
     6import datetime
     7
     8from string import Template
     9
     10class DeltaTemplate(Template):
     11    delimiter = "%"
     12
     13def strfdelta(tdelta, fmt):
     14    d["H"], rem = divmod(tdelta.seconds, 3600)
     15    d["M"], d["S"] = divmod(rem, 60)
     16    t = DeltaTemplate(fmt)
     17    return t.substitute(**d)
    618
    719# Test class that defines what a test is
     
    5769
    5870        @classmethod
    59         def toString( cls, retcode ):
     71        def toString( cls, retcode, duration ):
    6072                if settings.generating :
    61                         if   retcode == TestResult.SUCCESS:     return "Done"
    62                         elif retcode == TestResult.TIMEOUT:     return "TIMEOUT"
    63                         else :                                          return "ERROR code %d" % retcode
     73                        if   retcode == TestResult.SUCCESS:     text = "Done   "
     74                        elif retcode == TestResult.TIMEOUT:     text = "TIMEOUT"
     75                        else :                                          text = "ERROR code %d" % retcode
    6476                else :
    65                         if   retcode == TestResult.SUCCESS:     return "PASSED"
    66                         elif retcode == TestResult.TIMEOUT:     return "TIMEOUT"
    67                         else :                                          return "FAILED with code %d" % retcode
     77                        if   retcode == TestResult.SUCCESS:     text = "PASSED "
     78                        elif retcode == TestResult.TIMEOUT:     text = "TIMEOUT"
     79                        else :                                          text = "FAILED with code %d" % retcode
     80
     81                text += "    C%s - R%s" % (cls.fmtDur(duration[0]), cls.fmtDur(duration[1]))
     82                return text
     83
     84        @classmethod
     85        def fmtDur( cls, duration ):
     86                if duration :
     87                        hours, rem = divmod(duration, 3600)
     88                        minutes, rem = divmod(rem, 60)
     89                        seconds, millis = divmod(rem, 1)
     90                        return "%2d:%02d.%03d" % (minutes, seconds, millis * 1000)
     91                return " n/a"
  • src/tests/test.py

    rcb6314e r4a333d35  
    99import re
    1010import sys
     11import time
    1112
    1213################################################################################
     
    136137
    137138        # build, skipping to next test on error
     139        before = time.time()
    138140        make_ret, _ = make( test.target(),
    139141                redirects  = "2> %s 1> /dev/null" % out_file,
    140142                error_file = err_file
    141143        )
     144        after = time.time()
     145
     146        comp_dur = after - before
     147
     148        run_dur = None
    142149
    143150        # if the make command succeds continue otherwise skip to diff
    144151        if make_ret == 0 or settings.dry_run:
     152                before = time.time()
    145153                if settings.dry_run or fileIsExecutable(test.target()) :
    146154                        # run test
     
    149157                        # simply cat the result into the output
    150158                        retcode, _ = sh("cat %s > %s" % (test.target(), out_file))
     159
     160                after = time.time()
     161                run_dur = after - before
    151162        else:
    152163                retcode, _ = sh("mv %s %s" % (err_file, out_file))
     
    174185        sh("rm -f %s > /dev/null 2>&1" % test.target())
    175186
    176         return retcode, error
     187        return retcode, error, [comp_dur, run_dur]
    177188
    178189# run a single test and handle the errors, outputs, printing, exception handling, etc.
     
    183194                name_txt = "%20s  " % t.name
    184195
    185                 retcode, error = run_single_test(t)
     196                retcode, error, duration = run_single_test(t)
    186197
    187198                # update output based on current action
    188                 result_txt = TestResult.toString( retcode )
     199                result_txt = TestResult.toString( retcode, duration )
    189200
    190201                #print result with error if needed
Note: See TracChangeset for help on using the changeset viewer.