From 3fd6edab66244b100c32dc0a8b0720fe61431dcc Mon Sep 17 00:00:00 2001 From: Chun-wei Fan Date: Tue, 17 Dec 2013 10:58:15 +0800 Subject: [PATCH] Fix the Keyfile Test on Windows Windows will not allow one to write to a temp file opened by g_mkstemp() by opening another fd associated with it before one closes the fd that is returned by g_mkstemp(), which will cause the test_save test to fail. Fix this by using a variable to store the fd from g_mkstemp() and checking it, and call close() on that variable before attempting to call g_key_file_save_to_file() on the temp file as that will attempt to open another fd (which would not work) associated with that temp file. https://bugzilla.gnome.org/show_bug.cgi?id=719344 --- glib/tests/keyfile.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/glib/tests/keyfile.c b/glib/tests/keyfile.c index e00460b..d3f70c5 100644 --- a/glib/tests/keyfile.c +++ b/glib/tests/keyfile.c @@ -1370,13 +1370,16 @@ test_save (void) gchar *file; guint64 c; GError *error = NULL; + int fd; kf = g_key_file_new (); ok = g_key_file_load_from_data (kf, data, strlen (data), 0, NULL); g_assert (ok); file = g_strdup ("key_file_XXXXXX"); - g_mkstemp (file); + fd = g_mkstemp (file); + g_assert (fd != -1); + close (fd); ok = g_key_file_save_to_file (kf, file, &error); g_assert (ok); g_assert_no_error (error); -- 2.7.4