1<!doctype html> 2<html lang="en-us"> 3 <head> 4 <meta charset="utf-8"> 5 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 6 <link rel="shortcut icon" href="data:image/x-icon;," type="image/x-icon"> 7 <link rel="stylesheet" href="common/testing.css"/> 8 <title>sqlite3 WASM Testing Page Index</title> 9 </head> 10 <body> 11 <header id='titlebar'><span>sqlite3 WASM test pages</span></header> 12 <hr> 13 <div>Below is the list of test pages for the sqlite3 WASM 14 builds. All of them require that this directory have been 15 "make"d first. The intent is that <em>this</em> page be run 16 using:</div> 17 <blockquote><pre>althttpd -page index.html</pre></blockquote> 18 <div>and the individual tests be started in their own tab.</div> 19 <div>Warnings and Caveats: 20 <ul class='warning'> 21 <li>Some of these pages require that 22 the web server emit the so-called COOP and COEP headers. The 23 default build of althttpd <em>does not</em>. 24 </li> 25 <li>Any OPFS-related pages require very recent 26 version of Chrome or Chromium (v102 at least, possibly 27 newer). OPFS support in the other major browsers is 28 pending.</li> 29 <li>Whether or not WASMFS/OPFS support is enabled on any given 30 page may depend on build-time options which are <em>off by 31 default</em> because they currently (as of 2022-09-08) break 32 with Worker-based pages. Similarly, WASMFS does not work on 33 some platforms, e.g. Raspberry Pi 4. 34 </li> 35 </ul> 36 </div> 37 <div>The tests... 38 <ul id='test-list'> 39 <li><a href='demo-123.html'>demo-123</a> provides a 40 no-nonsense example of adding sqlite3 support to a 41 web page. </li> 42 <li><a href='demo-123-worker.html'>demo-123-worker</a> is the 43 same as <code>demo-123</code> but loads and run sqlite3 from 44 a Worker thread.</li> 45 <li><a href='testing1.html'>testing1</a>: sanity tests of the core APIs and surrounding utility code.</li> 46 <li><a href='testing2.html'>testing2</a>: Worker-based test of OO API #1.</li> 47 <li><a href='testing-worker1-promiser.html'>testing-worker1-promiser</a>: 48 tests for the Promise-based wrapper of the Worker-based API.</li> 49 <li><a href='batch-runner.html'>batch-runner</a>: runs batches of SQL exported from speedtest1.</li> 50 <li><a href='batch-runner-kvvfs.html'>batch-runner-kvvfs</a>: KVVFS-specific variant of batch-runner.html.</li> 51 <li><a href='speedtest1.html'>speedtest1</a>: a main-thread WASM build of speedtest1.</li> 52 <li><a href='speedtest1-worker.html'>speedtest1-worker</a>: an interactive Worker-thread variant of speedtest1.</li> 53 <li><a href='speedtest1-wasmfs.html'>speedtest1-wasmfs</a>: a variant of speedtest1 built solely for the wasmfs/opfs feature.</li> 54 <li><a href='speedtest1.html?vfs=kvvfs'>speedtest1-kvvfs</a>: speedtest1 with the kvvfs.</li> 55 <li><a href='demo-kvvfs1.html'>demo-kvvfs1</a>: very basic 56 demo of using the key-value vfs for storing a persistent db 57 in JS localStorage or sessionStorage.</li> 58 <li><a href='scratchpad-wasmfs-main.html'>scratchpad-wasmfs-main</a>: 59 experimenting with WASMFS/OPFS-based persistence. Maintenance 60 reminder: we cannot currently (2022-09-15) load WASMFS in a 61 worker due to an Emscripten limitation.</li> 62 <li><a href='test-opfs-vfs.html'>test-opfs-vfs</a> 63 (<a href='test-opfs-vfs.html?opfs-sanity-check&opfs-verbose'>same 64 with verbose output and sanity-checking tests</a>) is an 65 experiment in implementing a syncronous sqlite3 VFS proxy 66 for a fully asynchronous backend interface (namely OPFS), 67 using SharedArrayBuffer and the Atomics APIs to regulate 68 communication between the synchronous interface and the 69 async impl. 70 </li> 71 <!--li><a href='x.html'></a></li--> 72 </ul> 73 </div> 74 <style> 75 #test-list { font-size: 120%; } 76 </style> 77 <script>//Assign a distinct target tab name for each test page... 78 document.querySelectorAll('a').forEach(function(e){ 79 e.target = e.href; 80 }); 81 </script> 82 </body> 83</html> 84