test: clarify error message if test data directory does not exist
authorMartin Pitt <martin@piware.de>
Tue, 14 Feb 2017 07:58:19 +0000 (08:58 +0100)
committerMartin Pitt <martin@piware.de>
Thu, 16 Feb 2017 20:36:30 +0000 (21:36 +0100)
When trying to directly run a test executable in the build tree without
setting $TEST_DIR, some tests fail with a non-obvious error message.
Print an useful one instead.

src/shared/tests.c

index 7034687..189aa36 100644 (file)
@@ -42,5 +42,9 @@ const char* get_exe_relative_testdata_dir(void) {
 
         assert_se(readlink_and_make_absolute("/proc/self/exe", &exedir) >= 0);
         assert_se(snprintf(testdir, sizeof(testdir), "%s/testdata", dirname(exedir)) > 0);
+        if (access(testdir, F_OK) < 0) {
+                fprintf(stderr,  "Test data directory '%s' does not exist, set $TEST_DIR\n", testdir);
+                exit(1);
+        }
         return testdir;
 }