summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Blumenkrantz <zmike@samsung.com>2019-09-13 14:13:33 -0400
committerMike Blumenkrantz <zmike@samsung.com>2019-09-13 14:13:33 -0400
commitcfae5ba28579b37932dc516a9622eb58cfebefa1 (patch)
tree52d1ed1a287cd6f3520d6843805acfe243659103
parent51265dea6b84a6b6191abc03e89087d710d31883 (diff)
downloadefl-cfae5ba28579b37932dc516a9622eb58cfebefa1.tar.gz
tests/edje: handle file modifications properly on windows
Summary: we don't have access to utimensat and I'm too busy to figure out why Reviewers: vtorri, bu5hm4n, devilhorns Reviewed By: vtorri Subscribers: cedric, #reviewers, #committers Tags: #efl_build Differential Revision: https://phab.enlightenment.org/D9914
-rw-r--r--src/tests/edje/edje_test_edje.c24
1 files changed, 22 insertions, 2 deletions
diff --git a/src/tests/edje/edje_test_edje.c b/src/tests/edje/edje_test_edje.c
index 17eb7d5d4c..fed2dde075 100644
--- a/src/tests/edje/edje_test_edje.c
+++ b/src/tests/edje/edje_test_edje.c
@@ -9,7 +9,9 @@
#define EFL_CANVAS_LAYOUT_BETA
#include "edje_suite.h"
-
+#ifdef _WIN32
+# include <windows.h>
+#endif
#define EVAS_DATA_DIR TESTS_SRC_DIR "/../../lib/evas"
EFL_START_TEST(edje_test_edje_init)
@@ -44,7 +46,6 @@ EFL_START_TEST(edje_test_edje_reload)
Evas *evas = _setup_evas();
Evas_Object *obj, *rect;
int called = 0;
- struct timespec t[2] = {0};
const char *layout = test_layout_get("test_swallows.edj");
obj = edje_object_add(evas);
@@ -62,8 +63,27 @@ EFL_START_TEST(edje_test_edje_reload)
/* load should NOT be called */
ck_assert_int_eq(called, 0);
+#ifdef _WIN32
+ HANDLE handle;
+ FILETIME modtime;
+ SYSTEMTIME st;
+ wchar_t date[80], time[80];
+ handle = CreateFile(layout,
+ GENERIC_READ | GENERIC_WRITE, FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE,
+ NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL,
+ NULL);
+ ck_assert(handle != INVALID_HANDLE_VALUE);
+ GetSystemTime(&st);
+ ck_assert(GetDateFormatW(LOCALE_USER_DEFAULT, DATE_LONGDATE, &st, NULL, date, sizeof(date) / sizeof(date[0])));
+ ck_assert(GetTimeFormatW(LOCALE_USER_DEFAULT, 0, &st, NULL, time, sizeof(time) / sizeof(time[0])));
+ ck_assert(SystemTimeToFileTime(&st, &modtime));
+ ck_assert(SetFileTime(handle, NULL, NULL, &modtime));
+ CloseHandle(handle);
+#else
+ struct timespec t[2] = {0};
t[0].tv_nsec = t[1].tv_nsec = UTIME_NOW;
ck_assert(!utimensat(0, layout, t, 0));
+#endif
called = 0;
fail_unless(edje_object_file_set(obj, layout, "test_group"));