Cosmetics.
[glib.git] / tests / spawn-test.c
blob87ad8eed530ce6c3ce92146a1def5f89093fdd4c
1 /* GLIB - Library of useful routines for C programming
2 * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2 of the License, or (at your option) any later version.
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the
16 * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
17 * Boston, MA 02111-1307, USA.
21 * Modified by the GLib Team and others 1997-2000. See the AUTHORS
22 * file for a list of people on the GLib Team. See the ChangeLog
23 * files for a list of changes. These files are distributed with
24 * GLib at ftp://ftp.gtk.org/pub/gtk/.
27 #undef G_LOG_DOMAIN
29 #include <glib.h>
30 #include <stdio.h>
31 #include <string.h>
32 #include <stdlib.h>
35 static void
36 run_tests (void)
38 GError *err;
39 gchar *output = NULL;
41 printf ("The following errors are supposed to occur:\n");
43 err = NULL;
44 if (!g_spawn_command_line_sync ("nonexistent_application foo 'bar baz' blah blah",
45 NULL, NULL, NULL,
46 &err))
48 fprintf (stderr, "Error (normal, supposed to happen): %s\n", err->message);
49 g_error_free (err);
52 err = NULL;
53 if (!g_spawn_command_line_async ("nonexistent_application foo bar baz \"blah blah\"",
54 &err))
56 fprintf (stderr, "Error (normal, supposed to happen): %s\n", err->message);
57 g_error_free (err);
60 printf ("Errors after this are not supposed to happen:\n");
62 err = NULL;
63 #ifdef G_OS_UNIX
64 if (!g_spawn_command_line_sync ("/bin/sh -c 'echo hello'",
65 &output, NULL, NULL,
66 &err))
68 fprintf (stderr, "Error: %s\n", err->message);
69 g_error_free (err);
70 exit (1);
72 else
74 g_assert (output != NULL);
76 if (strcmp (output, "hello\n") != 0)
78 printf ("output was '%s', should have been 'hello'\n",
79 output);
81 exit (1);
84 g_free (output);
86 #else
87 #ifdef G_OS_WIN32
88 if (!g_spawn_command_line_sync ("ipconfig /all",
89 &output, NULL, NULL,
90 &err))
92 fprintf (stderr, "Error: %s\n", err->message);
93 g_error_free (err);
94 exit (1);
96 else
98 g_assert (output != NULL);
100 if (strstr (output, "IP Configuration") == 0)
102 printf ("output was '%s', should have contained 'IP Configuration'\n",
103 output);
105 exit (1);
108 g_free (output);
111 #endif
112 #endif
116 main (int argc,
117 char *argv[])
119 run_tests ();
121 return 0;