Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

rustbuild: Add support for compiletest test suites #32755

Merged
merged 1 commit into from
Apr 19, 2016

Conversation

alexcrichton
Copy link
Member

This commit adds support in rustbuild for running all of the compiletest test
suites as part of make check. The compiletest program was moved to
src/tools (like rustbook and others) and is now just compiled like any other
old tool. Each test suite has a pretty standard set of dependencies and just
tweaks various parameters to the final compiletest executable.

Note that full support is lacking in terms of:

  • Once a test suite has passed, that's not remembered. When a test suite is
    requested to be run, it's always run.
  • The arguments to compiletest probably don't work for every possible
    combination of platforms and testing environments just yet. There will likely
    need to be future updates to tweak various pieces here and there.
  • Cross compiled test suites probably don't work just yet, support for that will
    come in a follow-up patch.

@rust-highfive
Copy link
Collaborator

r? @brson

(rust_highfive has picked a reviewer for you, use r? to override)

@bors
Copy link
Contributor

bors commented Apr 6, 2016

☔ The latest upstream changes (presumably #32767) made this pull request unmergeable. Please resolve the merge conflicts.

@brson
Copy link
Contributor

brson commented Apr 7, 2016

@bors r+

@bors
Copy link
Contributor

bors commented Apr 7, 2016

📌 Commit 4bb22a5 has been approved by brson

@bors
Copy link
Contributor

bors commented Apr 7, 2016

☔ The latest upstream changes (presumably #32016) made this pull request unmergeable. Please resolve the merge conflicts.

@alexcrichton alexcrichton force-pushed the rustbuild-start-test branch 2 times, most recently from d766524 to e45739d Compare April 8, 2016 00:09
@alexcrichton
Copy link
Member Author

@bors: r=brson e45739d095137075ee194b9a241b94e49f9c0182

@bors
Copy link
Contributor

bors commented Apr 9, 2016

☔ The latest upstream changes (presumably #32751) made this pull request unmergeable. Please resolve the merge conflicts.

@alexcrichton
Copy link
Member Author

@bors: r=brson

@bors
Copy link
Contributor

bors commented Apr 11, 2016

📌 Commit b54aedf has been approved by brson

@bors
Copy link
Contributor

bors commented Apr 12, 2016

⌛ Testing commit b54aedf with merge f836e04...

@bors
Copy link
Contributor

bors commented Apr 12, 2016

💔 Test failed - auto-linux-64-x-android-t

@bors
Copy link
Contributor

bors commented Apr 12, 2016

☔ The latest upstream changes (presumably #32804) made this pull request unmergeable. Please resolve the merge conflicts.

@alexcrichton
Copy link
Member Author

@bors: r=brson 808116f

@bors
Copy link
Contributor

bors commented Apr 12, 2016

⌛ Testing commit 808116f with merge 3147de8...

bors added a commit that referenced this pull request Apr 12, 2016
rustbuild: Add support for compiletest test suites

This commit adds support in rustbuild for running all of the compiletest test
suites as part of `make check`. The `compiletest` program was moved to
`src/tools` (like `rustbook` and others) and is now just compiled like any other
old tool. Each test suite has a pretty standard set of dependencies and just
tweaks various parameters to the final compiletest executable.

Note that full support is lacking in terms of:

* Once a test suite has passed, that's not remembered. When a test suite is
  requested to be run, it's always run.
* The arguments to compiletest probably don't work for every possible
  combination of platforms and testing environments just yet. There will likely
  need to be future updates to tweak various pieces here and there.
* Cross compiled test suites probably don't work just yet, support for that will
  come in a follow-up patch.
@bors
Copy link
Contributor

bors commented Apr 12, 2016

💔 Test failed - auto-win-gnu-32-opt-rustbuild

@bors
Copy link
Contributor

bors commented Apr 13, 2016

☔ The latest upstream changes (presumably #32590) made this pull request unmergeable. Please resolve the merge conflicts.

@retep998
Copy link
Member

32212257810xC0000135STATUS_DLL_NOT_FOUND

@alexcrichton alexcrichton force-pushed the rustbuild-start-test branch 2 times, most recently from f6027db to 9860b73 Compare April 13, 2016 17:06
@alexcrichton
Copy link
Member Author

@bors: r=brson 9860b73

@alexcrichton
Copy link
Member Author

@bors: r=brson 2df14df

@alexcrichton
Copy link
Member Author

@retep998 if you take a look at the logs you'll notice that one of the tests caused compiletest to overflow the stack (don't worry, I can also read test logs).

So what's happening here is a // should-fail test, specifically meta-expected-error-wrong-rev, is indeed panicking (as it should fail). During this panic we're running SEH handlers, but one of them manages to cause a segfault. This in turns runs the SEH handlers, which in turn causes a segfault. Eventually we run out of stack and something dies even harder, causing the binary to crash.

The most terrifying part, however, is that a -C opt-level=2 compiletest doesn't exhibit this behavior, only a -C opt-level=3 one. Taking down the opt-level a bit and praying it works. Investigating this and reporting a but will... take awhile.

@bors
Copy link
Contributor

bors commented Apr 18, 2016

⌛ Testing commit 2df14df with merge 48cf2cb...

@bors
Copy link
Contributor

bors commented Apr 18, 2016

💔 Test failed - auto-win-msvc-64-opt-rustbuild

@alexcrichton
Copy link
Member Author

Score another one for too-long-paths on Windows.

@alexcrichton
Copy link
Member Author

@bors: r=brson 0fca16d

@bors
Copy link
Contributor

bors commented Apr 18, 2016

☔ The latest upstream changes (presumably #33042) made this pull request unmergeable. Please resolve the merge conflicts.

@alexcrichton
Copy link
Member Author

@bors: r=brson 27b0101

@bors
Copy link
Contributor

bors commented Apr 18, 2016

⌛ Testing commit 27b0101 with merge 5221e22...

@bors
Copy link
Contributor

bors commented Apr 18, 2016

💔 Test failed - auto-win-msvc-64-opt-rustbuild

@alexcrichton
Copy link
Member Author

@bors: r=brson 1e96856

This commit adds support in rustbuild for running all of the compiletest test
suites as part of `make check`. The `compiletest` program was moved to
`src/tools` (like `rustbook` and others) and is now just compiled like any other
old tool. Each test suite has a pretty standard set of dependencies and just
tweaks various parameters to the final compiletest executable.

Note that full support is lacking in terms of:

* Once a test suite has passed, that's not remembered. When a test suite is
  requested to be run, it's always run.
* The arguments to compiletest probably don't work for every possible
  combination of platforms and testing environments just yet. There will likely
  need to be future updates to tweak various pieces here and there.
* Cross compiled test suites probably don't work just yet, support for that will
  come in a follow-up patch.
@alexcrichton
Copy link
Member Author

@bors: r=brson b325baf

@bors
Copy link
Contributor

bors commented Apr 19, 2016

⌛ Testing commit b325baf with merge d36ad55...

bors added a commit that referenced this pull request Apr 19, 2016
rustbuild: Add support for compiletest test suites

This commit adds support in rustbuild for running all of the compiletest test
suites as part of `make check`. The `compiletest` program was moved to
`src/tools` (like `rustbook` and others) and is now just compiled like any other
old tool. Each test suite has a pretty standard set of dependencies and just
tweaks various parameters to the final compiletest executable.

Note that full support is lacking in terms of:

* Once a test suite has passed, that's not remembered. When a test suite is
  requested to be run, it's always run.
* The arguments to compiletest probably don't work for every possible
  combination of platforms and testing environments just yet. There will likely
  need to be future updates to tweak various pieces here and there.
* Cross compiled test suites probably don't work just yet, support for that will
  come in a follow-up patch.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants