test-main.c revision 1fbf6fa49c90010f3f255f60944920ef8908701c
1d65b73884cb876276b6bd73f4b1dfcd920984a8aHavoc Pennington/* -*- mode: C; c-file-style: "gnu" -*- */
2d65b73884cb876276b6bd73f4b1dfcd920984a8aHavoc Pennington/* test-main.c  main() for make check
3d65b73884cb876276b6bd73f4b1dfcd920984a8aHavoc Pennington *
4d65b73884cb876276b6bd73f4b1dfcd920984a8aHavoc Pennington * Copyright (C) 2003 Red Hat, Inc.
5d65b73884cb876276b6bd73f4b1dfcd920984a8aHavoc Pennington *
6d65b73884cb876276b6bd73f4b1dfcd920984a8aHavoc Pennington * Licensed under the Academic Free License version 1.2
7d65b73884cb876276b6bd73f4b1dfcd920984a8aHavoc Pennington *
8d65b73884cb876276b6bd73f4b1dfcd920984a8aHavoc Pennington * This program is free software; you can redistribute it and/or modify
9d65b73884cb876276b6bd73f4b1dfcd920984a8aHavoc Pennington * it under the terms of the GNU General Public License as published by
10d65b73884cb876276b6bd73f4b1dfcd920984a8aHavoc Pennington * the Free Software Foundation; either version 2 of the License, or
11d65b73884cb876276b6bd73f4b1dfcd920984a8aHavoc Pennington * (at your option) any later version.
12d65b73884cb876276b6bd73f4b1dfcd920984a8aHavoc Pennington *
13d65b73884cb876276b6bd73f4b1dfcd920984a8aHavoc Pennington * This program is distributed in the hope that it will be useful,
14d65b73884cb876276b6bd73f4b1dfcd920984a8aHavoc Pennington * but WITHOUT ANY WARRANTY; without even the implied warranty of
15d65b73884cb876276b6bd73f4b1dfcd920984a8aHavoc Pennington * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16d65b73884cb876276b6bd73f4b1dfcd920984a8aHavoc Pennington * GNU General Public License for more details.
17d65b73884cb876276b6bd73f4b1dfcd920984a8aHavoc Pennington *
18d65b73884cb876276b6bd73f4b1dfcd920984a8aHavoc Pennington * You should have received a copy of the GNU General Public License
19d65b73884cb876276b6bd73f4b1dfcd920984a8aHavoc Pennington * along with this program; if not, write to the Free Software
20d65b73884cb876276b6bd73f4b1dfcd920984a8aHavoc Pennington * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
21d65b73884cb876276b6bd73f4b1dfcd920984a8aHavoc Pennington *
22d65b73884cb876276b6bd73f4b1dfcd920984a8aHavoc Pennington */
23d65b73884cb876276b6bd73f4b1dfcd920984a8aHavoc Pennington
24d65b73884cb876276b6bd73f4b1dfcd920984a8aHavoc Pennington#include "test.h"
253bea935316ff048e68dea6a26c2e8e9fd314477fHavoc Pennington#include <stdio.h>
263bea935316ff048e68dea6a26c2e8e9fd314477fHavoc Pennington#include <stdlib.h>
273bea935316ff048e68dea6a26c2e8e9fd314477fHavoc Pennington#include <dbus/dbus-string.h>
283bea935316ff048e68dea6a26c2e8e9fd314477fHavoc Pennington#include <dbus/dbus-sysdeps.h>
293bea935316ff048e68dea6a26c2e8e9fd314477fHavoc Pennington
303bea935316ff048e68dea6a26c2e8e9fd314477fHavoc Penningtonstatic void
313bea935316ff048e68dea6a26c2e8e9fd314477fHavoc Penningtondie (const char *failure)
323bea935316ff048e68dea6a26c2e8e9fd314477fHavoc Pennington{
333bea935316ff048e68dea6a26c2e8e9fd314477fHavoc Pennington  fprintf (stderr, "Unit test failed: %s\n", failure);
343bea935316ff048e68dea6a26c2e8e9fd314477fHavoc Pennington  exit (1);
353bea935316ff048e68dea6a26c2e8e9fd314477fHavoc Pennington}
36d65b73884cb876276b6bd73f4b1dfcd920984a8aHavoc Pennington
37d65b73884cb876276b6bd73f4b1dfcd920984a8aHavoc Penningtonint
38d65b73884cb876276b6bd73f4b1dfcd920984a8aHavoc Penningtonmain (int argc, char **argv)
39d65b73884cb876276b6bd73f4b1dfcd920984a8aHavoc Pennington{
40d65b73884cb876276b6bd73f4b1dfcd920984a8aHavoc Pennington#ifdef DBUS_BUILD_TESTS
413bea935316ff048e68dea6a26c2e8e9fd314477fHavoc Pennington  const char *dir;
423bea935316ff048e68dea6a26c2e8e9fd314477fHavoc Pennington  DBusString test_data_dir;
433bea935316ff048e68dea6a26c2e8e9fd314477fHavoc Pennington
443bea935316ff048e68dea6a26c2e8e9fd314477fHavoc Pennington  if (argc > 1)
453bea935316ff048e68dea6a26c2e8e9fd314477fHavoc Pennington    dir = argv[1];
463bea935316ff048e68dea6a26c2e8e9fd314477fHavoc Pennington  else
473bea935316ff048e68dea6a26c2e8e9fd314477fHavoc Pennington    dir = _dbus_getenv ("DBUS_TEST_DATA");
483bea935316ff048e68dea6a26c2e8e9fd314477fHavoc Pennington
493bea935316ff048e68dea6a26c2e8e9fd314477fHavoc Pennington  if (dir == NULL)
503bea935316ff048e68dea6a26c2e8e9fd314477fHavoc Pennington    dir = "";
51d65b73884cb876276b6bd73f4b1dfcd920984a8aHavoc Pennington
523bea935316ff048e68dea6a26c2e8e9fd314477fHavoc Pennington  _dbus_string_init_const (&test_data_dir, dir);
531fbf6fa49c90010f3f255f60944920ef8908701cHavoc Pennington
541fbf6fa49c90010f3f255f60944920ef8908701cHavoc Pennington  printf ("%s: Running message dispatch test\n", argv[0]);
553bea935316ff048e68dea6a26c2e8e9fd314477fHavoc Pennington  if (!bus_dispatch_test (&test_data_dir))
563bea935316ff048e68dea6a26c2e8e9fd314477fHavoc Pennington    die ("dispatch");
574c95a9782c65f88e2904c44abeb734a1b00f6353Havoc Pennington
581fbf6fa49c90010f3f255f60944920ef8908701cHavoc Pennington  printf ("%s: Success\n", argv[0]);
59d65b73884cb876276b6bd73f4b1dfcd920984a8aHavoc Pennington
60d65b73884cb876276b6bd73f4b1dfcd920984a8aHavoc Pennington  return 0;
61d65b73884cb876276b6bd73f4b1dfcd920984a8aHavoc Pennington#else /* DBUS_BUILD_TESTS */
624c95a9782c65f88e2904c44abeb734a1b00f6353Havoc Pennington
634c95a9782c65f88e2904c44abeb734a1b00f6353Havoc Pennington  printf ("Not compiled with test support\n");
644c95a9782c65f88e2904c44abeb734a1b00f6353Havoc Pennington
65d65b73884cb876276b6bd73f4b1dfcd920984a8aHavoc Pennington  return 0;
66d65b73884cb876276b6bd73f4b1dfcd920984a8aHavoc Pennington#endif
67d65b73884cb876276b6bd73f4b1dfcd920984a8aHavoc Pennington}
68