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

Move libtest out of rust-lang/rust #57842

Merged
merged 12 commits into from
Mar 19, 2019
Merged

Conversation

gnzlbg
Copy link
Contributor

@gnzlbg gnzlbg commented Jan 22, 2019

This is a first step towards a number of goals explained in this internals post: https://internals.rust-lang.org/t/a-path-forward-towards-re-usable-libtest-functionality-custom-test-frameworks-and-a-stable-bench-macro

This PR does not fully remove libtest from rust-lang/rust, we keep a shim that imports and re-exports the external libtest, and adds the proc_macro dependency, etc.

r? @alexcrichton

cc @djrenren @petrochenkov

@rust-highfive rust-highfive added the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Jan 22, 2019
@gnzlbg
Copy link
Contributor Author

gnzlbg commented Jan 22, 2019

@alexcrichton once we have something that "works" for this PR, it would be great if you could move the extracted libtest source (https://github.com/gnzlbg/libtest) into a Rust org (the nursery or rust-lang/rust).

Also, I extracted the libtest crate there by forking the rust repo and removing everything but the crate, because I wanted to preserve the history. But this means that the libtest crate repo is huge, which makes the initial fetch very slow. I think this won't be a problem once we release the libtest crate to crates.io and add it as a normal dependency instead of a git dependency, but I prefer to do that when the official repo for libtest is set up.

@djrenren
Copy link
Contributor

Hey heads up, with respect to size, we can use git filter-branch to retain only the history of the folder.

From a fresh checkout of rust-lang/rust I just ran:

git filter-branch --prune-empty --subdirectory-filter src/libtest master

I've hosted the result here: https://github.com/djrenren/libtest

but it looks like it lacks libterm and licenses. Still I think this is a good idea to clean up the history.

@rust-highfive
Copy link
Collaborator

The job x86_64-gnu-llvm-6.0 of your PR failed on Travis (raw log). Through arcane magic we have determined that the following fragments from the build log may contain information about the problem.

Click to expand the log.
travis_time:end:10bc2efe:start=1548187995177865080,finish=1548188081514306979,duration=86336441899
$ git checkout -qf FETCH_HEAD
travis_fold:end:git.checkout

Encrypted environment variables have been removed for security reasons.
See https://docs.travis-ci.com/user/pull-requests/#pull-requests-and-security-restrictions
$ export SCCACHE_BUCKET=rust-lang-ci-sccache2
$ export SCCACHE_REGION=us-west-1
Setting environment variables from .travis.yml
$ export IMAGE=x86_64-gnu-llvm-6.0
---
[00:01:22] 
######################################################################## 100.0%
[00:01:22] extracting /checkout/obj/build/cache/2019-01-04/cargo-beta-x86_64-unknown-linux-gnu.tar.gz
[00:01:22]     Updating crates.io index
[00:01:32]     Updating git repository `https://github.com/gnzlbg/libtest`
[00:04:04]   Downloaded cmake v0.1.33
[00:04:04]   Downloaded serde_derive v1.0.81
[00:04:04]   Downloaded time v0.1.40
[00:04:04]   Downloaded toml v0.4.10
---

[00:05:59] travis_fold:start:tidy
travis_time:start:tidy
tidy check
[00:05:59] tidy error: /checkout/src/libtest/lib.rs:1: TODO is deprecated; use FIXME
[00:06:01] invalid source: "git+https://github.com/gnzlbg/libtest#01f857bc49ce423bae84368226a17854c47c109a"
[00:06:01] invalid source: "git+https://github.com/gnzlbg/libtest#01f857bc49ce423bae84368226a17854c47c109a"
[00:06:01] some tidy checks failed
[00:06:01] 
[00:06:01] 
[00:06:01] command did not execute successfully: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-tools-bin/tidy" "/checkout/src" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "--no-vendor" "--quiet"
[00:06:01] 
[00:06:01] 
[00:06:01] failed to run: /checkout/obj/build/bootstrap/debug/bootstrap test src/tools/tidy
[00:06:01] Build completed unsuccessfully in 0:00:48
[00:06:01] Build completed unsuccessfully in 0:00:48
[00:06:01] Makefile:69: recipe for target 'tidy' failed
[00:06:01] make: *** [tidy] Error 1
The command "stamp sh -x -c "$RUN_SCRIPT"" exited with 2.
travis_time:start:0baf7eb6
$ date && (curl -fs --head https://google.com | grep ^Date: | sed 's/Date: //g' || true)
Tue Jan 22 20:20:51 UTC 2019
---
travis_time:end:1695083d:start=1548188452043108450,finish=1548188452047722788,duration=4614338
travis_fold:end:after_failure.3
travis_fold:start:after_failure.4
travis_time:start:38ecf0cb
$ ln -s . checkout && for CORE in obj/cores/core.*; do EXE=$(echo $CORE | sed 's|obj/cores/core\.[0-9]*\.!checkout!\(.*\)|\1|;y|!|/|'); if [ -f "$EXE" ]; then printf travis_fold":start:crashlog\n\033[31;1m%s\033[0m\n" "$CORE"; gdb --batch -q -c "$CORE" "$EXE" -iex 'set auto-load off' -iex 'dir src/' -iex 'set sysroot .' -ex bt -ex q; echo travis_fold":"end:crashlog; fi; done || true
travis_fold:end:after_failure.4
travis_fold:start:after_failure.5
travis_time:start:0ea59972
travis_time:start:0ea59972
$ cat ./obj/build/x86_64-unknown-linux-gnu/native/asan/build/lib/asan/clang_rt.asan-dynamic-i386.vers || true
cat: ./obj/build/x86_64-unknown-linux-gnu/native/asan/build/lib/asan/clang_rt.asan-dynamic-i386.vers: No such file or directory
travis_fold:end:after_failure.5
travis_fold:start:after_failure.6
travis_time:start:0bc74ed9
$ dmesg | grep -i kill

I'm a bot! I can only do what humans tell me to, so if this was not helpful or you have suggestions for improvements, please ping or otherwise contact @TimNN. (Feature Requests)

@alexcrichton
Copy link
Member

Heh seems like a good start! Always like seeing those massive negative numbers :)

Some other items to cover before merging:

  • All unstable code should continue to live in this repository (but the bulk of all code should still live externally)
  • We'll want to move the repo under the rust-lang GitHub organization (let me know when you're ready)
  • We'll want to publish to crates.io and depend on the crates there from the unstable code in this repo

@Dylan-DPC-zz Dylan-DPC-zz added S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Feb 11, 2019
@Dylan-DPC-zz
Copy link

ping from triage @gnzlbg you need to address the first point in #57842 (comment) and the conflicts

@rust-highfive
Copy link
Collaborator

The job x86_64-gnu-llvm-6.0 of your PR failed on Travis (raw log). Through arcane magic we have determined that the following fragments from the build log may contain information about the problem.

Click to expand the log.
travis_time:end:04b34f30:start=1551549365553964742,finish=1551549366551369162,duration=997404420
$ git checkout -qf FETCH_HEAD
travis_fold:end:git.checkout

Encrypted environment variables have been removed for security reasons.
See https://docs.travis-ci.com/user/pull-requests/#pull-requests-and-security-restrictions
$ export SCCACHE_BUCKET=rust-lang-ci-sccache2
$ export SCCACHE_REGION=us-west-1
Setting environment variables from .travis.yml
$ export IMAGE=x86_64-gnu-llvm-6.0
---
###############################################################           88.7%
######################################################################## 100.0%
[00:01:49] extracting /checkout/obj/build/cache/2019-02-17/cargo-beta-x86_64-unknown-linux-gnu.tar.gz
[00:01:49]     Updating crates.io index
[00:02:04]     Updating git repository `https://github.com/gnzlbg/libtest`
[00:02:04] error: no matching package named `libtest` found
[00:02:04] location searched: https://github.com/gnzlbg/libtest
[00:02:04] did you mean: test
[00:02:04] required by package `test v0.0.0 (/checkout/src/libtest)`
[00:02:04] Build completed unsuccessfully in 0:00:40
[00:02:04] make: *** [prepare] Error 1
[00:02:04] Makefile:70: recipe for target 'prepare' failed
[00:02:05] Command failed. Attempt 2/5:
[00:02:05] Command failed. Attempt 2/5:
[00:02:06]     Updating git repository `https://github.com/gnzlbg/libtest`
[00:02:06] error: no matching package named `libtest` found
[00:02:06] location searched: https://github.com/gnzlbg/libtest
[00:02:06] did you mean: test
[00:02:06] required by package `test v0.0.0 (/checkout/src/libtest)`
[00:02:06] Build completed unsuccessfully in 0:00:00
[00:02:06] make: *** [prepare] Error 1
[00:02:06] Makefile:70: recipe for target 'prepare' failed
[00:02:08] Command failed. Attempt 3/5:
[00:02:08] Command failed. Attempt 3/5:
[00:02:08]     Updating git repository `https://github.com/gnzlbg/libtest`
[00:02:08] error: no matching package named `libtest` found
[00:02:08] location searched: https://github.com/gnzlbg/libtest
[00:02:08] did you mean: test
[00:02:08] required by package `test v0.0.0 (/checkout/src/libtest)`
[00:02:08] Build completed unsuccessfully in 0:00:00
[00:02:08] Makefile:70: recipe for target 'prepare' failed
[00:02:08] make: *** [prepare] Error 1
[00:02:11] Command failed. Attempt 4/5:
[00:02:11] Command failed. Attempt 4/5:
[00:02:11]     Updating git repository `https://github.com/gnzlbg/libtest`
[00:02:12] error: no matching package named `libtest` found
[00:02:12] location searched: https://github.com/gnzlbg/libtest
[00:02:12] did you mean: test
[00:02:12] required by package `test v0.0.0 (/checkout/src/libtest)`
[00:02:12] Build completed unsuccessfully in 0:00:00
[00:02:12] Makefile:70: recipe for target 'prepare' failed
[00:02:12] make: *** [prepare] Error 1
[00:02:16] Command failed. Attempt 5/5:
[00:02:16] Command failed. Attempt 5/5:
[00:02:16]     Updating git repository `https://github.com/gnzlbg/libtest`
[00:02:16] error: no matching package named `libtest` found
[00:02:16] location searched: https://github.com/gnzlbg/libtest
[00:02:16] did you mean: test
[00:02:16] required by package `test v0.0.0 (/checkout/src/libtest)`
[00:02:16] Build completed unsuccessfully in 0:00:00
[00:02:16] make: *** [prepare] Error 1
[00:02:16] Makefile:70: recipe for target 'prepare' failed
[00:02:16] The command has failed after 5 attempts.
---
travis_time:end:29a1246e:start=1551549515533334955,finish=1551549515539611803,duration=6276848
travis_fold:end:after_failure.3
travis_fold:start:after_failure.4
travis_time:start:097e3330
$ ln -s . checkout && for CORE in obj/cores/core.*; do EXE=$(echo $CORE | sed 's|obj/cores/core\.[0-9]*\.!checkout!\(.*\)|\1|;y|!|/|'); if [ -f "$EXE" ]; then printf travis_fold":start:crashlog\n\033[31;1m%s\033[0m\n" "$CORE"; gdb --batch -q -c "$CORE" "$EXE" -iex 'set auto-load off' -iex 'dir src/' -iex 'set sysroot .' -ex bt -ex q; echo travis_fold":"end:crashlog; fi; done || true
travis_fold:end:after_failure.4
travis_fold:start:after_failure.5
travis_time:start:0786da8d
travis_time:start:0786da8d
$ cat ./obj/build/x86_64-unknown-linux-gnu/native/asan/build/lib/asan/clang_rt.asan-dynamic-i386.vers || true
cat: ./obj/build/x86_64-unknown-linux-gnu/native/asan/build/lib/asan/clang_rt.asan-dynamic-i386.vers: No such file or directory
travis_fold:end:after_failure.5
travis_fold:start:after_failure.6
travis_time:start:16077abd
$ dmesg | grep -i kill

I'm a bot! I can only do what humans tell me to, so if this was not helpful or you have suggestions for improvements, please ping or otherwise contact @TimNN. (Feature Requests)

@gnzlbg
Copy link
Contributor Author

gnzlbg commented Mar 2, 2019

@alexcrichton so I've managed to properly extract only the history of the libterm and libtest repositories.

All unstable code should continue to live in this repository (but the bulk of all code should still live externally)

So libtest has some unstable code, like black_box (which uses inline assembly), but nothing "super" unstable.

We'll want to move the repo under the rust-lang GitHub organization (let me know when you're ready) We'll want to publish to crates.io and depend on the crates there from the unstable code in this repo

The repo is ready (https://github.com/gnzlbg/libtest) I've transferred it to you so that it can be added to the organization. I haven't published the repo yet, since I thought it might be better for the organization to publish it. Once the transfer is complete I can publish it as libtest 0.0.1 and will update this PR to use that instead.


Every time libtest is modified upstream one has to restart the migration process from zero, so once this is done it might be wise to prioritize the bors merge.

@rust-highfive
Copy link
Collaborator

The job x86_64-gnu-llvm-6.0 of your PR failed on Travis (raw log). Through arcane magic we have determined that the following fragments from the build log may contain information about the problem.

Click to expand the log.
travis_time:end:31204529:start=1551550249877092821,finish=1551550250820131648,duration=943038827
$ git checkout -qf FETCH_HEAD
travis_fold:end:git.checkout

Encrypted environment variables have been removed for security reasons.
See https://docs.travis-ci.com/user/pull-requests/#pull-requests-and-security-restrictions
$ export SCCACHE_BUCKET=rust-lang-ci-sccache2
$ export SCCACHE_REGION=us-west-1
Setting environment variables from .travis.yml
$ export IMAGE=x86_64-gnu-llvm-6.0
---
#################################################################         90.5%
######################################################################## 100.0%
[00:02:02] extracting /checkout/obj/build/cache/2019-02-17/cargo-beta-x86_64-unknown-linux-gnu.tar.gz
[00:02:02]     Updating crates.io index
[00:02:14]     Updating git repository `https://github.com/gnzlbg/libtest`
[00:02:16]   Downloaded lazy_static v0.2.11
[00:02:16]   Downloaded time v0.1.40
[00:02:16]   Downloaded num_cpus v1.8.0
[00:02:16]   Downloaded petgraph v0.4.13
---
tidy check
[00:04:09] * 569 error codes
[00:04:09] * highest error code: E0724
[00:04:10] * 252 features
[00:04:10] tidy error: The Unstable Book has a 'library feature' section 'test' which doesn't correspond to an unstable library feature
[00:04:11] invalid source: "git+https://github.com/gnzlbg/libtest#63ae76050ad3a2c81423f83d3bf4106ade630d4f"
[00:04:11] invalid source: "git+https://github.com/gnzlbg/libtest#63ae76050ad3a2c81423f83d3bf4106ade630d4f"
[00:04:11] some tidy checks failed
[00:04:11] 
[00:04:11] 
[00:04:11] command did not execute successfully: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-tools-bin/tidy" "/checkout/src" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "--no-vendor" "--quiet"
[00:04:11] 
[00:04:11] 
[00:04:11] failed to run: /checkout/obj/build/bootstrap/debug/bootstrap test src/tools/tidy
[00:04:11] Build completed unsuccessfully in 0:00:47
[00:04:11] Build completed unsuccessfully in 0:00:47
[00:04:11] make: *** [tidy] Error 1
[00:04:11] Makefile:68: recipe for target 'tidy' failed
The command "stamp sh -x -c "$RUN_SCRIPT"" exited with 2.
travis_time:start:1195c518
$ date && (curl -fs --head https://google.com | grep ^Date: | sed 's/Date: //g' || true)
Sat Mar  2 18:15:14 UTC 2019
---
travis_time:end:0655024e:start=1551550514968889083,finish=1551550514973845993,duration=4956910
travis_fold:end:after_failure.3
travis_fold:start:after_failure.4
travis_time:start:050636e8
$ ln -s . checkout && for CORE in obj/cores/core.*; do EXE=$(echo $CORE | sed 's|obj/cores/core\.[0-9]*\.!checkout!\(.*\)|\1|;y|!|/|'); if [ -f "$EXE" ]; then printf travis_fold":start:crashlog\n\033[31;1m%s\033[0m\n" "$CORE"; gdb --batch -q -c "$CORE" "$EXE" -iex 'set auto-load off' -iex 'dir src/' -iex 'set sysroot .' -ex bt -ex q; echo travis_fold":"end:crashlog; fi; done || true
travis_fold:end:after_failure.4
travis_fold:start:after_failure.5
travis_time:start:0b03eb6a
travis_time:start:0b03eb6a
$ cat ./obj/build/x86_64-unknown-linux-gnu/native/asan/build/lib/asan/clang_rt.asan-dynamic-i386.vers || true
cat: ./obj/build/x86_64-unknown-linux-gnu/native/asan/build/lib/asan/clang_rt.asan-dynamic-i386.vers: No such file or directory
travis_fold:end:after_failure.5
travis_fold:start:after_failure.6
travis_time:start:0ca8cc90
$ dmesg | grep -i kill

I'm a bot! I can only do what humans tell me to, so if this was not helpful or you have suggestions for improvements, please ping or otherwise contact @TimNN. (Feature Requests)

@rust-highfive
Copy link
Collaborator

The job x86_64-gnu-llvm-6.0 of your PR failed on Travis (raw log). Through arcane magic we have determined that the following fragments from the build log may contain information about the problem.

Click to expand the log.
travis_time:end:040a8ea4:start=1551552090735629449,finish=1551552091684831951,duration=949202502
$ git checkout -qf FETCH_HEAD
travis_fold:end:git.checkout

Encrypted environment variables have been removed for security reasons.
See https://docs.travis-ci.com/user/pull-requests/#pull-requests-and-security-restrictions
$ export SCCACHE_BUCKET=rust-lang-ci-sccache2
$ export SCCACHE_REGION=us-west-1
Setting environment variables from .travis.yml
$ export IMAGE=x86_64-gnu-llvm-6.0
---
###########################################                               60.6%
######################################################################## 100.0%
[00:02:10] extracting /checkout/obj/build/cache/2019-02-17/cargo-beta-x86_64-unknown-linux-gnu.tar.gz
[00:02:10]     Updating crates.io index
[00:02:22]     Updating git repository `https://github.com/gnzlbg/libtest`
[00:02:23]   Downloaded filetime v0.2.4
[00:02:23]   Downloaded serde_json v1.0.33
[00:02:23]   Downloaded serde_derive v1.0.81
[00:02:23]   Downloaded libc v0.2.46
---
tidy check
[00:04:17] * 569 error codes
[00:04:17] * highest error code: E0724
[00:04:17] * 252 features
[00:04:18] invalid source: "git+https://github.com/gnzlbg/libtest#63ae76050ad3a2c81423f83d3bf4106ade630d4f"
[00:04:18] invalid source: "git+https://github.com/gnzlbg/libtest#63ae76050ad3a2c81423f83d3bf4106ade630d4f"
[00:04:18] some tidy checks failed
[00:04:18] 
[00:04:18] 
[00:04:18] command did not execute successfully: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-tools-bin/tidy" "/checkout/src" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "--no-vendor" "--quiet"
[00:04:18] 
[00:04:18] 
[00:04:18] failed to run: /checkout/obj/build/bootstrap/debug/bootstrap test src/tools/tidy
[00:04:18] Build completed unsuccessfully in 0:00:47
[00:04:18] Build completed unsuccessfully in 0:00:47
[00:04:18] Makefile:68: recipe for target 'tidy' failed
[00:04:18] make: *** [tidy] Error 1
The command "stamp sh -x -c "$RUN_SCRIPT"" exited with 2.
travis_time:start:0e9d2d95
$ date && (curl -fs --head https://google.com | grep ^Date: | sed 's/Date: //g' || true)
Sat Mar  2 18:46:01 UTC 2019
---
travis_time:end:21f10141:start=1551552362055433616,finish=1551552362060201458,duration=4767842
travis_fold:end:after_failure.3
travis_fold:start:after_failure.4
travis_time:start:09370235
$ ln -s . checkout && for CORE in obj/cores/core.*; do EXE=$(echo $CORE | sed 's|obj/cores/core\.[0-9]*\.!checkout!\(.*\)|\1|;y|!|/|'); if [ -f "$EXE" ]; then printf travis_fold":start:crashlog\n\033[31;1m%s\033[0m\n" "$CORE"; gdb --batch -q -c "$CORE" "$EXE" -iex 'set auto-load off' -iex 'dir src/' -iex 'set sysroot .' -ex bt -ex q; echo travis_fold":"end:crashlog; fi; done || true
travis_fold:end:after_failure.4
travis_fold:start:after_failure.5
travis_time:start:011c44fc
travis_time:start:011c44fc
$ cat ./obj/build/x86_64-unknown-linux-gnu/native/asan/build/lib/asan/clang_rt.asan-dynamic-i386.vers || true
cat: ./obj/build/x86_64-unknown-linux-gnu/native/asan/build/lib/asan/clang_rt.asan-dynamic-i386.vers: No such file or directory
travis_fold:end:after_failure.5
travis_fold:start:after_failure.6
travis_time:start:070ab3de
$ dmesg | grep -i kill

I'm a bot! I can only do what humans tell me to, so if this was not helpful or you have suggestions for improvements, please ping or otherwise contact @TimNN. (Feature Requests)

@gnzlbg
Copy link
Contributor Author

gnzlbg commented Mar 2, 2019

So the failure is to be expected until we start using a crate from crates.io. I've added a commit that runs the apple and linux jobs on this branch to make sure that modulo tidy everything else is ok.

@rust-highfive
Copy link
Collaborator

The job x86_64-gnu-llvm-6.0 of your PR failed on Travis (raw log). Through arcane magic we have determined that the following fragments from the build log may contain information about the problem.

Click to expand the log.
travis_time:end:1859ed04:start=1551555432092975734,finish=1551555433091701157,duration=998725423
$ git checkout -qf FETCH_HEAD
travis_fold:end:git.checkout

Encrypted environment variables have been removed for security reasons.
See https://docs.travis-ci.com/user/pull-requests/#pull-requests-and-security-restrictions
$ export SCCACHE_BUCKET=rust-lang-ci-sccache2
$ export SCCACHE_REGION=us-west-1
Setting environment variables from .travis.yml
$ export IMAGE=x86_64-gnu-llvm-6.0
---
[00:01:55] 
######################################################################## 100.0%
[00:01:56] extracting /checkout/obj/build/cache/2019-02-17/cargo-beta-x86_64-unknown-linux-gnu.tar.gz
[00:01:56]     Updating crates.io index
[00:02:08]     Updating git repository `https://github.com/gnzlbg/libtest`
[00:02:09]   Downloaded getopts v0.2.17
[00:02:09]   Downloaded serde_json v1.0.33
[00:02:09]   Downloaded num_cpus v1.8.0
[00:02:09]   Downloaded toml v0.4.10
---
tidy check
[00:04:06] * 569 error codes
[00:04:06] * highest error code: E0724
[00:04:06] * 252 features
[00:04:07] invalid source: "git+https://github.com/gnzlbg/libtest#63ae76050ad3a2c81423f83d3bf4106ade630d4f"
[00:04:07] invalid source: "git+https://github.com/gnzlbg/libtest#63ae76050ad3a2c81423f83d3bf4106ade630d4f"
[00:04:07] some tidy checks failed
[00:04:07] 
[00:04:07] 
[00:04:07] command did not execute successfully: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-tools-bin/tidy" "/checkout/src" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "--no-vendor" "--quiet"
[00:04:07] 
[00:04:07] 
[00:04:07] failed to run: /checkout/obj/build/bootstrap/debug/bootstrap test src/tools/tidy
[00:04:07] Build completed unsuccessfully in 0:00:48
[00:04:07] Build completed unsuccessfully in 0:00:48
[00:04:07] make: *** [tidy] Error 1
[00:04:07] Makefile:68: recipe for target 'tidy' failed
The command "stamp sh -x -c "$RUN_SCRIPT"" exited with 2.
travis_time:start:06bbf39a
$ date && (curl -fs --head https://google.com | grep ^Date: | sed 's/Date: //g' || true)
Sat Mar  2 19:41:31 UTC 2019
---
travis_time:end:0606b0ca:start=1551555692869335904,finish=1551555692874687767,duration=5351863
travis_fold:end:after_failure.3
travis_fold:start:after_failure.4
travis_time:start:009bbee3
$ ln -s . checkout && for CORE in obj/cores/core.*; do EXE=$(echo $CORE | sed 's|obj/cores/core\.[0-9]*\.!checkout!\(.*\)|\1|;y|!|/|'); if [ -f "$EXE" ]; then printf travis_fold":start:crashlog\n\033[31;1m%s\033[0m\n" "$CORE"; gdb --batch -q -c "$CORE" "$EXE" -iex 'set auto-load off' -iex 'dir src/' -iex 'set sysroot .' -ex bt -ex q; echo travis_fold":"end:crashlog; fi; done || true
travis_fold:end:after_failure.4
travis_fold:start:after_failure.5
travis_time:start:207cdd4e
travis_time:start:207cdd4e
$ cat ./obj/build/x86_64-unknown-linux-gnu/native/asan/build/lib/asan/clang_rt.asan-dynamic-i386.vers || true
cat: ./obj/build/x86_64-unknown-linux-gnu/native/asan/build/lib/asan/clang_rt.asan-dynamic-i386.vers: No such file or directory
travis_fold:end:after_failure.5
travis_fold:start:after_failure.6
travis_time:start:0a968576
$ dmesg | grep -i kill

I'm a bot! I can only do what humans tell me to, so if this was not helpful or you have suggestions for improvements, please ping or otherwise contact @TimNN. (Feature Requests)

@rust-highfive
Copy link
Collaborator

The job x86_64-gnu-llvm-6.0 of your PR failed on Travis (raw log). Through arcane magic we have determined that the following fragments from the build log may contain information about the problem.

Click to expand the log.
travis_time:end:0aa4d707:start=1551621596089690404,finish=1551621675232723174,duration=79143032770
$ git checkout -qf FETCH_HEAD
travis_fold:end:git.checkout

Encrypted environment variables have been removed for security reasons.
See https://docs.travis-ci.com/user/pull-requests/#pull-requests-and-security-restrictions
$ export SCCACHE_BUCKET=rust-lang-ci-sccache2
$ export SCCACHE_REGION=us-west-1
Setting environment variables from .travis.yml
$ export IMAGE=x86_64-gnu-llvm-6.0
---
###############################                                           43.8%
######################################################################## 100.0%
[00:01:10] extracting /checkout/obj/build/cache/2019-02-27/cargo-beta-x86_64-unknown-linux-gnu.tar.gz
[00:01:10]     Updating crates.io index
[00:01:22] error: the lock file /checkout/Cargo.lock needs to be updated but --locked was passed to prevent this
[00:01:22] Build completed unsuccessfully in 0:00:27
[00:01:22] make: *** [prepare] Error 1
[00:01:22] Makefile:70: recipe for target 'prepare' failed
[00:01:23] Command failed. Attempt 2/5:
[00:01:23] Command failed. Attempt 2/5:
[00:01:23]     Updating crates.io index
[00:01:24] error: the lock file /checkout/Cargo.lock needs to be updated but --locked was passed to prevent this
[00:01:24] Build completed unsuccessfully in 0:00:00
[00:01:24] make: *** [prepare] Error 1
[00:01:24] Makefile:70: recipe for target 'prepare' failed
[00:01:26] Command failed. Attempt 3/5:
[00:01:26] Command failed. Attempt 3/5:
[00:01:26]     Updating crates.io index
[00:01:27] error: the lock file /checkout/Cargo.lock needs to be updated but --locked was passed to prevent this
[00:01:27] Build completed unsuccessfully in 0:00:00
[00:01:27] make: *** [prepare] Error 1
[00:01:27] Makefile:70: recipe for target 'prepare' failed
[00:01:30] Command failed. Attempt 4/5:
[00:01:30] Command failed. Attempt 4/5:
[00:01:30]     Updating crates.io index
[00:01:30] error: the lock file /checkout/Cargo.lock needs to be updated but --locked was passed to prevent this
[00:01:30] Build completed unsuccessfully in 0:00:00
[00:01:30] make: *** [prepare] Error 1
[00:01:30] Makefile:70: recipe for target 'prepare' failed
[00:01:34] Command failed. Attempt 5/5:
[00:01:34] Command failed. Attempt 5/5:
[00:01:34]     Updating crates.io index
[00:01:35] error: the lock file /checkout/Cargo.lock needs to be updated but --locked was passed to prevent this
[00:01:35] Build completed unsuccessfully in 0:00:00
[00:01:35] make: *** [prepare] Error 1
[00:01:35] Makefile:70: recipe for target 'prepare' failed
[00:01:35] The command has failed after 5 attempts.
---
travis_time:end:272ac220:start=1551621781534748367,finish=1551621781541386297,duration=6637930
travis_fold:end:after_failure.3
travis_fold:start:after_failure.4
travis_time:start:29c116fe
$ ln -s . checkout && for CORE in obj/cores/core.*; do EXE=$(echo $CORE | sed 's|obj/cores/core\.[0-9]*\.!checkout!\(.*\)|\1|;y|!|/|'); if [ -f "$EXE" ]; then printf travis_fold":start:crashlog\n\033[31;1m%s\033[0m\n" "$CORE"; gdb --batch -q -c "$CORE" "$EXE" -iex 'set auto-load off' -iex 'dir src/' -iex 'set sysroot .' -ex bt -ex q; echo travis_fold":"end:crashlog; fi; done || true
travis_fold:end:after_failure.4
travis_fold:start:after_failure.5
travis_time:start:0d8b63b8
travis_time:start:0d8b63b8
$ cat ./obj/build/x86_64-unknown-linux-gnu/native/asan/build/lib/asan/clang_rt.asan-dynamic-i386.vers || true
cat: ./obj/build/x86_64-unknown-linux-gnu/native/asan/build/lib/asan/clang_rt.asan-dynamic-i386.vers: No such file or directory
travis_fold:end:after_failure.5
travis_fold:start:after_failure.6
travis_time:start:33a90c9e
$ dmesg | grep -i kill

I'm a bot! I can only do what humans tell me to, so if this was not helpful or you have suggestions for improvements, please ping or otherwise contact @TimNN. (Feature Requests)

@rust-highfive
Copy link
Collaborator

The job x86_64-gnu-llvm-6.0 of your PR failed on Travis (raw log). Through arcane magic we have determined that the following fragments from the build log may contain information about the problem.

Click to expand the log.
travis_time:end:22773400:start=1551622162967745851,finish=1551622260666175817,duration=97698429966
$ git checkout -qf FETCH_HEAD
travis_fold:end:git.checkout

Encrypted environment variables have been removed for security reasons.
See https://docs.travis-ci.com/user/pull-requests/#pull-requests-and-security-restrictions
$ export SCCACHE_BUCKET=rust-lang-ci-sccache2
$ export SCCACHE_REGION=us-west-1
Setting environment variables from .travis.yml
$ export IMAGE=x86_64-gnu-llvm-6.0
---
[00:04:52]    Compiling test v0.0.0 (/checkout/src/libtest)
[00:04:52] error: stability attributes may not be used outside of the standard library
[00:04:52]   --> src/libtest/lib.rs:12:1
[00:04:52]    |
[00:04:52] 12 | #![unstable(feature = "test", issue = "27812")]
[00:04:52] 
[00:04:52] error[E0658]: use of unstable library feature 'test' (see issue #27812)
[00:04:52]   --> src/libtest/lib.rs:16:1
[00:04:52]    |
[00:04:52]    |
[00:04:52] 16 | extern crate libtest;
[00:04:52]    | ^^^^^^^^^^^^^^^^^^^^^
[00:04:52]    |
[00:04:52]    = help: add #![feature(test)] to the crate attributes to enable
[00:04:52] error[E0658]: use of unstable library feature 'test' (see issue #27812)
[00:04:52]   --> src/libtest/lib.rs:17:9
[00:04:52]    |
[00:04:52] 17 | pub use libtest::*;
[00:04:52] 17 | pub use libtest::*;
[00:04:52]    |         ^^^^^^^
[00:04:52]    |
[00:04:52]    = help: add #![feature(test)] to the crate attributes to enable
[00:04:52] error: aborting due to 3 previous errors
[00:04:52] 
[00:04:52] For more information about this error, try `rustc --explain E0658`.
[00:04:52] error: Could not compile `test`.
---
travis_time:end:0a30f297:start=1551622564246109805,finish=1551622564252614456,duration=6504651
travis_fold:end:after_failure.3
travis_fold:start:after_failure.4
travis_time:start:0164faf9
$ ln -s . checkout && for CORE in obj/cores/core.*; do EXE=$(echo $CORE | sed 's|obj/cores/core\.[0-9]*\.!checkout!\(.*\)|\1|;y|!|/|'); if [ -f "$EXE" ]; then printf travis_fold":start:crashlog\n\033[31;1m%s\033[0m\n" "$CORE"; gdb --batch -q -c "$CORE" "$EXE" -iex 'set auto-load off' -iex 'dir src/' -iex 'set sysroot .' -ex bt -ex q; echo travis_fold":"end:crashlog; fi; done || true
travis_fold:end:after_failure.4
travis_fold:start:after_failure.5
travis_time:start:03da33cb
travis_time:start:03da33cb
$ cat ./obj/build/x86_64-unknown-linux-gnu/native/asan/build/lib/asan/clang_rt.asan-dynamic-i386.vers || true
cat: ./obj/build/x86_64-unknown-linux-gnu/native/asan/build/lib/asan/clang_rt.asan-dynamic-i386.vers: No such file or directory
travis_fold:end:after_failure.5
travis_fold:start:after_failure.6
travis_time:start:11a8a35c
$ dmesg | grep -i kill

I'm a bot! I can only do what humans tell me to, so if this was not helpful or you have suggestions for improvements, please ping or otherwise contact @TimNN. (Feature Requests)

@bors
Copy link
Contributor

bors commented Mar 3, 2019

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

@rust-highfive
Copy link
Collaborator

The job x86_64-gnu-llvm-6.0 of your PR failed on Travis (raw log). Through arcane magic we have determined that the following fragments from the build log may contain information about the problem.

Click to expand the log.
travis_time:end:0ca3047a:start=1551629717340327631,finish=1551629719469625182,duration=2129297551
$ git checkout -qf FETCH_HEAD
travis_fold:end:git.checkout

Encrypted environment variables have been removed for security reasons.
See https://docs.travis-ci.com/user/pull-requests/#pull-requests-and-security-restrictions
$ export SCCACHE_BUCKET=rust-lang-ci-sccache2
$ export SCCACHE_REGION=us-west-1
Setting environment variables from .travis.yml
$ export IMAGE=x86_64-gnu-llvm-6.0
---
[00:05:17]    Compiling test v0.0.0 (/checkout/src/libtest)
[00:05:17] error: stability attributes may not be used outside of the standard library
[00:05:17]   --> src/libtest/lib.rs:12:1
[00:05:17]    |
[00:05:17] 12 | #![unstable(feature = "test", issue = "27812")]
[00:05:17] 
[00:05:17] error: aborting due to previous error
[00:05:17] 
[00:05:17] error: Could not compile `test`.

I'm a bot! I can only do what humans tell me to, so if this was not helpful or you have suggestions for improvements, please ping or otherwise contact @TimNN. (Feature Requests)

@gnzlbg
Copy link
Contributor Author

gnzlbg commented Mar 3, 2019

@alexcrichton so I went ahead and released the crates on crates.io to make the tests pass, i've sent you invites as an owner.

@alexcrichton
Copy link
Member

Oh sorry I was a bit slow on the repo transfer and it's now expired, want to send the transfer to me again? (and I'll transfer to rust-lang)

I think it'd be best though if we start off from a clean/stable slate. Would it be possible to get libtest on crates.io building on stable Rust? Additionally, I would prefer that we keep all the rustc-unstable bits in this repository, rather than simply pub use libtest::*. Could the rustc-specific structures (the ones that rustc emits and uses) be copied here to this repository and then mapped to the libtest versions upstream so we can change the ones in this repository easily?

@alexcrichton
Copy link
Member

@gnzlbg
Copy link
Contributor Author

gnzlbg commented Mar 4, 2019

So @alexcrichton I've added a README briefly describing the situation and pointing to a "roadmap" issue in rust-lang/libtest. I've also removed the pub use libtest::* export, and explicitly imported the most important parts of the libtest API manually. We should strive to reduce the list of imports in the future, and figure out if there are any bits of libtest that make sense re-implementing in rust-lang/rust to help with maintainability so that libtest can iterate faster and more freely as a standalone crate. At the same time, the unstable test crate is widely used, and just because its unstable does not mean that we can break its users freely. If we want to remove some parts of the test crate API, I think we should do so only if we are already providing an alternative on crates.io .

@alexcrichton
Copy link
Member

@bors: r+

@bors
Copy link
Contributor

bors commented Mar 4, 2019

📌 Commit b7f0b76f01a8badb209c4195fcd1f5e727108d4a has been approved by alexcrichton

@bors bors removed the S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. label Mar 4, 2019
@gnzlbg
Copy link
Contributor Author

gnzlbg commented Mar 19, 2019

@bors: r+

@bors
Copy link
Contributor

bors commented Mar 19, 2019

📌 Commit 144bdc6 has been approved by gnzlbg

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. labels Mar 19, 2019
@bors
Copy link
Contributor

bors commented Mar 19, 2019

⌛ Testing commit 144bdc6 with merge 30cbf5b1f2a7260df1018f689417ba5c61ed4c9a...

@rust-highfive
Copy link
Collaborator

The job x86_64-gnu-distcheck of your PR failed on Travis (raw log). Through arcane magic we have determined that the following fragments from the build log may contain information about the problem.

Click to expand the log.

[00:07:18] [TIMING] ToolBuild { compiler: Compiler { stage: 0, host: "x86_64-unknown-linux-gnu" }, target: "x86_64-unknown-linux-gnu", tool: "fabricate", path: "src/tools/rust-installer", mode: ToolBootstrap, is_optional_tool: false, source_type: Submodule, extra_features: [] } -- 61.037
[00:13:10] [TIMING] PlainSourceTarball -- 544.469
[00:13:10] Dist src
[00:13:10] thread 'main' panicked at 'could not read dir "/checkout/src/libterm": Os { code: 2, kind: NotFound, message: "No such file or directory" }', src/bootstrap/lib.rs:1297:25
[00:13:10] failed to run: /checkout/obj/build/bootstrap/debug/bootstrap test distcheck
[00:13:10] Build completed unsuccessfully in 0:10:10
travis_time:end:0e271ec8:start=1553018469726782681,finish=1553019260928757147,duration=791201974466
The command "stamp sh -x -c "$RUN_SCRIPT"" exited with 1.
---
travis_time:end:0776cb38:start=1553019262754629304,finish=1553019262778310731,duration=23681427
travis_fold:end:after_failure.3
travis_fold:start:after_failure.4
travis_time:start:08dc11fa
$ ln -s . checkout && for CORE in obj/cores/core.*; do EXE=$(echo $CORE | sed 's|obj/cores/core\.[0-9]*\.!checkout!\(.*\)|\1|;y|!|/|'); if [ -f "$EXE" ]; then printf travis_fold":start:crashlog\n\033[31;1m%s\033[0m\n" "$CORE"; gdb --batch -q -c "$CORE" "$EXE" -iex 'set auto-load off' -iex 'dir src/' -iex 'set sysroot .' -ex bt -ex q; echo travis_fold":"end:crashlog; fi; done || true
travis_fold:end:after_failure.4
travis_fold:start:after_failure.5
travis_time:start:0806e421
travis_time:start:0806e421
$ cat ./obj/build/x86_64-unknown-linux-gnu/native/asan/build/lib/asan/clang_rt.asan-dynamic-i386.vers || true
cat: ./obj/build/x86_64-unknown-linux-gnu/native/asan/build/lib/asan/clang_rt.asan-dynamic-i386.vers: No such file or directory
travis_fold:end:after_failure.5
travis_fold:start:after_failure.6
travis_time:start:326979a5
$ dmesg | grep -i kill

I'm a bot! I can only do what humans tell me to, so if this was not helpful or you have suggestions for improvements, please ping or otherwise contact @TimNN. (Feature Requests)

@bors
Copy link
Contributor

bors commented Mar 19, 2019

💔 Test failed - checks-travis

@bors bors added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. and removed S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. labels Mar 19, 2019
@gnzlbg
Copy link
Contributor Author

gnzlbg commented Mar 19, 2019

@bors: r+

@bors
Copy link
Contributor

bors commented Mar 19, 2019

📌 Commit 1446b24 has been approved by gnzlbg

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Mar 19, 2019
@bors
Copy link
Contributor

bors commented Mar 19, 2019

⌛ Testing commit 1446b24 with merge 3eb4890...

bors added a commit that referenced this pull request Mar 19, 2019
Move libtest out of rust-lang/rust

This is a first step towards a number of goals explained in this internals post: https://internals.rust-lang.org/t/a-path-forward-towards-re-usable-libtest-functionality-custom-test-frameworks-and-a-stable-bench-macro

This PR does not fully remove libtest from rust-lang/rust, we keep a shim that imports and re-exports the external libtest, and adds the proc_macro dependency, etc.

r? @alexcrichton

cc @djrenren @petrochenkov
@bors
Copy link
Contributor

bors commented Mar 19, 2019

☀️ Test successful - checks-travis, status-appveyor
Approved by: gnzlbg
Pushing 3eb4890 to master...

@bors bors added the merged-by-bors This PR was explicitly merged by bors. label Mar 19, 2019
@bors bors merged commit 1446b24 into rust-lang:master Mar 19, 2019
@rust-highfive
Copy link
Collaborator

📣 Toolstate changed by #57842!

Tested on commit 3eb4890.
Direct link to PR: #57842

💔 clippy-driver on windows: test-pass → test-fail (cc @Manishearth @llogiq @mcarton @oli-obk @phansch, @rust-lang/infra).
💔 clippy-driver on linux: test-pass → test-fail (cc @Manishearth @llogiq @mcarton @oli-obk @phansch, @rust-lang/infra).

rust-highfive added a commit to rust-lang-nursery/rust-toolstate that referenced this pull request Mar 19, 2019
Tested on commit rust-lang/rust@3eb4890.
Direct link to PR: <rust-lang/rust#57842>

💔 clippy-driver on windows: test-pass → test-fail (cc @Manishearth @llogiq @mcarton @oli-obk @phansch, @rust-lang/infra).
💔 clippy-driver on linux: test-pass → test-fail (cc @Manishearth @llogiq @mcarton @oli-obk @phansch, @rust-lang/infra).
@kennytm kennytm mentioned this pull request Mar 24, 2019
xales added a commit to xales/rust that referenced this pull request Apr 7, 2019
…lbg"

This reverts commit 3eb4890, reversing
changes made to 7a4df3b.
bors added a commit that referenced this pull request Apr 7, 2019
Revert "Auto merge of #57842 - gnzlbg:extract_libtest, r=gnzlbg"

This reverts commit 3eb4890, reversing
changes made to 7a4df3b.

This is, as best I can tell, a clean revert of #57842. It retains some interim changes, like moving `black_box`, and otherwise brings libtest back in as it was before removal.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
merged-by-bors This PR was explicitly merged by bors. S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants