if (!ret)
return FAILED ("11. It should return TRUE");
if (argc != 2)
- return FAILED ("12. argc was %d", argc);
+ return FAILED ("12. argc was %d expected 2", argc);
if (strcmp (argv [0], "hola"))
return FAILED ("13. argv[0] was %s", argv [0]);
if (strcmp (argv [1], "bola"))
if (!ret)
return FAILED ("16. It should return TRUE");
if (argc != 3)
- return FAILED ("17. argc was %d", argc);
+ return FAILED ("17. argc was %d expected 3", argc);
if (strcmp (argv [0], "hola"))
return FAILED ("18. argv[0] was %s", argv [0]);
if (strcmp (argv [1], ""))
g_strfreev (argv);
argv = NULL;
argc = 0;
+ error = NULL;
+ ret = g_shell_parse_argv ("hola'' bola", &argc, &argv, &error);
+ if (!ret)
+ return FAILED ("21. It should return TRUE");
+ if (argc != 2)
+ return FAILED ("22. argc was %d expected 2", argc);
+ if (strcmp (argv [0], "hola"))
+ return FAILED ("23. argv[0] was %s", argv [0]);
+ if (strcmp (argv [1], "bola"))
+ return FAILED ("24. argv[2] was %s", argv [1]);
+ if (error != NULL)
+ return FAILED ("25. error is not null");
+
return OK;
}
if (!ret)
return FAILED ("1. It should return TRUE");
if (argc != 2)
- return FAILED ("2. argc was %d", argc);
+ return FAILED ("2. argc was %d expected 2", argc);
if (strcmp (argv [0], "hola"))
return FAILED ("3. argv[0] was %s", argv [0]);
if (strcmp (argv [1], "bola"))
if (!ret)
return FAILED ("6. It should return TRUE");
if (argc != 3)
- return FAILED ("7. argc was %d", argc);
+ return FAILED ("7. argc was %d expected 3", argc);
if (strcmp (argv [0], "hola"))
return FAILED ("8. argv[0] was %s", argv [0]);
if (strcmp (argv [1], ""))
if (!ret)
return FAILED ("10. It should return TRUE");
if (argc != 3)
- return FAILED ("11. argc was %d", argc);
+ return FAILED ("11. argc was %d expected 3", argc);
if (strcmp (argv [0], "hola"))
return FAILED ("12. argv[0] was %s", argv [0]);
if (strcmp (argv [1], "\t"))
if (!ret)
return FAILED ("16. It should return TRUE");
if (argc != 3)
- return FAILED ("17. argc was %d", argc);
+ return FAILED ("17. argc was %d expected 3", argc);
if (strcmp (argv [0], "hola"))
return FAILED ("18. argv[0] was %s", argv [0]);
if (strcmp (argv [1], "\t"))
if (ret)
return FAILED ("1. It should return FALSE");
if (argc != 0)
- return FAILED ("2. argc was %d", argc);
+ return FAILED ("2. argc was %d expected 0", argc);
if (argv != NULL)
return FAILED ("3. argv[0] was %s", argv [0]);
if (error == NULL)
if (!ret)
return FAILED ("5. It should return TRUE");
if (argc != 2)
- return FAILED ("6. argc was %d", argc);
+ return FAILED ("6. argc was %d expected 2", argc);
if (strcmp (argv [0], "hola"))
return FAILED ("18. argv[0] was %s", argv [0]);
if (strcmp (argv [1], "\"bola"))
if (!ret)
return FAILED ("9. It should return TRUE. %s", error->message);
if (argc != 2)
- return FAILED ("10. argc was %d", argc);
+ return FAILED ("10. argc was %d expected 2", argc);
if (strcmp (argv [0], "hola"))
return FAILED ("11. argv[0] was %s", argv [0]);
if (strcmp (argv [1], "\n\\'bola"))
if (!ret)
return FAILED ("1. It should return TRUE");
if (argc != 3)
- return FAILED ("2. argc was %d", argc);
+ return FAILED ("2. argc was %d expected 3", argc);
if (argv == NULL)
return FAILED ("3. argv[0] was NULL");
if (error != NULL)
return OK;
}
+// This is https://bugzilla.novell.com/show_bug.cgi?id=655896
+RESULT
+test_shell_argv5 ()
+{
+ GError *error;
+ gint argc;
+ gchar **argv;
+ gboolean ret;
+ char *str = "echo \"foo\",\"bar\"";
+
+ argv = NULL;
+ argc = 0;
+ error = NULL;
+ ret = g_shell_parse_argv (str, &argc, &argv, &error);
+ if (!ret)
+ return FAILED ("1. It should return TRUE");
+ if (argc != 2)
+ return FAILED ("2. argc was %d expected 2", argc);
+ if (argv == NULL)
+ return FAILED ("3. argv[0] was NULL");
+ if (error != NULL)
+ return FAILED ("4. error was set");
+
+ if (strcmp (argv [0], "echo"))
+ return FAILED ("5. Expected echo got %s", argv [0]);
+ if (strcmp (argv [1], "foo,bar"))
+ return FAILED ("6. Expected foo,bar, got: %s", argv [1]);
+
+ return OK;
+}
+
RESULT
test_quote ()
{
}
static Test shell_tests [] = {
- {"g_shell_parse_argv1", test_shell_argv1},
- {"g_shell_parse_argv2", test_shell_argv2},
- {"g_shell_parse_argv3", test_shell_argv3},
- {"g_shell_parse_argv4", test_shell_argv4},
+ {"test_shell_argv1", test_shell_argv1},
+ {"test_shell_argv2", test_shell_argv2},
+ {"test_shell_argv3", test_shell_argv3},
+ {"test_shell_argv4", test_shell_argv4},
+ {"test_shell_argv5", test_shell_argv5},
{"g_shell_quote", test_quote},
{NULL, NULL}
};