Changeset 85 for trunk

Show
Ignore:
Timestamp:
02/04/10 09:47:52 (2 years ago)
Author:
mgalloy
Message:

Added ability for test to determine if it should be counted in the final results tally, i.e., if itis "valid". Set self.invalid from within the test method if the test should not count.

Location:
trunk
Files:
8 modified

Legend:

Unmodified
Added
Removed
  • trunk/RELEASE

    r84 r85  
    1111* Added XML and JUnit output formats (and corresponding XML and JUNIT keywords  
    1212  to MGUNIT to turn them on). 
     13   
     14* Added ability for a test to determine if it should count in the final  
     15  results tally, i.e., if it is "valid". Set "self.invalid" from within a test 
     16  if it should not count. 
    1317   
    1418   
  • trunk/src/mgutclirunner__define.pro

    r78 r85  
    149149;    level : in, required, type=integer 
    150150;       level of test case 
    151 ;- 
    152 pro mgutclirunner::reportTestResult, msg, passed=passed, time=time, level=level 
    153   compile_opt strictarr 
    154  
    155   if (passed) then begin 
     151;    valid : in, required, type=boolean 
     152;       indicates whether the test should be counted in the results 
     153;- 
     154pro mgutclirunner::reportTestResult, msg, passed=passed, time=time, $ 
     155                                     valid=valid, level=level 
     156  compile_opt strictarr 
     157 
     158  if (~keyword_set(valid)) then begin 
     159    self->_print, self.logLun, 'invalid', /cyan, format='(A, $)' 
     160  endif else if (passed) then begin 
    156161    self->_print, self.logLun, 'passed', /green, format='(A, $)' 
    157162  endif else begin 
  • trunk/src/mgutcompoundrunner__define.pro

    r78 r85  
    137137;    level : in, required, type=integer 
    138138;       level of test case 
     139;    valid : in, required, type=boolean 
     140;       indicates whether the test should be counted in the results 
    139141;- 
    140 pro mgutcompoundrunner::reportTestResult, msg, passed=passed, time=time, level=level 
     142pro mgutcompoundrunner::reportTestResult, msg, passed=passed, time=time, $ 
     143                                          valid=valid, level=level 
    141144  compile_opt strictarr 
    142145 
    143146  for i = 0L, self->count() - 1L do begin 
    144147    r = self->get(position=i) 
    145     r->reportTestResult, msg, passed=passed, time=time, level=level 
     148    r->reportTestResult, msg, passed=passed, time=time, valid=valid, level=level 
    146149  endfor 
    147150end 
  • trunk/src/mgutguirunner__define.pro

    r78 r85  
    158158;    level : in, required, type=integer 
    159159;       level of test case 
    160 ;- 
    161 pro mgutguirunner::reportTestResult, msg, passed=passed, time=time, level=level 
    162   compile_opt strictarr 
    163  
    164   if (passed) then begin 
     160;    valid : in, required, type=boolean 
     161;       indicates whether the test should be counted in the results 
     162;- 
     163pro mgutguirunner::reportTestResult, msg, passed=passed, time=time, $ 
     164                                     valid=valid, level=level 
     165  compile_opt strictarr 
     166 
     167  if (~keyword_set(valid)) then begin 
     168    self->_print, 'invalid', /continued 
     169  endif else if (passed) then begin 
    165170    self->_print, 'passed', /continued 
    166171  endif else begin 
  • trunk/src/mguthtmlrunner__define.pro

    r78 r85  
    142142;    level : in, required, type=integer 
    143143;       level of test case 
    144 ;- 
    145 pro mguthtmlrunner::reportTestResult, msg, passed=passed, time=time, level=level 
    146   compile_opt strictarr 
    147  
    148   result = keyword_set(passed) ? 'passed' : 'failed' 
    149  
     144;    valid : in, required, type=boolean 
     145;       indicates whether the test should be counted in the results 
     146;- 
     147pro mguthtmlrunner::reportTestResult, msg, passed=passed, time=time, $ 
     148                                      valid=valid, level=level 
     149  compile_opt strictarr 
     150 
     151  result = keyword_set(valid) $ 
     152             ? (keyword_set(passed) ? 'passed' : 'failed') $ 
     153             : 'invalid' 
     154   
    150155  s = string(result, $ 
    151156             result, $ 
  • trunk/src/mgutjunitrunner__define.pro

    r81 r85  
    133133;    level : in, required, type=integer 
    134134;       level of test case 
    135 ;- 
    136 pro mgutjunitrunner::reportTestResult, msg, passed=passed, time=time, level=level 
    137   compile_opt strictarr 
    138  
    139   indent = level eq 0L ? '' : string(bytarr(2 * level) + 32B) 
    140    
    141   if (~keyword_set(passed)) then begin 
     135;    valid : in, required, type=boolean 
     136;       indicates whether the test should be counted in the results 
     137;- 
     138pro mgutjunitrunner::reportTestResult, msg, passed=passed, time=time, $ 
     139                                       valid=valid, level=level 
     140  compile_opt strictarr 
     141 
     142  indent = level eq 0L ? '' : string(bytarr(2 * level) + 32B) 
     143   
     144  if (~keyword_set(valid)) then begin 
     145    _msg = string(indent, msg, format='(%"%s    <failure>invalid test</failure>")') 
     146    self->_print, self.lun, _msg     
     147  endif else if (~keyword_set(passed)) then begin 
    142148    _msg = string(indent, msg, format='(%"%s    <failure>%s</failure>")') 
    143149    self->_print, self.lun, _msg 
  • trunk/src/mguttestcase__define.pro

    r78 r85  
    150150    self->_runSetup, fail=setupFailed 
    151151    if (~setupFailed) then begin 
     152      self.invalid = 0B 
    152153      result = self->runTest((*self.testnames)[t], message=msg) 
    153154      self->_runTeardown, fail=teardownFailed   
     
    168169    endif 
    169170 
    170     if (passed) then begin 
    171       ++self.npass  
    172     endif else begin 
    173       ++self.nfail 
    174     endelse 
    175  
     171    if (~self.invalid) then begin 
     172      if (passed) then begin 
     173        ++self.npass  
     174      endif else begin 
     175        ++self.nfail 
     176      endelse 
     177    endif 
     178     
    176179    ; remove method name from msg, if present 
    177180    self->_removePrefix, msg, obj_class(self) + '::' + (*self.testnames)[t] + ': ' 
     
    187190                : msg) 
    188191                       
    189     self.testRunner->reportTestResult, logMsg, passed=passed, time=self.time, level=self.level 
     192    self.testRunner->reportTestResult, logMsg, passed=passed, valid=~self.invalid, $ 
     193                                       time=self.time, level=self.level 
    190194  endfor 
    191195 
     
    325329             npass: 0L, $ 
    326330             nfail: 0L, $ 
    327              time: 0.0D $ 
     331             time: 0.0D, $ 
     332             invalid: 0B $ 
    328333             }              
    329334end 
  • trunk/src/mguttestrunner__define.pro

    r78 r85  
    116116;    level : in, required, type=integer 
    117117;       level of test case 
     118;    valid : in, required, type=boolean 
     119;       indicates whether the test should be counted in the results 
    118120;- 
    119 pro mguttestrunner::reportTestResult, msg, passed=passed, time=time, level=level 
     121pro mguttestrunner::reportTestResult, msg, passed=passed, time=time, $ 
     122                                      valid=valid, level=level 
    120123  compile_opt strictarr 
    121124