diff options
-rw-r--r-- | ext/wasm/GNUmakefile | 5 | ||||
-rw-r--r-- | ext/wasm/kvvfs.make | 20 | ||||
-rw-r--r-- | ext/wasm/testing1.html | 2 | ||||
-rw-r--r-- | ext/wasm/testing1.js | 17 | ||||
-rw-r--r-- | manifest | 18 | ||||
-rw-r--r-- | manifest.uuid | 2 |
6 files changed, 43 insertions, 21 deletions
diff --git a/ext/wasm/GNUmakefile b/ext/wasm/GNUmakefile index 0cf365b91..ff37281ea 100644 --- a/ext/wasm/GNUmakefile +++ b/ext/wasm/GNUmakefile @@ -316,10 +316,11 @@ dir.sql := sql speedtest1 := ../../speedtest1 speedtest1.c := ../../test/speedtest1.c speedtest1.sql := $(dir.sql)/speedtest1.sql +speedtest1.cliflags := --size 100 $(speedtest1): $(MAKE) -C ../.. speedtest1 -$(speedtest1.sql): $(speedtest1) - $(speedtest1) --script $@ +$(speedtest1.sql): $(speedtest1) $(MAKEFILE) + $(speedtest1) $(speedtest1.cliflags) --script $@ batch-runner.list: $(MAKEFILE) $(speedtest1.sql) $(dir.sql)/000-mandelbrot.sql bash split-speedtest1-script.sh $(dir.sql)/speedtest1.sql ls -1 $(dir.sql)/*.sql | grep -v speedtest1.sql | sort > $@ diff --git a/ext/wasm/kvvfs.make b/ext/wasm/kvvfs.make index cfe0af652..ad743dfda 100644 --- a/ext/wasm/kvvfs.make +++ b/ext/wasm/kvvfs.make @@ -34,6 +34,12 @@ kvvfs.cflags += -std=c99 -fPIC -g kvvfs.cflags += -I. -I$(dir.top) kvvfs.cflags += -DSQLITE_OS_KV=1 $(SQLITE_OPT) +kvvfs.extra.c := +ifeq (1,1) + # To get testing1.js to run with $(kvvfs.js) we need... + kvvfs.extra.c += $(jaccwabyt_test.c) +endif + ######################################################################## # emcc flags specific to building the final .js/.wasm file... kvvfs.jsflags := -fPIC @@ -44,7 +50,12 @@ kvvfs.jsflags += -sMODULARIZE kvvfs.jsflags += -sSTRICT_JS kvvfs.jsflags += -sDYNAMIC_EXECUTION=0 kvvfs.jsflags += -sNO_POLYFILL -kvvfs.jsflags += -sEXPORTED_FUNCTIONS=@$(dir.api)/EXPORTED_FUNCTIONS.sqlite3-api +ifeq (,$(kvvfs.extra.c)) + kvvfs.jsflags += -sEXPORTED_FUNCTIONS=@$(dir.api)/EXPORTED_FUNCTIONS.sqlite3-api +else + # need more exports for jaccwabyt test code... + kvvfs.jsflags += -sEXPORTED_FUNCTIONS=@$(dir.wasm)/EXPORTED_FUNCTIONS.api +endif kvvfs.jsflags += -sEXPORTED_RUNTIME_METHODS=FS,wasmMemory,allocateUTF8OnStack # wasmMemory ==> for -sIMPORTED_MEMORY # allocateUTF8OnStack ==> kvvfs internals @@ -69,13 +80,12 @@ kvvfs.jsflags += -sMEMORY64=0 ifneq (0,$(enable_bigint)) kvvfs.jsflags += -sWASM_BIGINT endif - -$(kvvfs.js): $(MAKEFILE) $(MAKEFILE.kvvfs) $(kvvfs.wasm.c) $(sqlite3.c) \ - EXPORTED_FUNCTIONS.api \ +$(kvvfs.js): $(kvvfs.wasm.c) $(sqlite3.c) $(kvvfs.extra.c) \ + EXPORTED_FUNCTIONS.api $(MAKEFILE) $(MAKEFILE.kvvfs) \ $(post-js.js) $(emcc.bin) -o $@ $(emcc_opt) $(emcc.flags) \ $(SQLITE_OPT) \ - $(kvvfs.cflags) $(kvvfs.jsflags) $(kvvfs.wasm.c) + $(kvvfs.cflags) $(kvvfs.jsflags) $(kvvfs.wasm.c) $(kvvfs.extra.c) chmod -x $(kvvfs.wasm) ifneq (,$(wasm-strip)) $(wasm-strip) $(kvvfs.wasm) diff --git a/ext/wasm/testing1.html b/ext/wasm/testing1.html index 24c1e8236..bf73974ee 100644 --- a/ext/wasm/testing1.html +++ b/ext/wasm/testing1.html @@ -27,6 +27,8 @@ <div>Most stuff on this page happens in the dev console.</div> <hr> <div id='test-output'></div> + <!-- testing1.js "should" work with both sqlite3.js and sqlite3-kvvfs.js --> + <!--script src="sqlite3-kvvfs.js"></script--> <script src="sqlite3.js"></script> <script src="common/SqliteTestUtil.js"></script> <script src="testing1.js"></script> diff --git a/ext/wasm/testing1.js b/ext/wasm/testing1.js index 414421952..2aadc30c3 100644 --- a/ext/wasm/testing1.js +++ b/ext/wasm/testing1.js @@ -252,7 +252,7 @@ db.exec({ sql:new TextEncoder('utf-8').encode([ // ^^^ testing string-vs-typedarray handling in execMulti() - "attach 'foo.db' as foo;", + "attach 'session' as foo;" /* name 'session' is magic for kvvfs! */, "create table foo.bar(a);", "insert into foo.bar(a) values(1),(2),(3);", "select a from foo.bar order by a;" @@ -744,7 +744,7 @@ .assert('sqlite3_vfs' === dVfs.structName) .assert(!!dVfs.structInfo) .assert(SB.StructType.hasExternalPointer(dVfs)) - .assert(3===dVfs.$iVersion) + .assert(dVfs.$iVersion>0) .assert('number'===typeof dVfs.$zName) .assert('number'===typeof dVfs.$xSleep) .assert(capi.wasm.functionEntry(dVfs.$xOpen)) @@ -1046,9 +1046,18 @@ T.assert(capi.wasm[k] instanceof Function); }); - const db = new oo.DB(':memory:'), startTime = performance.now(); + let dbName = "/testing1.sqlite3"; + let vfsName = undefined; + if(oo.DB.clearKvvfsStorage){ + dbName = "local"; + vfsName = 'kvvfs'; + logHtml("Found kvvfs. Clearing db(s) from sessionStorage and localStorage", + "and selecting kvvfs-friendly db name:",dbName); + oo.DB.clearKvvfsStorage(); + } + const db = new oo.DB(dbName,'c',vfsName), startTime = performance.now(); try { - log("DB filename:",db.filename,db.fileName()); + log("db.filename =",db.filename,"db.fileName() =",db.fileName()); const banner1 = '>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>', banner2 = '<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<'; [ @@ -1,5 +1,5 @@ -C Merge\skv-vfs\sbranch\sinto\sfiddle-opfs\sand\sadd\sspeedtest1-kvvfs.html\stest\sapp\s(which\scurrently\sfails\searly\son). -D 2022-09-12T20:18:28.723 +C Get\stesting1.js\sworking\swith\sa\skvvfs\sbuild. +D 2022-09-12T22:27:00.037 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724 @@ -474,7 +474,7 @@ F ext/userauth/user-auth.txt e6641021a9210364665fe625d067617d03f27b04 F ext/userauth/userauth.c 7f00cded7dcaa5d47f54539b290a43d2e59f4b1eb5f447545fa865f002fc80cb F ext/wasm/EXPORTED_FUNCTIONS.fiddle db7a4602f043cf4a5e4135be3609a487f9f1c83f05778bfbdf93766be4541b96 F ext/wasm/EXPORTED_RUNTIME_METHODS.fiddle a004bd5eeeda6d3b28d16779b7f1a80305bfe009dfc7f0721b042967f0d39d02 -F ext/wasm/GNUmakefile 0434268aa7e042ec265c13e85a82cc3a760be02851ba428aa996a36d4ba77dfd +F ext/wasm/GNUmakefile b175a00599c976fe9e7bc02bbc1337b5e3b81d042320c3a0be1621d2c7a21b21 F ext/wasm/README.md e1ee1e7c321c6a250bf78a84ca6f5882890a237a450ba5a0649c7a8399194c52 F ext/wasm/api/EXPORTED_FUNCTIONS.sqlite3-api 1dfd067b3cbd9a49cb204097367cf2f8fe71b5a3b245d9d82a24779fd4ac2394 F ext/wasm/api/EXPORTED_RUNTIME_METHODS.sqlite3-api 1ec3c73e7d66e95529c3c64ac3de2470b0e9e7fbf7a5b41261c367cf4f1b7287 @@ -506,7 +506,7 @@ F ext/wasm/jaccwabyt/jaccwabyt.js 0d7f32817456a0f3937fcfd934afeb32154ca33580ab26 F ext/wasm/jaccwabyt/jaccwabyt.md 447cc02b598f7792edaa8ae6853a7847b8178a18ed356afacbdbf312b2588106 F ext/wasm/jaccwabyt/jaccwabyt_test.c 39e4b865a33548f943e2eb9dd0dc8d619a80de05d5300668e9960fff30d0d36f F ext/wasm/jaccwabyt/jaccwabyt_test.exports 5ff001ef975c426ffe88d7d8a6e96ec725e568d2c2307c416902059339c06f19 -F ext/wasm/kvvfs.make 1858354b02ebdccc459fb2d235552f8951d6ce28340083da9bb230bcf2533789 +F ext/wasm/kvvfs.make bfa0aaac384d9f200d2c8e31efb3536b40d139667b88e6eba9c0a71e23da6a5c F ext/wasm/kvvfs1.html 83bac238d1e93ed102a461672fc58fe74e611e426708e9a5c66002c01eadb942 F ext/wasm/kvvfs1.js 53721a42e0ec45f6978cc723e5de47f882517867d0fcff4c6ff05f4c422e27c4 F ext/wasm/scratchpad-opfs-main.html 4565cf194e66188190d35f70e82553e2e2d72b9809b73c94ab67b8cfd14d2e0c @@ -525,8 +525,8 @@ F ext/wasm/sqlite3-worker1-promiser.js 92b8da5f38439ffec459a8215775d30fa498bc0f1 F ext/wasm/sqlite3-worker1.js 0c1e7626304543969c3846573e080c082bf43bcaa47e87d416458af84f340a9e F ext/wasm/testing-worker1-promiser.html 6eaec6e04a56cf24cf4fa8ef49d78ce8905dde1354235c9125dca6885f7ce893 F ext/wasm/testing-worker1-promiser.js c62b5879339eef0b21aebd9d75bc125c86530edc17470afff18077f931cb704a -F ext/wasm/testing1.html 528001c7e32ee567abc195aa071fd9820cc3c8ffc9c8a39a75e680db05f0c409 -F ext/wasm/testing1.js 2def7a86c52ff28b145cb86188d5c7a49d5993f9b78c50d140e1c31551220955 +F ext/wasm/testing1.html 50575755e43232dbe4c2f97c9086b3118eb91ec2ee1fae931e6d7669fb17fcae +F ext/wasm/testing1.js 735120231d6e55b92964924fcb54a66484d8b2e30fe5a18c71081b3590344a5f F ext/wasm/testing2.html a66951c38137ff1d687df79466351f3c734fa9c6d9cce71d3cf97c291b2167e3 F ext/wasm/testing2.js 25584bcc30f19673ce13a6f301f89f8820a59dfe044e0c4f2913941f4097fe3c F install-sh 9d4de14ab9fb0facae2f48780b874848cbf2f895 x @@ -2024,8 +2024,8 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93 F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0 -P d845c6c22bd5d3fffc66e0566df346d690dd8bd1fc1688e312161b1a1edcfd79 878cc93e779c3857adc711f212520f007256274fcd3f6f3d72c754a937fcd198 -R af6be1e15f44117c1188e0c623230580 +P 8b1608a9a37131121cb3a0cb1e8dbad5e39dc1fc2a341d056f09537f179b2e7a +R 77095a41dfb9b784dcab0078822e6eff U stephan -Z 1b00f3836ac4e8ae817bece731c1dd12 +Z c624cb9efadffe8972e3df15b8dc9939 # Remove this line to create a well-formed Fossil manifest. diff --git a/manifest.uuid b/manifest.uuid index e78c4a139..69b3e88fd 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -8b1608a9a37131121cb3a0cb1e8dbad5e39dc1fc2a341d056f09537f179b2e7a
\ No newline at end of file +333a45725d1708e0fefa559c33ce1c7eeb425cdb04f594b1f2b48166c1478c79
\ No newline at end of file |