• Leszek Swirski's avatar
    [test] Make cctest run one test, with maybe custom platform · 49c507dc
    Leszek Swirski authored
    Remove cctest's ability to run multiple tests (which has long been
    deprecated and mostly broken). We can then make platform & V8
    initialisation be part of running the test's Run method.
    
    In particular, this allows us to inject custom logic into the platform
    initialisation, like setting up a platform wrapper. Add a
    TEST_WITH_PLATFORM which exercises this by registering a platform
    factory on the test, and wrapping the default platform using this
    factory. This allows these tests to guarantee that the lifetime of the
    platform is longer than the lifetime of the isolate.
    
    As a result of this, we can also remove the complexity around draining
    platform state in the TestPlatform (since it will now have a longer
    lifetime than the Isolate using it), and as a drive-by clean up the
    TestPlaform to use a CcTest-global "default platform" instead of trying
    to scope over the "current" platform.
    
    As another drive-by, change the linked-list of CcTests and the linear
    search through it into an std::map of tests.
    
    Change-Id: I610f6312fe042f29f45cc4dfba311e4184bc7759
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3569223Reviewed-by: 's avatarMichael Lippautz <mlippautz@chromium.org>
    Commit-Queue: Leszek Swirski <leszeks@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#79772}
    49c507dc
Name
Last commit
Last update
.github Loading commit data...
bazel Loading commit data...
build_overrides Loading commit data...
custom_deps Loading commit data...
docs Loading commit data...
gni Loading commit data...
include Loading commit data...
infra Loading commit data...
samples Loading commit data...
src Loading commit data...
test Loading commit data...
testing Loading commit data...
third_party Loading commit data...
tools Loading commit data...
.bazelrc Loading commit data...
.clang-format Loading commit data...
.clang-tidy Loading commit data...
.editorconfig Loading commit data...
.flake8 Loading commit data...
.git-blame-ignore-revs Loading commit data...
.gitattributes Loading commit data...
.gitignore Loading commit data...
.gn Loading commit data...
.mailmap Loading commit data...
.style.yapf Loading commit data...
.vpython Loading commit data...
.vpython3 Loading commit data...
.ycm_extra_conf.py Loading commit data...
AUTHORS Loading commit data...
BUILD.bazel Loading commit data...
BUILD.gn Loading commit data...
CODE_OF_CONDUCT.md Loading commit data...
COMMON_OWNERS Loading commit data...
DEPS Loading commit data...
DIR_METADATA Loading commit data...
ENG_REVIEW_OWNERS Loading commit data...
INFRA_OWNERS Loading commit data...
INTL_OWNERS Loading commit data...
LICENSE Loading commit data...
LICENSE.fdlibm Loading commit data...
LICENSE.strongtalk Loading commit data...
LICENSE.v8 Loading commit data...
LOONG_OWNERS Loading commit data...
MIPS_OWNERS Loading commit data...
OWNERS Loading commit data...
PPC_OWNERS Loading commit data...
PRESUBMIT.py Loading commit data...
README.md Loading commit data...
RISCV_OWNERS Loading commit data...
S390_OWNERS Loading commit data...
WATCHLISTS Loading commit data...
WORKSPACE Loading commit data...
codereview.settings Loading commit data...