runtests: always put test number in servercmd file
diff --git a/tests/FILEFORMAT.md b/tests/FILEFORMAT.md
index d01f3f1..586b84b 100644
--- a/tests/FILEFORMAT.md
+++ b/tests/FILEFORMAT.md
@@ -130,6 +130,10 @@
 ### `<servercmd>`
 Special-commands for the server.
 
+The first line of this file will always be set to `Testnum [number]` by the
+test script, to allow servers to read that to know what test the client is
+about to issue.
+
 #### For FTP/SMTP/POP/IMAP
 
 - `REPLY [command] [return value] [response string]` - Changes how the server
diff --git a/tests/runtests.pl b/tests/runtests.pl
index 82de7f7..5485b15 100755
--- a/tests/runtests.pl
+++ b/tests/runtests.pl
@@ -175,7 +175,7 @@
 my $SERVER2IN="$LOGDIR/server2.input"; # what curl sent the second server
 my $PROXYIN="$LOGDIR/proxy.input"; # what curl sent the proxy
 my $CURLLOG="commands.log"; # all command lines run
-my $FTPDCMD="$LOGDIR/ftpserver.cmd"; # copy ftp server instructions here
+my $FTPDCMD="$LOGDIR/ftpserver.cmd"; # copy server instructions here
 my $SERVERLOGS_LOCK="$LOGDIR/serverlogs.lock"; # server logs advisor read lock
 my $CURLCONFIG="../curl-config"; # curl-config from current build
 
@@ -3675,10 +3675,9 @@
     unlink($SERVER2IN);
     unlink($PROXYIN);
 
-    if(@ftpservercmd) {
-        # write the instructions to file
-        writearray($FTPDCMD, \@ftpservercmd);
-    }
+    push @ftpservercmd, "Testnum $testnum\n";
+    # write the instructions to file
+    writearray($FTPDCMD, \@ftpservercmd);
 
     # get the command line options to use
     my @blaha;
@@ -4029,9 +4028,6 @@
         }
     }
 
-    # remove the test server commands file after each test
-    unlink($FTPDCMD) if(-f $FTPDCMD);
-
     # run the postcheck command
     my @postcheck= getpart("client", "postcheck");
     if(@postcheck) {