Bug 189971
Summary: | build-webkit should set the build configuration | ||
---|---|---|---|
Product: | WebKit | Reporter: | Koby <koby.b> |
Component: | Tools / Tests | Assignee: | Nobody <webkit-unassigned> |
Status: | NEW | ||
Severity: | Normal | CC: | ap, dbates, ddkilzer, jbedard, krollin, lforschler |
Priority: | P2 | ||
Version: | Other | ||
Hardware: | Mac | ||
OS: | macOS 10.13 | ||
Bug Depends on: | |||
Bug Blocks: | 189947 |
Koby
Hi,
I'm trying to submit patches to WebKit, and according to https://webkit.org/contributing-code/ I should run run-webkit-tests and make sure all tests pass.
But, after building a "clean" webkit (with "Tools/Scripts/build-webkit --debug"), without any modifications, run-webkit-tests fails with the following error:
"make: *** No rule to make target `JSUIScriptController.h', needed by `all'. Stop.".
My Environment:
macOS 10.13.6 with Xcode 10.0 (running on macincloud.com)
Steps to reproduce:
1. Download WebKit's source code from https://github.com/WebKit/webkit (used "Download ZIP").
2. Open the terminal at webkit's source root dir.
3. Build webkit: perl Tools/Scripts/build-webkit --debug
4. Run: ./Tools/Scripts/run-webkit-tests
Thanks,
Koby
Attachments | ||
---|---|---|
Add attachment proposed patch, testcase, etc. |
Alexey Proskuryakov
I could reproduce this. This is because run-webkit-tests defaults to --release, so there is a mismatch between what was built and what is being tested. Having more complete output in the bug would have made this easier to diagnose.
That said, those flags are supposed to be saved in a Configuration file in the build directory, and I don't see it there after running both. That seems like a bad regression.
Jonathan Bedard
This is definitely a regression, I'll try and fix it. I suspect most of our developers haven't noticed this because they have both release and debug builds, which is actually even scarier than this case because run-webkit-tests would be silently using the wrong binary.
Koby, in the mean time, pass --debug to run-webkit-tests and you will force it to use the debug build.
Koby
Thanks! I'll try it.
Jonathan Bedard
It seems like the bug is actually in build-webkit. When using 'make', the the configuration file is correctly set up.
Jonathan Bedard
As far as I can tell, this isn't a regression. Looking through change logs, it seems that build-webkit has not historically set the build configuration. There is one notable argument against setting the build configuration in build-webkit, run-webkit-tests calls build-webkit, so we would need to change run-webkit-tests such that it no longer explicitly sent the configuration to build-webkit if the user did not specify the configuration.