Add infrastructure for testsuite coverage analysis
authorJacob Bachmeyer <jcb@gnu.org>
Thu, 27 Jan 2022 03:10:11 +0000 (21:10 -0600)
committerJacob Bachmeyer <jcb@gnu.org>
Thu, 27 Jan 2022 03:10:11 +0000 (21:10 -0600)
testsuite/lib/upload.exp

index 6f7e376f1780573e0a11a8d83ba22f8f4ba9d508..8eb582e535f4d365cd127db2e85c52634ec44ede 100644 (file)
@@ -18,6 +18,8 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 set UPLOAD_TOOL [file join $srcdir upload-ftp-v1.2.pl]
+if { ! [info exists PERL] } { set PERL perl }
+if { ! [info exists CHECK_COVERAGE] } { set CHECK_COVERAGE no }
 
 # Format versions accepted by the script.
 set DIRECTIVE_FORMAT_VERSIONS { 1.1 1.2 }
@@ -282,10 +284,15 @@ proc stop_test_services {} {
 
 proc run_upload_batch_test {} {
     global spawn_id
-    global UPLOAD_TOOL
+    global UPLOAD_TOOL PERL CHECK_COVERAGE
 
     # run test case
-    spawn $UPLOAD_TOOL --testing-this-script -s ftp
+    set runcmd [list spawn]
+    if { $CHECK_COVERAGE } {
+       lappend runcmd $PERL -T -MDevel::Cover=-silent,1
+    }
+    lappend runcmd $UPLOAD_TOOL --testing-this-script -s ftp
+    eval $runcmd
     wait
 }