]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Initial work on porting lsmtest to Win32.
authormistachkin <mistachkin@noemail.net>
Tue, 27 Jun 2017 22:27:54 +0000 (22:27 +0000)
committermistachkin <mistachkin@noemail.net>
Tue, 27 Jun 2017 22:27:54 +0000 (22:27 +0000)
FossilOrigin-Name: 7e669d9bfab237ff7ece821cf95cfd3bb753b1882b9a86044b7d4579808aecf4

13 files changed:
ext/lsm1/Makefile
ext/lsm1/Makefile.msc
ext/lsm1/lsm-test/lsmtest.h
ext/lsm1/lsm-test/lsmtest6.c
ext/lsm1/lsm-test/lsmtest_io.c
ext/lsm1/lsm-test/lsmtest_main.c
ext/lsm1/lsm-test/lsmtest_tdb.c
ext/lsm1/lsm-test/lsmtest_tdb3.c
ext/lsm1/lsm-test/lsmtest_util.c
ext/lsm1/lsm-test/lsmtest_win32.c [new file with mode: 0644]
ext/lsm1/lsmInt.h
manifest
manifest.uuid

index 13253ce1426267f4597c70edce1a159e290f62cd..527faa0d1bb77916815930d31323a566b79aef27 100644 (file)
@@ -37,7 +37,7 @@ LSMTESTSRC = $(LSMDIR)/lsm-test/lsmtest1.c $(LSMDIR)/lsm-test/lsmtest2.c     \
              $(LSMDIR)/lsm-test/lsmtest_func.c $(LSMDIR)/lsm-test/lsmtest_io.c  \
              $(LSMDIR)/lsm-test/lsmtest_main.c $(LSMDIR)/lsm-test/lsmtest_mem.c \
              $(LSMDIR)/lsm-test/lsmtest_tdb.c $(LSMDIR)/lsm-test/lsmtest_tdb3.c \
-             $(LSMDIR)/lsm-test/lsmtest_util.c
+             $(LSMDIR)/lsm-test/lsmtest_util.c $(LSMDIR)/lsm-test/lsmtest_win32.c
 
 
 # all: lsm.so
index d3146301a87c6ada2262bbda5bd1b668b0ab0eb5..bd8aea1acd08c9f35ac25b84bf72360ff94c9dc5 100644 (file)
@@ -37,7 +37,7 @@ LSMTESTSRC = $(LSMDIR)\lsm-test\lsmtest1.c $(LSMDIR)\lsm-test\lsmtest2.c     \
              $(LSMDIR)\lsm-test\lsmtest_func.c $(LSMDIR)\lsm-test\lsmtest_io.c  \
              $(LSMDIR)\lsm-test\lsmtest_main.c $(LSMDIR)\lsm-test\lsmtest_mem.c \
              $(LSMDIR)\lsm-test\lsmtest_tdb.c $(LSMDIR)\lsm-test\lsmtest_tdb3.c \
-             $(LSMDIR)\lsm-test\lsmtest_util.c
+             $(LSMDIR)\lsm-test\lsmtest_util.c $(LSMDIR)\lsm-test\lsmtest_win32.c
 
 # all: lsm.dll
 
@@ -89,5 +89,4 @@ lsm.dll:      $(LSMOBJ)
        $(LD) $(LDFLAGS) $(LTLINKOPTS) $(LTLIBPATHS) /DLL /OUT:$@ $(LSMOBJ)
 
 lsmtest.exe: $(LSMOBJ) $(LSMTESTSRC) $(LSMTESTHDR) $(LIBOBJS1)
-       # $(LTCOMPILE) -c $(TOP)\lsm-test\lsmtest_tdb2.cc
-       $(LTCOMPILE) $(LSMOPTS) $(LSMTESTSRC) $(LSMOBJ) $(LIBOBJS1) -Fe$@
+       $(LTLINK) $(LSMOPTS) $(LSMTESTSRC) /link $(LSMOBJ) $(LIBOBJS1)
index 49a6f83c629e80f1d344a10bc79e697fc18a0139..a8e54a2d0ea4d0fdc84533f0f76d4f9d86e7b05d 100644 (file)
 extern "C" {
 #endif
 
+#ifdef _WIN32
+# include "windows.h"
+# define gettimeofday win32GetTimeOfDay
+# define F_OK  (0)
+# define sleep(sec) Sleep(1000 * (sec))
+# define usleep(usec) Sleep((usec) / 1000)
+# ifdef _MSC_VER
+#  include <io.h>
+#  define snprintf _snprintf
+#  define fsync(fd) FlushFileBuffers((HANDLE)_get_osfhandle((fd)))
+#  define fdatasync(fd) FlushFileBuffers((HANDLE)_get_osfhandle((fd)))
+#  define __va_copy(dst,src) ((dst) = (src))
+#  define ftruncate(fd,sz) (_chsize_s((fd), (sz))==0)
+# else
+#  error Unsupported C compiler for Windows.
+# endif
+int win32GetTimeOfDay(struct timeval *, void *);
+#endif
+
 #ifndef _LSM_INT_H
 typedef unsigned int  u32;
 typedef unsigned char u8;
index 3277763254dd20bd5e2c88b0b25624823c823c94..d858249f3ec3b9286ceb188ee42185d8d328341d 100644 (file)
@@ -240,7 +240,9 @@ static void testOomScan(
 
 #define LSMTEST6_TESTDB "testdb.lsm" 
 
-#include <unistd.h>
+#ifndef _WIN32
+# include <unistd.h>
+#endif
 #include <sys/types.h>
 #include <sys/stat.h>
 #include <fcntl.h>
index e6c96aafd9155b5eeabc3b5c725352026d6e5ce5..7d572ab0f74ecae4a43e9bfbd9e95039891797b3 100644 (file)
@@ -58,7 +58,9 @@
 #include <sys/types.h>
 #include <sys/stat.h>
 #include <fcntl.h>
-#include <unistd.h>
+#ifndef _WIN32
+# include <unistd.h>
+#endif
 #include <ctype.h>
 
 typedef struct IoContext IoContext;
index 2e836f74e731ce21892cac91461e497d9897e68b..51d5c748b583010dd612b7c5f51f1183d84c0246 100644 (file)
@@ -8,7 +8,9 @@
 
 #include <sqlite3.h>
 
-#include <unistd.h>
+#ifndef _WIN32
+# include <unistd.h>
+#endif
 #include <sys/types.h>
 #include <sys/stat.h>
 #include <fcntl.h>
index f99c0f5601cf9598f2b32d14f201d2c8a2ce632e..19d572ce994f4658f81a1918510b3e8d8fb2e2a5 100644 (file)
@@ -14,7 +14,9 @@
 #include <stdlib.h>
 #include <string.h>
 #include <assert.h>
-#include <unistd.h>
+#ifndef _WIN32
+# include <unistd.h>
+#endif
 #include <stdio.h>
 
 
index 048fd71ef693c41c6c40aa5e83a039cdd43366e2..8a0141bdf4972788d338619e230f5632c07e1a91 100644 (file)
@@ -6,10 +6,14 @@
 #include <stdlib.h>
 #include <string.h>
 #include <assert.h>
-#include <unistd.h>
+#ifndef _WIN32
+# include <unistd.h>
+#endif
 #include <stdio.h>
 
-#include <sys/time.h>
+#ifndef _WIN32
+# include <sys/time.h>
+#endif
 
 typedef struct LsmDb LsmDb;
 typedef struct LsmWorker LsmWorker;
index 634a94db685280975819beb9ba732bf9442ec0c9..adab8a53e81cda1cae74bcfbcd35c74593efc731 100644 (file)
@@ -1,8 +1,11 @@
 
+#include "lsmtest.h"
 #include <stdarg.h>
 #include <stdio.h>
 #include <string.h>
-#include <sys/time.h>
+#ifndef _WIN32
+# include <sys/time.h>
+#endif
 
 /*
 ** Global variables used within this module.
diff --git a/ext/lsm1/lsm-test/lsmtest_win32.c b/ext/lsm1/lsm-test/lsmtest_win32.c
new file mode 100644 (file)
index 0000000..772c170
--- /dev/null
@@ -0,0 +1,30 @@
+
+#include "lsmtest.h"
+
+#ifdef _WIN32
+
+#define TICKS_PER_SECOND      (10000000)
+#define TICKS_PER_MICROSECOND (10)
+#define TICKS_UNIX_EPOCH      (116444736000000000LL)
+
+int win32GetTimeOfDay(
+  struct timeval *tp,
+  void *tzp
+){
+  FILETIME fileTime;
+  ULARGE_INTEGER largeInteger;
+  ULONGLONG temp;
+
+  unused_parameter(tzp);
+  memset(&fileTime, 0, sizeof(FILETIME));
+  GetSystemTimeAsFileTime(&fileTime);
+  memset(&largeInteger, 0, sizeof(ULARGE_INTEGER));
+  largeInteger.LowPart = fileTime.dwLowDateTime;
+  largeInteger.HighPart = fileTime.dwHighDateTime;
+  temp = largeInteger.QuadPart - TICKS_UNIX_EPOCH;
+  tp->tv_sec = (long)(temp / TICKS_PER_SECOND);
+  temp -= ((ULONGLONG)tp->tv_sec * TICKS_PER_SECOND);
+  tp->tv_usec = (long)(temp / TICKS_PER_MICROSECOND);
+  return 0;
+}
+#endif
index 01560bd057bb716759991340213d25f5b149caa9..06248499db050ce77f8bafc00616b600d3cf2be9 100644 (file)
@@ -24,7 +24,9 @@
 #include <ctype.h>
 
 #ifdef _WIN32
-# define snprintf _snprintf
+# ifdef _MSC_VER
+#  define snprintf _snprintf
+# endif
 #else
 # include <unistd.h>
 #endif
index c38929f7b19b36bffe70a2a48210948f60df824e..111b9a4e7da37bf9bd3743345ff24d98ab124e95 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Implement\sxFullpath\sfor\sWin32.
-D 2017-06-27T18:15:38.105
+C Initial\swork\son\sporting\slsmtest\sto\sWin32.
+D 2017-06-27T22:27:54.690
 F Makefile.in 1cc758ce3374a32425e4d130c2fe7b026b20de5b8843243de75f087c0a2661fb
 F Makefile.linux-gcc 7bc79876b875010e8c8f9502eb935ca92aa3c434
 F Makefile.msc d389c6fb3344ea6887b386d56784a6d8a5c85107294448aeda50ac404285a1ef
@@ -208,33 +208,34 @@ F ext/fts5/tool/showfts5.tcl d54da0e067306663e2d5d523965ca487698e722c
 F ext/icu/README.txt d9fbbad0c2f647c3fdf715fc9fd64af53aedfc43
 F ext/icu/icu.c 84900472a088a3a172c6c079f58a1d3a1952c332
 F ext/icu/sqliteicu.h 728867a802baa5a96de7495e9689a8e01715ef37
-F ext/lsm1/Makefile 5f60d0e1635ee51c438973f37a93f8e562229b446db59fc00af1621d39fdee26
-F ext/lsm1/Makefile.msc e40e3cf63d8351a538db8767240984d13e9ec60dbdf308910b98deef56695ec9
+F ext/lsm1/Makefile a2ea4975162be8932b5efa727080f4982715d34c32035d9eb7a015ae78404981
+F ext/lsm1/Makefile.msc c8140509750fb207f0e984991bc426e91a11adb2f6434f218c52103b9d33a8e1
 F ext/lsm1/lsm-test/README 87ea529d2abe615e856d4714bfe8bb185e6c2771b8612aa6298588b7b43e6f86
-F ext/lsm1/lsm-test/lsmtest.h e7057a3f9db71938496fc8ef081c9f45623b25bfd8499b3550d1ea7123143e90
+F ext/lsm1/lsm-test/lsmtest.h 910772d90683d44092ec591409280bf9e6635fd5eb8514af741ccb46061334f2
 F ext/lsm1/lsm-test/lsmtest1.c 27c3cf6512514b25a145154ae4e54d053d883b2f7f52ed214747b5ebaceedd3e
 F ext/lsm1/lsm-test/lsmtest2.c 385efd49f3411bb2c8e0f9ffbd4f87450d5ac368aeee62d509d2c0ce10e4215b
 F ext/lsm1/lsm-test/lsmtest3.c 9ab87528a36dbf4a61d7c8ad954f5ee368c0878c127b84b942b2e2abe522de26
 F ext/lsm1/lsm-test/lsmtest4.c d258d6a245db5d8eaede096e2368d23f859c5e92c80ab9122463f708514fe10c
 F ext/lsm1/lsm-test/lsmtest5.c 8d5242a0f870d65eeada191c8945781fed9cb8ece3886573790ebd373b62dac5
-F ext/lsm1/lsm-test/lsmtest6.c 9d5db9ff638152c8c3948dc1077dd302deff4fcb3d30cc71ac769915797bbb1d
+F ext/lsm1/lsm-test/lsmtest6.c 1f21509ea5d2b28b74539c2a70b8001619d0713091511067278f57871f4b753a
 F ext/lsm1/lsm-test/lsmtest7.c 7a917455a0f956a8ed3f44f5c9387ec0ea6627714874464cc3fa5c5a9cabb2f2
 F ext/lsm1/lsm-test/lsmtest8.c b87a1279b0cfbb39df1fff50074696fbf5d83822349f65706fab6d618a7a52fa
 F ext/lsm1/lsm-test/lsmtest9.c 88245ce0fdd01678be548100e584cacdacab90208624223aac9029e4f90535fe
 F ext/lsm1/lsm-test/lsmtest_bt.c d70d9a9be5eef9360af1251dd083948d74fd30137a08f61bef995f7ac04e037f
 F ext/lsm1/lsm-test/lsmtest_datasource.c 5d770be191d0ca51315926723009b2c25c0b4b8136840494ef710ac324aa916c
 F ext/lsm1/lsm-test/lsmtest_func.c 159aa401bc8032bfa3d8cf2977bd687abebab880255895a5eb45770d626fa38d
-F ext/lsm1/lsm-test/lsmtest_io.c 2b71d1208a5671b3836fb95cdb4c0263ae7eb51542d16ef7f6bb9b651b15f194
-F ext/lsm1/lsm-test/lsmtest_main.c 54959b48ceee78ced319bb9d0e1f1abe42741ba63c5ae2bf11d1f03dd80fa601
+F ext/lsm1/lsm-test/lsmtest_io.c ba678e052f497b4c2ff41d47672a1f2a02f495d14083845ee66e0bda678f5b80
+F ext/lsm1/lsm-test/lsmtest_main.c 70c5abcf62869aaeaa1f2e4760f590f018d3e1ad197c5499cebfc1ad7e8ad660
 F ext/lsm1/lsm-test/lsmtest_mem.c 996b1e76cc876e8d765182a2f14159b1acbf56cbf86d286173e13e970b79a945
-F ext/lsm1/lsm-test/lsmtest_tdb.c 59a58b2513e0dbb581008c0a32c6e2b630dafafe8972f800cc13faac5fe63b1a
+F ext/lsm1/lsm-test/lsmtest_tdb.c d85694a9e5cd3908cb3e10bb5cb5d6a47ad101adb9fb477ca61f1e3725253b06
 F ext/lsm1/lsm-test/lsmtest_tdb.h de1ee8c71a7ef61d964e40e057cffea387d7b58a51d95905ab909937d24e4a91
 F ext/lsm1/lsm-test/lsmtest_tdb2.cc 99ea7f2dd9c7536c8fb9bdd329e4cfeb76899f3ddf6f48bdd3926e016922b715
-F ext/lsm1/lsm-test/lsmtest_tdb3.c 6de609f6233026227d721e9265e62bf1834aed07d8795610c7ef8e30ce6be559
+F ext/lsm1/lsm-test/lsmtest_tdb3.c 105ef644ad03c8d7f21f8d1f6514adaf30a7c26f4e21cccb3874b70a14985041
 F ext/lsm1/lsm-test/lsmtest_tdb4.c 47e8bb5eba266472d690fb8264f1855ebdba0ae5a0e541e35fcda61ebf1d277f
-F ext/lsm1/lsm-test/lsmtest_util.c 0c2b7c1d109fbd6b7b9a2780f1315e2438a973d18afea5c4eccf94e8827c8260
+F ext/lsm1/lsm-test/lsmtest_util.c 241622db5a332a09c8e6e7606b617d288a37b557f7d3bce0bb97809f67cc2806
+F ext/lsm1/lsm-test/lsmtest_win32.c ce2e0afda0898bf920c275662cf53fff914c531b83dd510a62e036bdd566af4f
 F ext/lsm1/lsm.h 0f6f64ff071471cb87bf98beb8386566f30ea001
-F ext/lsm1/lsmInt.h de86f9dc7f2d90a3c94a5df820929c57d0b24399358ec274603028ed4cbe5b2b
+F ext/lsm1/lsmInt.h 4c07df475dff0c7a718839ed4e87a66779055fbe3eb9c4815a0a4ba944da7e42
 F ext/lsm1/lsm_ckpt.c e7907e782fe2e95de0833675e35e726e487cc4cd
 F ext/lsm1/lsm_file.c 2f0232e2dc0262f60cab1b7010785fb961d566c740fc0370101c14ab085739e0
 F ext/lsm1/lsm_log.c 5b3e855fcfb85de9fb86fcbf65696cc6886d3231
@@ -1623,7 +1624,7 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93
 F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
 F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
 F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
-P e1cf8a78a0bbd7b05cefab22a5c9676098887ee9811d37330ce89b3367856f92
-R 2b41b25f40e4c080242ad0e7f7bcc590
+P dbe9c8aa8d70051fafec569054eeda6c02efe9d036ab6beada00da3ed42e52d9
+R 08b5f8178c42e28f51b4e8a018ddab16
 U mistachkin
-Z e0848c84f070e42af46f00f70df25c0e
+Z 1d7723421fca05b28161eb9a9865cd58
index dd51244ba28caf919f674991ede13b82cbec712f..6a10678e530a2e2215b45f9b34d025a7ada177e1 100644 (file)
@@ -1 +1 @@
-dbe9c8aa8d70051fafec569054eeda6c02efe9d036ab6beada00da3ed42e52d9
\ No newline at end of file
+7e669d9bfab237ff7ece821cf95cfd3bb753b1882b9a86044b7d4579808aecf4
\ No newline at end of file