Commit graph

526 commits

Author SHA1 Message Date
Fabian ce1a742cb8 cmpxchg tests 2020-12-31 19:14:32 -06:00
Fabian 1f1474680b Update expect tests 2020-12-31 19:14:32 -06:00
Fabian b97c5661f5 Allow creating more than one nasmtest per instruction 2020-12-31 19:14:32 -06:00
Fabian 584ab0cca0 Support null segment #gp in jit mode (Windows 98 / Windows ME / QNX) 2020-12-31 19:14:32 -06:00
Fabian 143f74fd9f Fix benchmarks 2020-12-31 19:14:31 -06:00
Fabian 91b43687e7 Experiment support for synchronous compilation (only node) 2020-12-31 19:14:31 -06:00
Fabian 46cb7eb212 Accept expect tests (order of types changed) 2020-12-31 19:14:31 -06:00
Fabian d47f0125ef Update OS tests 2020-12-31 19:14:31 -06:00
Fabian bb529ccfec Add state functions to synchronous buffers 2020-12-31 19:14:31 -06:00
Fabian 5325856849 kvm-unit-test benchmark: Print millicycles 2020-12-31 19:14:31 -06:00
Fabian cd65ecca9e Optimise safe_write* by using tlb info to skip dirty page check 2020-12-31 19:14:31 -06:00
Fabian 4e49468b7b Fix some minor fpu bugs and add more nasm tests 2020-12-31 19:14:30 -06:00
Fabian 32000594c1 nasmtests: Turn warnings into errors 2020-12-31 19:14:30 -06:00
Fabian fc3bf8583d nasmtests: Print newlines after invalid fpu registers 2020-12-31 19:14:30 -06:00
Fabian 0c97cf9a7c nasmtests: Reduce verbosity 2020-12-31 19:14:30 -06:00
Fabian 2b36795763 Rename only_{reg,mem} to skip_{mem,reg} (only relevant to tests these days) 2020-12-31 19:14:30 -06:00
Fabian 69238b96a7 Update expect tests 2020-12-31 19:14:30 -06:00
Fabian e498b4a1c5 Add expect test for STI 2020-12-31 19:14:30 -06:00
Fabian 073f2d03e9 Expect tests: Remove interactive mode 2020-12-31 19:14:30 -06:00
Fabian d0b04863f6 Accept expect test changes 2020-12-31 19:14:30 -06:00
Fabian 5ca991b929 Add ./tests/expect/run.js --accept-all as a nicer workflow to accept changes 2020-12-31 19:14:30 -06:00
Fabian 6187fc7cca Use assert over console.assert 2020-12-31 19:14:30 -06:00
Fabian 77dceb6d02 kvm-unit-test: Improve benchmark measuring 2020-12-31 19:14:30 -06:00
Fabian 1709974987 kvm-unit-test: Import some changes from upstream 2020-12-31 19:14:30 -06:00
Fabian 8a0e31da16 Update expect tests (inc32) 2020-12-31 19:14:30 -06:00
Fabian 4e68de9c4d Test reset/restart 2020-12-31 19:14:30 -06:00
Fabian 107c6fef36 Enable Windows 95 test 2020-12-31 19:14:30 -06:00
Fabian 03f4747c86 Fix integration test doesn't report segfaults 2020-12-31 19:14:30 -06:00
Fabian 8739e3f16b More integration tests (these were triggering the failing assertion fixed in the previous commit) 2020-12-31 19:14:30 -06:00
Fabian acb8ad5423 Avoid console.assert (doesn't throw) 2020-12-31 19:14:30 -06:00
Fabian 3a473aad79 Remove prefix handling from jit and exceptions 2020-12-31 19:14:30 -06:00
Fabian a73988a817 Make loop, loopz, loopnz and jcxz custom generated 2020-12-31 19:14:30 -06:00
Fabian 764879bad1 s/reg32s/reg32 2020-12-31 19:14:29 -06:00
Fabian ea50e29e5f Remove dead & improve 2020-12-31 19:14:29 -06:00
Fabian f156824ebc Haiku works 2020-12-31 19:14:29 -06:00
Fabian a5ae4b1146 Fix tests that were order-dependant 2020-12-31 19:14:29 -06:00
Fabian dcb40f6221 Full test: Update image paths 2020-12-31 19:14:29 -06:00
Fabian ae3a652333 jit_add_seg_offset: Assert that segment is not null 2020-12-31 19:14:29 -06:00
Fabian 292769d961 Full tests: Small improvements 2020-12-31 19:14:29 -06:00
Fabian 4cd6d74284 Test freebsd login 2020-12-31 19:14:29 -06:00
Fabian d5c9b29942 Upgrade jshint 2020-12-31 19:14:29 -06:00
Fabian 941208c948 Remove defunct test coverage 2020-12-31 19:14:29 -06:00
Fabian 489f212c47 Fix broken string test 2020-12-31 19:14:29 -06:00
Fabian a7ae6603f0 Temporarily disable broken tests 2020-12-31 19:14:29 -06:00
Fabian 13a506de52 fix kvm-unit-test with newer versions of gcc 2020-12-31 19:14:29 -06:00
Fabian 9a38e6a654 nasmtests: Check exception eip 2020-12-31 19:14:29 -06:00
Fabian 28d70d6250 Add test for fsave and frstor 2020-12-31 19:14:29 -06:00
Fabian db381ef39f Remove broken tests (exception is different in native and v86) 2020-12-31 19:14:29 -06:00
Fabian cd909c4f02 Add tests for fstenv/fldenv/fld [m80] 2020-12-31 19:14:29 -06:00
Fabian 3f1ba044ed Increment timestamp_counter before running basic block 2020-12-31 19:14:29 -06:00
Fabian 70e637b31b Integration test: Check serial text 2020-12-31 19:14:29 -06:00
Fabian 7d48636dda Integration tests: Use debug bios 2020-12-31 19:14:29 -06:00
Fabian e2eecc7295 task_switch_test*_jit: assert that jit agrees 2020-12-31 19:14:29 -06:00
Fabian 492a2cf78e Update previous_ip only if page fault is going to happen 2020-12-31 19:14:29 -06:00
Fabian c47b4b252c Optimise cr0 access in task_switch_test (only low byte needed) 2020-12-31 19:14:29 -06:00
Fabian 7f41e6fe48 Test for mov [mem], sreg 2020-12-31 19:14:29 -06:00
Fabian c5cd93678e Pass local to gen_safe_read, add single function for modrm_resolve and gen_safe_read (preparation for later optimisations) 2020-12-31 19:14:29 -06:00
Fabian aad8072aa7 Optimise push reg 2020-12-31 19:14:28 -06:00
Fabian 43fcdf9fc2 Introduce LocalOrImmediate for more efficient parameter passing to cmp/test instructions 2020-12-31 19:14:28 -06:00
Fabian bc3c73a607 wasm state machine: Fallthrough 2020-12-31 19:14:28 -06:00
Fabian 63afa77167 Global pointers: Align general purpose registers, sse registers and flags 2020-12-31 19:14:28 -06:00
Fabian 6e005a2058 Integration test: Mark Windows 3 as slow test, print diff output in qemu tests 2020-12-31 19:14:28 -06:00
Fabian 5f31a8aba2 Update expect tests for flags and arithmetic code generation (last two commits) 2020-12-31 19:14:28 -06:00
Fabian b5a72061fb Custom codegen for absolute jmp/call (FF_2/FF_4) 2020-12-31 19:14:28 -06:00
github-jane-doe 15ff296628
Typos (#371)
Fix typos
2020-10-04 19:46:41 +02:00
Fabian aadaf13854 Update expect tests 2020-08-30 19:37:15 -05:00
Fabian 58292cfbc8 namstests: Handle pagefaults 2020-08-30 19:37:15 -05:00
Fabian 8eae31295d nasmtests: Handle exceptions in forced-jit mode 2020-08-30 19:37:15 -05:00
Fabian 158bb75fec FPU: Implement zero divide fault 2020-08-30 19:37:15 -05:00
Fabian 0269e9cecf Fix fxtract 2020-08-30 19:37:15 -05:00
Fabian 9959e758d5 nasmtests: Fix display of integers 2020-08-30 19:37:15 -05:00
Fabian c2508bc61e Update expect tests 2020-08-30 19:37:15 -05:00
Fabian 0c42ea0d1f Custom code generation for leave (C9) 2020-08-30 19:37:15 -05:00
Fabian 837e6ff362 Custom code generation for ret imm (C2) 2020-08-30 19:37:15 -05:00
Fabian fc954cecea Update libwabt (fix failing decoding of large generated modules) 2020-08-30 19:37:15 -05:00
Ernest Wong 644d2cfca8 Filestorage tests: Improve mock transaction lifetimes
- Assert that transaction operations are done within their callback
scopes.
- Improve test performance by using setImmediate for queueing macrotasks
instead of using setTimeout.
- Check for in-progress callbacks before completing transactions.

Note that promise callbacks are run as microtasks. When request
onsuccess callbacks are run, the transaction becomes active again and allows
further requests to be placed against that transaction. The transaction
becomes inactive when the program reaches the end of the event loop
iteration. However, all microtasks are exhausted before the event loop
iteration ends, so the transaction remains active even within the promise
callbacks.
2020-08-30 19:37:15 -05:00
Ernest Wong 22412f3815 Filestorage tests: Test non-existent files 2020-08-30 19:37:15 -05:00
Ernest Wong 1d41054001 style(Filestorage tests): Move openning braces to new lines 2020-08-30 19:37:15 -05:00
Ernest Wong 79928bae4d Filestorage tests: Mock transaction.abort and store.count 2020-08-30 19:37:15 -05:00
Ernest Wong 5a085f32e3 Filestorage tests: Check for unexpected early exits 2020-08-30 19:37:15 -05:00
Fabian 958fb7b9d6 Update expect tests 2020-08-30 19:37:15 -05:00
Fabian 29395181d2 Update expect test results 2020-08-30 19:37:15 -05:00
Fabian 05296b0586 Enable fpu instructions in nasm tests 2020-08-30 19:37:15 -05:00
Ernest Wong 9e82dde504 Filestorage tests: Mock idb transaction.oncomplete 2020-08-30 19:37:15 -05:00
Ernest Wong 27b365b30a Filestorage tests: Set failure exit code 2020-08-30 19:37:15 -05:00
Fabian 9e13650c19 fixup expect tests 2020-08-30 19:37:15 -05:00
Fabian 5b95165de2 Add TEST_RELEASE_BUILD to run tests on release build 2020-08-30 19:37:15 -05:00
Fabian 52b6e0caae Normalise memory offset in output wast in expect tests 2020-08-30 19:37:15 -05:00
Fabian 3f3446b5dd Update linux-boot benchmark script 2020-08-30 19:37:15 -05:00
Ernest Wong ba8a67f249 Filestorage tests: Avoid globals to improve script readability 2020-08-30 19:37:15 -05:00
Ernest Wong c928964562 Minor: Tidy quotes and spacing 2020-08-30 19:37:15 -05:00
Ernest Wong c273741405 Add tests for file storage chunking 2020-08-30 19:37:15 -05:00
Ernest Wong dfb47f5907 Filesystem Tests: Add stopping-on-first-failure option 2020-08-30 19:37:15 -05:00
Fabian 639ec0019b Commit a temporary workaround 2020-08-30 19:37:15 -05:00
Fabian ff3945bab4 Don't skip Linux 4 bzImage test 2020-08-30 19:37:15 -05:00
Fabian 7a31922078 Add test for bzimage_initrd_from_filesystem 2020-08-30 19:37:15 -05:00
Fabian 92346f51ed Add test for clean shutdown 2020-08-30 19:37:15 -05:00
Fabian d2f86799e9 Simplify load_from_json: Accept json object directly, don't run asynchronously 2020-08-30 19:37:14 -05:00
Fabian 99a7bdd6e3 Fix error message when libv86-debug.js hasn't been built 2020-08-30 19:37:14 -05:00
Fabian ae4733a25e Integration test: Boot from bzimage 2020-08-30 19:37:14 -05:00