diff --git a/tests/Makefile.am b/tests/Makefile.am
index 30cdd1d70b1bb69c1181dd065e6c90739e6735b4..eb96f3899486d22a78a7d8032b126023f8a98efe 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -325,6 +325,7 @@ test_libraries = libshunload.la \
virnetserverclientmock.la \
vircgroupmock.la \
virpcimock.la \
+ qemuxml2argvmock.la \
$(NULL)
if WITH_QEMU
test_libraries += libqemumonitortestutils.la
@@ -441,6 +442,12 @@ qemuxml2argvtest_SOURCES = \
testutils.c testutils.h
qemuxml2argvtest_LDADD = $(qemu_LDADDS) $(LIBXML_LIBS)
+qemuxml2argvmock_la_SOURCES = \
+ qemuxml2argvmock.c
+qemuxml2argvmock_la_CFLAGS = $(AM_CFLAGS)
+qemuxml2argvmock_la_LDFLAGS = -module -avoid-version \
+ -rpath /evil/libtool/hack/to/force/shared/lib/creation
+
qemuxml2xmltest_SOURCES = \
qemuxml2xmltest.c testutilsqemu.c testutilsqemu.h \
testutils.c testutils.h
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-clock-localtime-basis-localtime.args b/tests/qemuxml2argvdata/qemuxml2argv-clock-localtime-basis-localtime.args
new file mode 100644
index 0000000000000000000000000000000000000000..24fe89ca5faf93b0692e6e7d3621189e83b8fbfb
--- /dev/null
+++ b/tests/qemuxml2argvdata/qemuxml2argv-clock-localtime-basis-localtime.args
@@ -0,0 +1,5 @@
+LC_ALL=C PATH=/bin HOME=/home/test USER=test LOGNAME=test QEMU_AUDIO_DRV=none \
+/usr/bin/qemu -S -M pc -m 214 -smp 1 -nographic \
+-monitor unix:/tmp/test-monitor,server,nowait -rtc base=2009-02-14T01:31:30 \
+-no-acpi -boot c -usb -hda /dev/HostVG/QEMUGuest1 -net none -serial none \
+-parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-clock-localtime-basis-localtime.xml b/tests/qemuxml2argvdata/qemuxml2argv-clock-localtime-basis-localtime.xml
new file mode 100644
index 0000000000000000000000000000000000000000..91d57b95434d1c3067181fb0818e877643bf2eea
--- /dev/null
+++ b/tests/qemuxml2argvdata/qemuxml2argv-clock-localtime-basis-localtime.xml
@@ -0,0 +1,28 @@
+
+ QEMUGuest1
+ 1c15a1f6-f4f0-4d3c-9002-667ddb458736
+ 219100
+ 219100
+ 1
+
+ hvm
+
+
+
+ destroy
+ restart
+ destroy
+
+ /usr/bin/qemu
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-clock-variable.args b/tests/qemuxml2argvdata/qemuxml2argv-clock-variable.args
index d67fbf5d29238bc49363b91cde557c6dd8685378..3b7ebdaae7759ff25c516c7a937b41071992c0b9 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-clock-variable.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-clock-variable.args
@@ -1,5 +1,5 @@
LC_ALL=C PATH=/bin HOME=/home/test USER=test LOGNAME=test QEMU_AUDIO_DRV=none \
/usr/bin/qemu -S -M \
pc -m 214 -smp 1 -nographic -monitor unix:/tmp/test-monitor,server,nowait -rtc \
-base=2010-2-2T18:22:10 -no-acpi -boot c -usb -hda /dev/HostVG/QEMUGuest1 -net none \
--serial none -parallel none
+base=2009-02-15T09:49:06 -no-acpi -boot c -usb -hda /dev/HostVG/QEMUGuest1 \
+-net none -serial none -parallel none
diff --git a/tests/qemuxml2argvmock.c b/tests/qemuxml2argvmock.c
new file mode 100644
index 0000000000000000000000000000000000000000..ed9fb13e22328e875acba79932c86a4fa5229fdb
--- /dev/null
+++ b/tests/qemuxml2argvmock.c
@@ -0,0 +1,37 @@
+/*
+ * Copyright (C) 2014 Red Hat, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library 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
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library. If not, see
+ * .
+ *
+ * Author: Michal Privoznik
+ */
+
+#include
+
+#ifdef __linux__
+# include "internal.h"
+# include
+
+time_t time(time_t *t)
+{
+ const time_t ret = 1234567890;
+ if (t)
+ *t = ret;
+ return ret;
+}
+
+#else
+/* Nothing to override on non-__linux__ platforms */
+#endif
diff --git a/tests/qemuxml2argvtest.c b/tests/qemuxml2argvtest.c
index a25264e8e0c64ea90d8222b3a5e6f5f60d533196..c8b385722489abb731320ad184847eff2033e102 100644
--- a/tests/qemuxml2argvtest.c
+++ b/tests/qemuxml2argvtest.c
@@ -618,10 +618,8 @@ mymain(void)
DO_TEST("bios", QEMU_CAPS_DEVICE, QEMU_CAPS_SGA);
DO_TEST("clock-utc", NONE);
DO_TEST("clock-localtime", NONE);
- /*
- * Can't be enabled since the absolute timestamp changes every time
+ DO_TEST("clock-localtime-basis-localtime", QEMU_CAPS_RTC);
DO_TEST("clock-variable", QEMU_CAPS_RTC);
- */
DO_TEST("clock-france", QEMU_CAPS_RTC);
DO_TEST("clock-hpet-off", QEMU_CAPS_RTC, QEMU_CAPS_NO_HPET,
QEMU_CAPS_NO_KVM_PIT);
@@ -1335,7 +1333,7 @@ mymain(void)
return ret==0 ? EXIT_SUCCESS : EXIT_FAILURE;
}
-VIRT_TEST_MAIN(mymain)
+VIRT_TEST_MAIN_PRELOAD(mymain, abs_builddir "/.libs/qemuxml2argvmock.so")
#else