Ensure that directories mentioned in keymaster test configurations exist
authorJacob Bachmeyer <jcb@gnu.org>
Sat, 29 Apr 2023 00:00:32 +0000 (19:00 -0500)
committerJacob Bachmeyer <jcb@gnu.org>
Sat, 29 Apr 2023 00:00:32 +0000 (19:00 -0500)
testsuite/lib/tool/keymaster.exp

index bf12086dd84683e254a905d9bebd48bde53f89e5..0bd0a07da99a4ec9aa11b56a9cf736a8effa8a39 100644 (file)
@@ -22,8 +22,16 @@ if { ! [info exists PERL] } { set PERL perl }
 if { ! [info exists CHECK_COVERAGE] } { set CHECK_COVERAGE no }
 
 proc write_test_config { base_dir config } {
-    put_file [file join $base_dir test.conf] \
+    set config_text  \
        [regsub -all -line -- {^[ \t]+} [uplevel 1 subst [list $config]] ""]
+    put_file [file join $base_dir test.conf] $config_text
+
+    # ensure that directories named in the configuration exist
+    foreach line [split $config_text "\n"] {
+       if { [regexp {dir\s*=\s*(\S+)} $line -> dir] } {
+           file mkdir $dir
+       }
+    }
 }
 
 proc make_test_environment { base_dir } {