Improve handling of test environments in upload testsuite
authorJacob Bachmeyer <jcb@gnu.org>
Tue, 20 Sep 2022 00:04:12 +0000 (19:04 -0500)
committerJacob Bachmeyer <jcb@gnu.org>
Tue, 20 Sep 2022 00:04:12 +0000 (19:04 -0500)
This removes the argument to the new_test_environment procedure.

testsuite/lib/upload.exp
testsuite/upload.all/00_idle.exp
testsuite/upload.all/01_loose.exp
testsuite/upload.all/03_triplet.exp
testsuite/upload.all/11_am_cve.exp

index 93654f519fd15ace2c732feed34ba54b46c2950e..f1cbfd901914fc1a51492f0984a7add9612e5bf8 100644 (file)
@@ -1,6 +1,6 @@
 # DejaGnu tool init file for GNU FTP upload handler tests
 
-# Copyright (C) 2021 Jacob Bachmeyer
+# Copyright (C) 2021, 2022 Jacob Bachmeyer
 #
 # This file is part of a testsuite for the GNU FTP upload system.
 #
@@ -26,6 +26,10 @@ set DIRECTIVE_FORMAT_VERSIONS { 1.1 1.2 }
 # Make sure to add a test in 03_triplet.exp whenever one of these is
 # removed to confirm that it is considered invalid.
 
+set TEST_BASE [file join \
+                  [file dirname [testsuite file -object -top]] test.tmp]
+set TENV_STEM [file join $TEST_BASE tenv]
+
 # invoked by DejaGnu framework when a failure is recorded
 proc upload_count_failures { args } {
     global upload_failure_count
@@ -53,8 +57,9 @@ proc new_work_area { stem } {
     return $name
 }
 
-proc new_test_environment { stem } {
-    set name [new_work_area $stem]
+proc new_test_environment { } {
+    global TENV_STEM
+    set name [new_work_area $TENV_STEM]
 
     global upload_failure_count
     set upload_failure_count 0
@@ -988,7 +993,8 @@ proc analyze_mail { base_dir name args } {
 
 proc upload_exit {} {
     # clean up test environment tree
-    catch {file delete -- test.tmp}
+    global TEST_BASE
+    catch {file delete -- $TEST_BASE}
 }
 proc upload_version {} {
     global UPLOAD_TOOL
index 9730c522e11723bf467c65de1de562007e8ce6d7..75bd000954cd4c2add6578edd55021c59aa29222 100644 (file)
@@ -1,6 +1,6 @@
 # Tests for processing with nothing to do
 
-# Copyright (C) 2021 Jacob Bachmeyer
+# Copyright (C) 2021, 2022 Jacob Bachmeyer
 #
 # This file is part of a testsuite for the GNU FTP upload system.
 #
@@ -17,7 +17,7 @@
 # You should have received a copy of the GNU General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
-set tenv [new_test_environment [file join test.tmp tenv]]
+set tenv [new_test_environment]
 
 start_test_services $tenv
 run_upload_batch_test
@@ -38,7 +38,7 @@ close_test_environment $tenv
 
 # ----------------------------------------
 
-set tenv [new_test_environment [file join test.tmp tenv]]
+set tenv [new_test_environment]
 
 # files which are to be found in the scan but not processed
 put_file [file join $tenv incoming bogus1] "bogus file 1\n"
@@ -118,7 +118,7 @@ close_test_environment $tenv
 # ----------------------------------------
 
 proc check_incomplete_upload { has_directive has_main has_signature } {
-    set tenv [new_test_environment [file join test.tmp tenv]]
+    set tenv [new_test_environment]
 
     put_file [file join $tenv mocks] ":^ lsof -Fn .*\n? 1\n"
 
@@ -190,7 +190,7 @@ check_incomplete_upload 1 1 0
 # ----------------------------------------
 
 proc check_ongoing_upload { open_directive open_main open_signature } {
-    set tenv [new_test_environment [file join test.tmp tenv]]
+    set tenv [new_test_environment]
 
     set msglist {
        start "ftp-upload start message"
@@ -278,7 +278,7 @@ check_ongoing_upload 0 0 1
 # ----------------------------------------
 
 proc check_recent_upload { recent_directive recent_main recent_signature } {
-    set tenv [new_test_environment [file join test.tmp tenv]]
+    set tenv [new_test_environment]
 
     set msglist {
        start "ftp-upload start message"
@@ -350,7 +350,7 @@ check_recent_upload 0 0 1
 # ----------------------------------------
 
 proc check_oversize_part { oversize_directive oversize_signature } {
-    set tenv [new_test_environment [file join test.tmp tenv]]
+    set tenv [new_test_environment]
 
     set msglist {
        start "ftp-upload start message"
index f2801bd6692671b3d3f70ad053c5b1f97feb3fa4..4540aed7fb4ca041a647ef283e31e530b4f05f0f 100644 (file)
@@ -1,6 +1,6 @@
 # Tests for processing standalone directives
 
-# Copyright (C) 2021 Jacob Bachmeyer
+# Copyright (C) 2021, 2022 Jacob Bachmeyer
 #
 # This file is part of a testsuite for the GNU FTP upload system.
 #
@@ -18,7 +18,7 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 proc check_loose_directive { desc case args } {
-    set tenv [new_test_environment [file join test.tmp tenv]]
+    set tenv [new_test_environment]
 
     array set opt {
        initial-files {} initial-symlinks {}
index 5a95f6bf1ee7c64b5b19bfc59f2a994c4fe8bbf9..1f3b1f5092467a9fb0ce0a10a8d925d609913587 100644 (file)
@@ -18,7 +18,7 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 proc check_triplet { desc args } {
-    set tenv [new_test_environment [file join test.tmp tenv]]
+    set tenv [new_test_environment]
 
     array set data { setup {} upload {} check {} }
     array set data $args
index 9f1548a71ace8e3244fed0fe42ff66ad7f182e79..9df83dc23f53d556ce7cabad2e21321985617c21 100644 (file)
@@ -46,7 +46,7 @@ proc check_am_cve_upload {desc fragment {log {}}} {
     }
     if { [llength $log] > 0 } { append log_items $log }
 
-    set tenv [new_test_environment [file join test.tmp tenv]]
+    set tenv [new_test_environment]
 
     register_test_packages $tenv {
        foo {