test-doc-portal: skip all tests if no FUSE

Signed-off-by: Simon McVittie <smcv@debian.org>
tingping/wmclass
Simon McVittie 2016-01-28 12:24:34 +01:00
parent 74c652a176
commit aaae0d0b6d
1 changed files with 26 additions and 0 deletions

View File

@ -21,6 +21,7 @@ GTestDBus *dbus;
GDBusConnection *session_bus;
XdpDbusDocuments *documents;
char *mountpoint;
static gboolean have_fuse;
static char *
make_doc_dir (const char *id, const char *app)
@ -157,6 +158,12 @@ test_create_doc (void)
const char *basename = "a-file";
GError *error = NULL;
if (!have_fuse)
{
g_test_skip ("this test requires FUSE");
return;
}
id = export_new_file (basename, "content", FALSE);
assert_doc_has_contents (id, basename, NULL, "content");
@ -191,6 +198,12 @@ test_recursive_doc (void)
g_autofree char *path = NULL;
g_autofree char *app_path = NULL;
if (!have_fuse)
{
g_test_skip ("this test requires FUSE");
return;
}
id = export_new_file (basename, "recursive-content", FALSE);
assert_doc_has_contents (id, basename, NULL, "recursive-content");
@ -215,9 +228,19 @@ static void
global_setup (void)
{
gboolean inited;
g_autofree gchar *fusermount = NULL;
GError *error = NULL;
gint exit_status;
fusermount = g_find_program_in_path ("fusermount");
/* cache result so subsequent tests can be marked as skipped */
have_fuse = (access ("/dev/fuse", W_OK) == 0 &&
fusermount != NULL &&
g_file_test (fusermount, G_FILE_TEST_IS_EXECUTABLE));
if (!have_fuse)
return;
g_mkdtemp (outdir);
g_print ("outdir: %s\n", outdir);
@ -257,6 +280,9 @@ global_teardown (void)
{
GError *error = NULL;
if (!have_fuse)
return;
g_free (mountpoint);
g_object_unref (documents);