Fix random generator. Thanks Jayakrishna Menon.
authorJeroen van der Heijden <jeroen@cesbit.com>
Wed, 13 Apr 2022 11:07:59 +0000 (13:07 +0200)
committerJeroen van der Heijden <jeroen@cesbit.com>
Wed, 13 Apr 2022 11:07:59 +0000 (13:07 +0200)
include/siri/version.h
itest/test_cluster.py
main.c

index e56948afdb80ebf7001d8e5bf14ae125fb14b9ad..5c05559cd12695034508787ac85f8d819ae08faf 100644 (file)
@@ -15,7 +15,7 @@
  * Note that debian alpha packages should use versions like this:
  *   2.0.34-0alpha0
  */
-#define SIRIDB_VERSION_PRE_RELEASE "-alpha-0"
+#define SIRIDB_VERSION_PRE_RELEASE "-alpha-1"
 
 #ifndef NDEBUG
 #define SIRIDB_VERSION_BUILD_RELEASE "+debug"
index 98e422eb7b24a0ddf758244112f6ce6ed3b2f33d..34be4b8612a358bc4f876367bffaf1edec2dc386 100644 (file)
@@ -99,25 +99,25 @@ class TestCluster(TestBase):
     async def run(self):
         await self.client0.connect()
 
-        await self.client0.insert(DATA)
+        await self.client0.insert(DATA)
 
-        await self.client0.query('''
-            alter series /series.*/ tag `SERIES`
-        ''')
+        await self.client0.query('''
+            alter series /series.*/ tag `SERIES`
+        ''')
 
-        await asyncio.sleep(3.0)
+        await asyncio.sleep(3.0)
 
-        await self.client0.query('''
-            alter series /.*/ - `SERIES` tag `OTHER`
-        ''')
+        await self.client0.query('''
+            alter series /.*/ - `SERIES` tag `OTHER`
+        ''')
 
-        await self.db.add_pool(self.server1)
-        await self.assertIsRunning(self.db, self.client0, timeout=30)
+        # await self.db.add_replica(self.server1, 0)
+        await self.assertIsRunning(self.db, self.client0, timeout=30)
 
-        await asyncio.sleep(35)
+        await asyncio.sleep(35)
 
-        await self.db.add_replica(self.server2, 0)
-        await self.assertIsRunning(self.db, self.client0, timeout=30)
+        await self.db.add_replica(self.server2, 0)
+        await self.assertIsRunning(self.db, self.client0, timeout=30)
 
         # await asyncio.sleep(45)
 
diff --git a/main.c b/main.c
index 6368301ddbc9c1e50f628283a04f2d876b3e6a54..80f190750ad96f70df8154ad8f206b358aa9cb92 100644 (file)
--- a/main.c
+++ b/main.c
 #include <stdio.h>
 #include <stdlib.h>
 #include <time.h>
+#include <fcntl.h>
+#include <sys/stat.h>
+#include <sys/types.h>
 
 
 int main(int argc, char * argv[])
 {
+    int seed, fd;
+
     /* set local to LC_ALL and C to force a period over comma for float */
     (void) setlocale(LC_ALL, "C");
 
     /* initialize random */
-    srand(time(NULL));
+    seed = 0;
+    fd = open("/dev/urandom", O_RDONLY);
+
+    if ( fd == -1 ) {
+        log_info("Could not open /dev/urandom");
+        return 1;
+    }
+
+    read(fd, &seed, sizeof(int));
+    close(fd);
+
+    srand(seed);
 
     /* set threadpool size to 8 (default=4) */
     putenv("UV_THREADPOOL_SIZE=8");