如何测试我的 WebAssembly 解释器的实现是否符合规范?
How can I test whether or not my implementation of a WebAssembly interpreter conforms to the specfication?
想象一下,我想为特定平台构建一个 WebAssembly 解释器。我想确保它符合标准。
我如何测试我的 WebAssembly 解释器是否按照标准规定工作?
我发现 this repository with what looks like automated tests. For example in this file 他们在顶部定义了他们想要测试的东西(所有函数定义),并且在文件末尾有一堆 assert_return
语句似乎测试这些功能是否正常工作。
我现在可以使用这些测试来测试我的解释器。如果所有这些测试都通过,是否意味着我的解释器符合标准?
看看 webassemblyjs,一个包含解释器工具的项目。
如果您查看代码,您会发现它包含 WebAssembly specification as a submodule. The spec tests are run via the helper package。
如您所见,规范测试是以 WebAssembly 文本格式编写的,但是它们添加了额外的特定于测试的说明,例如assert_return
。如果您查看上面链接的 helper-testsuite-runner
项目,您可以看到它实现了这些 spec tests specific commands.
想象一下,我想为特定平台构建一个 WebAssembly 解释器。我想确保它符合标准。
我如何测试我的 WebAssembly 解释器是否按照标准规定工作?
我发现 this repository with what looks like automated tests. For example in this file 他们在顶部定义了他们想要测试的东西(所有函数定义),并且在文件末尾有一堆 assert_return
语句似乎测试这些功能是否正常工作。
我现在可以使用这些测试来测试我的解释器。如果所有这些测试都通过,是否意味着我的解释器符合标准?
看看 webassemblyjs,一个包含解释器工具的项目。
如果您查看代码,您会发现它包含 WebAssembly specification as a submodule. The spec tests are run via the helper package。
如您所见,规范测试是以 WebAssembly 文本格式编写的,但是它们添加了额外的特定于测试的说明,例如assert_return
。如果您查看上面链接的 helper-testsuite-runner
项目,您可以看到它实现了这些 spec tests specific commands.