Fossil

Check-in [cdf1700a]
Login

Check-in [cdf1700a]

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Wrap each .test file in a catch command, with output of the error messages to the log for sanity. This should reduce the ways that a failing test case can unexpectedly wedge the entire test suite.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA3-256: cdf1700ade96d36686cb488ed45e9e053de90fdc2ea51d50ddf83e13f638c693
User & Date: rberteig 2017-03-16 00:35:23
Context
2017-03-16
00:38
In json.test, look for the empty file artifact using its new SHA3 hash explicitly. This allows json-artifact-file and related tests to pass, and eliminates a cascade of false failures that had crashed the test harness. ... (check-in: 5ad7038f user: rberteig tags: trunk)
00:35
Wrap each .test file in a catch command, with output of the error messages to the log for sanity. This should reduce the ways that a failing test case can unexpectedly wedge the entire test suite. ... (check-in: cdf1700a user: rberteig tags: trunk)
00:04
Skip entire merge5.test until fossil sqlite3 --no-repository works right. ... (check-in: 6167f69a user: rberteig tags: trunk)
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to test/tester.tcl.

110
111
112
113
114
115
116








117
118
119
120
121
122
123
  if {$::PROT} {
    set out [open [file join $::testrundir prot] a]
    fconfigure $out -translation platform
    puts $out $msg
    close $out
  }
}









# Run the Fossil program with the specified arguments.
#
# Consults the VERBOSE global variable to determine if
# diagnostics should be emitted when no error is seen.
# Sets the CODE and RESULT global variables for use in
# test expressions.







>
>
>
>
>
>
>
>







110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
  if {$::PROT} {
    set out [open [file join $::testrundir prot] a]
    fconfigure $out -translation platform
    puts $out $msg
    close $out
  }
}

proc protOutDict {dict {pattern *}} {
   set longest [tcl::mathfunc::max 0 {*}[lmap key [dict keys $dict $pattern] {string length $key}]]
   dict for {key value} $dict {
      protOut [format "%-${longest}s = %s" $key $value]
   }
}


# Run the Fossil program with the specified arguments.
#
# Consults the VERBOSE global variable to determine if
# diagnostics should be emitted when no error is seen.
# Sets the CODE and RESULT global variables for use in
# test expressions.
957
958
959
960
961
962
963

964
965
966
967
968
969



970
971
972
973
974
975
976

if {[catch {
  file mkdir $tempHomePath
} error] != 0} {
  error "Could not make directory \"$tempHomePath\",\
please set TEMP variable in environment, error: $error"
}


protInit $fossilexe
set ::tempKeepHome 1
foreach testfile $argv {
  protOut "***** $testfile ******"
  source $testdir/$testfile.test



  protOut "***** End of $testfile: [llength $bad_test] errors so far ******"
}
unset ::tempKeepHome; delete_temporary_home
set nErr [llength $bad_test]
if {$nErr>0 || !$::QUIET} {
  protOut "***** Final results: $nErr errors out of $test_count tests" 1
}







>





|
>
>
>







965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988

if {[catch {
  file mkdir $tempHomePath
} error] != 0} {
  error "Could not make directory \"$tempHomePath\",\
please set TEMP variable in environment, error: $error"
}


protInit $fossilexe
set ::tempKeepHome 1
foreach testfile $argv {
  protOut "***** $testfile ******"
  if { [catch {source $testdir/$testfile.test} testerror testopts] } {
    protOut "!!!!! $testfile: $testerror"
    protOutDict $testopts"
  }
  protOut "***** End of $testfile: [llength $bad_test] errors so far ******"
}
unset ::tempKeepHome; delete_temporary_home
set nErr [llength $bad_test]
if {$nErr>0 || !$::QUIET} {
  protOut "***** Final results: $nErr errors out of $test_count tests" 1
}