fix 1817
authorChristian Grothoff <christian@grothoff.org>
Wed, 2 Nov 2011 15:11:43 +0000 (15:11 +0000)
committerChristian Grothoff <christian@grothoff.org>
Wed, 2 Nov 2011 15:11:43 +0000 (15:11 +0000)
contrib/Makefile.am
contrib/test_gnunet_prefix.c [new file with mode: 0644]

index 7ad8e542ac5d554659a632488953c05c83f0d510..5efbe5a32b6f556f36816e9614b71733c4bf0f18 100644 (file)
@@ -1,3 +1,6 @@
+INCLUDES = -I$(top_srcdir)/src/include -I$(top_builddir)/src/include
+
+
 if !MINGW
 noinst_PROGRAMS = \
  timeout_watchdog
@@ -36,3 +39,9 @@ do_subst = $(SED) -e 's,[@]PYTHON[@],$(PYTHON),g'
 # junklookup.sh \
 # namespacehelper.sh 
 
+
+check_PROGRAMS = \
+ test_gnunet_prefix
+
+test_gnunet_prefix_SOURCES = \
+ test_gnunet_prefix.c
\ No newline at end of file
diff --git a/contrib/test_gnunet_prefix.c b/contrib/test_gnunet_prefix.c
new file mode 100644 (file)
index 0000000..ea81371
--- /dev/null
@@ -0,0 +1,65 @@
+/*
+      This file is part of GNUnet
+     (C) 2011 Christian Grothoff (and other contributing authors)
+
+      GNUnet is free software; you can redistribute it and/or modify
+      it under the terms of the GNU General Public License as published
+      by the Free Software Foundation; either version 2, or (at your
+      option) any later version.
+
+      GNUnet is distributed in the hope that it will be useful, but
+      WITHOUT ANY WARRANTY; without even the implied warranty of
+      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+      General Public License for more details.
+
+      You should have received a copy of the GNU General Public License
+      along with GNUnet; see the file COPYING.  If not, write to the
+      Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+      Boston, MA 02110-1301, USA.
+ */
+
+/**
+ * @file contrib/test_gnunet_prefix.c
+ * @brief test if environment variable GNUNET_PREFIX is set so that
+ *        we have a chance to run tests
+ * @author Christian Grothoff
+ */
+#include "platform.h"
+
+
+int 
+main (int argc,
+      char **argv)
+{
+  const char *basename;
+  const char *dirname;
+
+  basename = getenv ("GNUNET_PREFIX");  
+  if (NULL == basename)
+  {
+    fprintf (stderr,
+            _("Environment variable GNUNET_PREFIX not set\n"));
+    fprintf (stderr, 
+            _("Testcases will not work!\n"));
+    return 1;
+  }
+  dirname = DIR_SEPARATOR_STR "share" DIR_SEPARATOR_STR "gnunet" DIR_SEPARATOR_STR "defaults.conf";
+  {
+    char tmp[strlen (basename) + strlen (dirname) + 1];
+    sprintf (tmp, "%s%s", basename, dirname);
+    if (0 != access (tmp, R_OK))
+    {
+      fprintf (stderr,
+              _("Failed to access `%s': %s\n"),
+              tmp,
+              STRERROR (errno));
+      fprintf (stderr,
+              _("Check that you did run `make install' and that GNUNET_PREFIX='%s' is the correct prefix.\n"),
+              basename);
+      fprintf (stderr, 
+              _("Testcases will not work!\n"));
+      return 2;
+    }
+  }
+  return 0;
+}