Provide time gap between uuid generation during tests
authorVasudev Kamath <kamathvausdev@gmail.com>
Sat, 13 Sep 2014 17:46:39 +0000 (18:46 +0100)
committerVasudev Kamath <kamathvasudev@gmail.com>
Sat, 13 Sep 2014 17:46:39 +0000 (18:46 +0100)
Forwarded: no
Last-Update: 2013-09-14

GNU Mach's i.e. Hurd's kernel clock is not very accurate so during
test on generating and comparing uuid's time might be same leading to
generating same Uuid. This patch adds a sleep of 1s between 2
generate statemens. Thanks to Pino Toscano.

Gbp-Pq: Name 1001_fix_uuid_test_on_hurd.patch

test/uuid.cpp

index 3348b736bfc5fd0c9a5b49dfa1b4d577bcee3bc3..0bace52045381b15863807b72a2b1dae925b927d 100644 (file)
@@ -24,6 +24,8 @@
 #include <cxxtools/unit/testsuite.h>
 #include <cxxtools/unit/registertest.h>
 
+#include <unistd.h>
+
 class UuidTest : public cxxtools::unit::TestSuite
 {
   public:
@@ -92,6 +94,12 @@ class UuidTest : public cxxtools::unit::TestSuite
       CXXTOOLS_UNIT_ASSERT(uuid1 != zim::Uuid());
       CXXTOOLS_UNIT_ASSERT(uuid2 == zim::Uuid());
 
+      // Since GNU Mach's clock isn't precise hence the time might be
+      // same during generating uuid1 and uuid2 leading to test
+      // failure. To bring the time difference between 2 sleep for a
+      // second. Thanks to Pino Toscano.
+      sleep(1);
+
       uuid2 = zim::Uuid::generate();
       CXXTOOLS_UNIT_ASSERT(uuid1 != uuid2);
       CXXTOOLS_UNIT_ASSERT(uuid1 != zim::Uuid());