Page MenuHomePhabricator

[test] Pass DSYMUTIL and SDKROOT as part of the make invocation.
ClosedPublic

Authored by JDevlieghere on Oct 10 2019, 9:45 AM.

Details

Summary

Pass the DSYMUTIL and SDKROOT variables on the command line instead of the environment. This makes it easier to reproduce the make invocation during development.

Diff Detail

Event Timeline

JDevlieghere created this revision.Oct 10 2019, 9:45 AM
Herald added a project: Restricted Project. · View Herald TranscriptOct 10 2019, 9:45 AM

It would be great if we could ensure that if a test fails, that the "dotest" command line text has everything it needs as well, including the options and paths to lldb, framework, shared library and other settings. If I "ninja check-lldb", I have to manually insert many arguments before the command the FAIL file says to run will work.

aprantl accepted this revision.Oct 10 2019, 10:12 AM

Thanks! It was so annoying having to manually specify DSYMUTIL=dsymutil when reproducing builds.

This revision is now accepted and ready to land.Oct 10 2019, 10:12 AM

It would be great if we could ensure that if a test fails, that the "dotest" command line text has everything it needs as well, including the options and paths to lldb, framework, shared library and other settings. If I "ninja check-lldb", I have to manually insert many arguments before the command the FAIL file says to run will work.

Any reason you want to run dotest.py directly? If you use bin/lldb-dotest you'll get all dotest arguments that CMake configuration. Even better is to use lit --filter <name of test to rerun>, which guarantees that you'll have the exact same dotest.py invocation as during check-ldlb.

This revision was automatically updated to reflect the committed changes.

It would be great if we could ensure that if a test fails, that the "dotest" command line text has everything it needs as well, including the options and paths to lldb, framework, shared library and other settings. If I "ninja check-lldb", I have to manually insert many arguments before the command the FAIL file says to run will work.

Any reason you want to run dotest.py directly? If you use bin/lldb-dotest you'll get all dotest arguments that CMake configuration. Even better is to use lit --filter <name of test to rerun>, which guarantees that you'll have the exact same dotest.py invocation as during check-ldlb.

it is mainly because that is what the FAIL file for the test run specifies to run. Not sure if that is fixed yet, but that is my ask here was that we fix the code that says "run this command to reproduce this test", which last I checked, was saying to run dotest.py directly.