Fossil SCM

Add a '-keep' command line option to the test suite to prevent any test cleanup from taking place.

mistachkin 2016-03-05 00:16 UTC testerCleanup
Commit 95f7fe5a8f65c5d59a43e1396b64c496e792d26d
1 file changed +10
--- test/tester.tcl
+++ test/tester.tcl
@@ -32,10 +32,18 @@
3232
[string length [file extension $fossilexe]] == 0} {
3333
append fossilexe .exe
3434
}
3535
3636
set argv [lrange $argv 1 end]
37
+
38
+set i [lsearch $argv -keep]
39
+if {$i>=0} {
40
+ set KEEP 1
41
+ set argv [lreplace $argv $i $i]
42
+} else {
43
+ set KEEP 0
44
+}
3745
3846
set i [lsearch $argv -halt]
3947
if {$i>=0} {
4048
set HALT 1
4149
set argv [lreplace $argv $i $i]
@@ -238,10 +246,11 @@
238246
uplevel 1 [list test_cleanup]
239247
return -code return
240248
}
241249
242250
proc test_cleanup {} {
251
+ if {$::KEEP} {return}; # All cleanup disabled?
243252
if {![info exists ::tempRepoPath]} {return}
244253
if {![file exists $::tempRepoPath]} {return}
245254
if {![file isdirectory $::tempRepoPath]} {return}
246255
set tempPathEnd [expr {[string length $::tempPath] - 1}]
247256
if {[string length $::tempPath] == 0 || \
@@ -265,10 +274,11 @@
265274
# unless forbidden by external forces.
266275
if {![info exists ::tempKeepHome]} {delete_temporary_home}
267276
}
268277
269278
proc delete_temporary_home {} {
279
+ if {$::KEEP} {return}; # All cleanup disabled?
270280
if {$::tcl_platform(platform) eq "windows"} {
271281
robust_delete [file join $::tempHomePath _fossil]
272282
} else {
273283
robust_delete [file join $::tempHomePath .fossil]
274284
}
275285
--- test/tester.tcl
+++ test/tester.tcl
@@ -32,10 +32,18 @@
32 [string length [file extension $fossilexe]] == 0} {
33 append fossilexe .exe
34 }
35
36 set argv [lrange $argv 1 end]
 
 
 
 
 
 
 
 
37
38 set i [lsearch $argv -halt]
39 if {$i>=0} {
40 set HALT 1
41 set argv [lreplace $argv $i $i]
@@ -238,10 +246,11 @@
238 uplevel 1 [list test_cleanup]
239 return -code return
240 }
241
242 proc test_cleanup {} {
 
243 if {![info exists ::tempRepoPath]} {return}
244 if {![file exists $::tempRepoPath]} {return}
245 if {![file isdirectory $::tempRepoPath]} {return}
246 set tempPathEnd [expr {[string length $::tempPath] - 1}]
247 if {[string length $::tempPath] == 0 || \
@@ -265,10 +274,11 @@
265 # unless forbidden by external forces.
266 if {![info exists ::tempKeepHome]} {delete_temporary_home}
267 }
268
269 proc delete_temporary_home {} {
 
270 if {$::tcl_platform(platform) eq "windows"} {
271 robust_delete [file join $::tempHomePath _fossil]
272 } else {
273 robust_delete [file join $::tempHomePath .fossil]
274 }
275
--- test/tester.tcl
+++ test/tester.tcl
@@ -32,10 +32,18 @@
32 [string length [file extension $fossilexe]] == 0} {
33 append fossilexe .exe
34 }
35
36 set argv [lrange $argv 1 end]
37
38 set i [lsearch $argv -keep]
39 if {$i>=0} {
40 set KEEP 1
41 set argv [lreplace $argv $i $i]
42 } else {
43 set KEEP 0
44 }
45
46 set i [lsearch $argv -halt]
47 if {$i>=0} {
48 set HALT 1
49 set argv [lreplace $argv $i $i]
@@ -238,10 +246,11 @@
246 uplevel 1 [list test_cleanup]
247 return -code return
248 }
249
250 proc test_cleanup {} {
251 if {$::KEEP} {return}; # All cleanup disabled?
252 if {![info exists ::tempRepoPath]} {return}
253 if {![file exists $::tempRepoPath]} {return}
254 if {![file isdirectory $::tempRepoPath]} {return}
255 set tempPathEnd [expr {[string length $::tempPath] - 1}]
256 if {[string length $::tempPath] == 0 || \
@@ -265,10 +274,11 @@
274 # unless forbidden by external forces.
275 if {![info exists ::tempKeepHome]} {delete_temporary_home}
276 }
277
278 proc delete_temporary_home {} {
279 if {$::KEEP} {return}; # All cleanup disabled?
280 if {$::tcl_platform(platform) eq "windows"} {
281 robust_delete [file join $::tempHomePath _fossil]
282 } else {
283 robust_delete [file join $::tempHomePath .fossil]
284 }
285

Keyboard Shortcuts

Open search /
Next entry (timeline) j
Previous entry (timeline) k
Open focused entry Enter
Show this help ?
Toggle theme Top nav button