Skip to content

Build target for 3C tests that reuses previous results if inputs haven't changed #294

Open
@mattmccutchen-cci

Description

@mattmccutchen-cci

There should be a simple, documented script or build target to run all 3C tests that we believe should be run on every change. Obviously, a necessary condition for a test to be in this set is that it be fully automated (which the benchmark program tests aren't yet); beyond that, it's a policy decision of what tests are worth the running time, though we could conceivably have different modes.

It looks like clang/test/CheckedCRewriter/llvm-lit-wrapper.py is trying to be what we want, but I'm getting an error even after I manually add build/bin to $PATH and llvm/utils/lit to $PYTHONPATH:

llvm-lit: /home/user/3c/llvm/utils/lit/lit/TestingConfig.py:101: fatal: unable to parse config file '/home/user/3c/clang/test/lit.cfg.py', traceback: Traceback (most recent call last):
  File "/home/user/3c/llvm/utils/lit/lit/TestingConfig.py", line 90, in load_from_path
    exec(compile(data, path, 'exec'), cfg_globals, None)
  File "/home/user/3c/clang/test/lit.cfg.py", line 25, in <module>
    config.test_format = lit.formats.ShTest(not llvm_config.use_lit_shell)
AttributeError: 'NoneType' object has no attribute 'use_lit_shell'

It would be even better to have a build target that won't rerun the tests if they previously passed and none of the dependencies have changed since then.

I want to have this script/target as a necessary (but not sufficient) element of testing the renames in #286.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions