[PATCH] testbot/TestAgent: Return the server command line in the properties.

Francois Gouget fgouget at codeweavers.com
Wed Sep 18 03:08:14 CDT 2019


Signed-off-by: Francois Gouget <fgouget at codeweavers.com>
---
 testbot/lib/WineTestBot/TestAgent.pm |  2 +-
 testbot/src/testagentd/testagentd.c  | 14 ++++++++++++--
 2 files changed, 13 insertions(+), 3 deletions(-)

diff --git a/testbot/lib/WineTestBot/TestAgent.pm b/testbot/lib/WineTestBot/TestAgent.pm
index 8d7f456fd..3cd72b503 100644
--- a/testbot/lib/WineTestBot/TestAgent.pm
+++ b/testbot/lib/WineTestBot/TestAgent.pm
@@ -1394,7 +1394,7 @@ sub GetProperties($;$)
       my $Property = $self->_RecvRawString("Prop$i.s", $Size);
       return undef if (!defined $Property);
       debug("  RecvProperty() -> '$Property'\n");
-      if ($Property =~ s/^([a-zA-Z0-9.]+)=//)
+      if ($Property =~ s/^([a-zA-Z0-9.]+(?:\[[0-9]+\])?)=//)
       {
         $Properties->{$1} = $Property;
       }
diff --git a/testbot/src/testagentd/testagentd.c b/testbot/src/testagentd/testagentd.c
index fbc26ab0d..5fd136721 100644
--- a/testbot/src/testagentd/testagentd.c
+++ b/testbot/src/testagentd/testagentd.c
@@ -44,6 +44,7 @@
 
 #define BLOCK_SIZE       65536
 
+static int server_argc;
 static char** server_argv;
 static const char *name0;
 static int opt_debug = 0;
@@ -1006,18 +1007,26 @@ static void do_getproperties(SOCKET client)
 {
     const char* arch;
     char* buf = NULL;
-    int size = 0;
+    int i, size = 0;
 
     if (!expect_list_size(client, 0))
     {
         send_error(client);
         return;
     }
-    send_list_size(client, 3);
+    send_list_size(client, server_argc + 4);
 
     format_msg(&buf, &size, "protocol.version=%s", PROTOCOL_VERSION);
     send_string(client, buf);
 
+    format_msg(&buf, &size, "server.argc=%d", server_argc);
+    send_string(client, buf);
+    for (i = 0; i < server_argc; i++)
+    {
+        format_msg(&buf, &size, "server.argv[%d]=%s", i, server_argv[i]);
+        send_string(client, buf);
+    }
+
 #ifdef WIN32
     arch = "win32";
 #else
@@ -1342,6 +1351,7 @@ int main(int argc, char** argv)
     SOCKET master;
     int on = 1;
 
+    server_argc = argc;
     server_argv = argv;
     name0 = p = argv[0];
     while (*p != '\0')
-- 
2.20.1



More information about the wine-devel mailing list