跳到内容

如何构建和测试

本节描述了如何独立构建 libpas。在对 libpas 进行更改时,您会经常执行此操作。在任何更大的系统(如 WebKit)中尝试您的更改之前,最好先运行 libpas 的测试,因为 libpas 测试在发现错误方面非常有效。如果 libpas 通过了它自己的测试,那么基本的浏览功能似乎就能正常工作。在生产环境中,libpas 是作为其他项目(如 bmalloc)的一部分构建的,它只是将 libpas 的所有文件拉入该项目的构建系统。

构建和测试

./build_and_test.sh

构建

./build.sh

测试

./test.sh

清理

./clean.sh

在我的 M1 机器上,我通常这样做:

./build_and_test.sh -a arm64e

这避免了构建臃肿的 arm64+arm64e 二进制文件。

libpas 构建默认会构建(如果您使用 build_and_test.shtest.sh,还会测试)一个测试变体和一个默认变体。测试变体包含仅用于测试的断言。假设您正在进行一些速度测试,并且只想构建默认变体,可以这样做:

./build.sh -v default

默认情况下,libpas 构建的是 Release 版本,但您可以更改它:

./build.sh -c Debug

所有工具(build.shtest.shbuild_and_test.shclean.sh)都接受相同的选项(-h-c <config>-s <sdk>-a <arch>-v <variant>-t <target>-p <port>)。

Libpas 在编译期间会创建多个二进制文件(test_paschaos),这些文件由 test.sh 使用。如果您只想测试或调试一个或少量测试用例,直接调用这些二进制文件可能会更好。

test_pas 允许您筛选要运行的测试用例。以下是一些示例:

  ./test_pas 'JITHeapTests' # Run all JIT heap tests
  ./test_pas 'testPGMSingleAlloc()' # Run specific test
  ./test_pas '(1):' # Run test case 1