diff --git a/contrib/test/run_test_vectors.sh b/contrib/test/run_test_vectors.sh index f48d67ffbf..815fb9bf76 100755 --- a/contrib/test/run_test_vectors.sh +++ b/contrib/test/run_test_vectors.sh @@ -38,7 +38,9 @@ cat contrib/test/test-vectors-fixtures/syscall-fixtures/*.list | xargs -P 4 -n 1 LOG=$LOG_PATH/test_exec_interp cat contrib/test/test-vectors-fixtures/vm-interp-fixtures/*.list | xargs -P 4 -n 1000 ./$OBJDIR/unit-test/test_exec_sol_compat --log-path $LOG -find dump/test-vectors/vm_interp/fixtures/v0_alpha -type f -name '*.fix' -exec ./$OBJDIR/unit-test/test_exec_sol_compat --log-path $LOG {} + +find dump/test-vectors/vm_interp/fixtures/v0 -type f -name '*.fix' -exec ./$OBJDIR/unit-test/test_exec_sol_compat --log-path $LOG {} + +find dump/test-vectors/vm_interp/fixtures/v1 -type f -name '*.fix' -exec ./$OBJDIR/unit-test/test_exec_sol_compat --log-path $LOG {} + +find dump/test-vectors/vm_interp/fixtures/v2 -type f -name '*.fix' -exec ./$OBJDIR/unit-test/test_exec_sol_compat --log-path $LOG {} + LOG=$LOG_PATH/test_exec_precompiles cat contrib/test/test-vectors-fixtures/precompile-fixtures/*.list | xargs -P 4 -n 1000 ./$OBJDIR/unit-test/test_exec_sol_compat --log-path $LOG diff --git a/contrib/test/test-vectors-fixtures/vm-interp-fixtures/vm_interp-fixtures.list b/contrib/test/test-vectors-fixtures/vm-interp-fixtures/vm_interp-fixtures.list index f030207e60..5a85c28c6d 100644 --- a/contrib/test/test-vectors-fixtures/vm-interp-fixtures/vm_interp-fixtures.list +++ b/contrib/test/test-vectors-fixtures/vm-interp-fixtures/vm_interp-fixtures.list @@ -1,4 +1,4 @@ -dump/test-vectors/vm_interp/fixtures/interp_cu_off_by_one_1.fix -dump/test-vectors/vm_interp/fixtures/03db75401ce5ab53c8284b86c70b625dc4550b69_4097141.fix -dump/test-vectors/vm_interp/fixtures/callreg_check_before_updating_pc.fix +dump/test-vectors/vm_interp/fixtures/latest/interp_cu_off_by_one_1.fix +dump/test-vectors/vm_interp/fixtures/latest/03db75401ce5ab53c8284b86c70b625dc4550b69_4097141.fix +dump/test-vectors/vm_interp/fixtures/latest/callreg_check_before_updating_pc.fix diff --git a/src/flamenco/runtime/tests/fd_vm_test.c b/src/flamenco/runtime/tests/fd_vm_test.c index 20f36b4a6a..c9debac92d 100644 --- a/src/flamenco/runtime/tests/fd_vm_test.c +++ b/src/flamenco/runtime/tests/fd_vm_test.c @@ -187,14 +187,14 @@ do{ } /* Setup calldests from call_whitelist. - Alloc */ + Alloc calldests with the expected size (1 bit per ix, rounded up to ulong) */ ulong max_pc = (rodata_sz + 7) / 8; ulong calldests_sz = ((max_pc + 63) / 64) * 8; ulong * calldests = fd_valloc_malloc( valloc, fd_sbpf_calldests_align(), calldests_sz ); memset( calldests, 0, calldests_sz ); - FD_LOG_WARNING(( "calldests_sz = %lu", calldests_sz )); if( input->vm_ctx.call_whitelist && input->vm_ctx.call_whitelist->size > 0 ) { memcpy( calldests, input->vm_ctx.call_whitelist->bytes, input->vm_ctx.call_whitelist->size ); + /* Make sure bits over max_pc are all 0s. */ ulong mask = (1UL << (max_pc % 64)) - 1UL; calldests[ max_pc / 64 ] &= mask; }