Make check on local passes, fails with homu


#1

Hi everyone,

After running ‘make clean; make check’ and confirming that there were no errors (except for four Valgrind errors for some other reason), I pushed PR #21613 (https://github.com/rust-lang/rust/pull/21613) with commit ff49d09. However, homu comes back with an error:

thread 'json::tests::test_to_json' panicked at 'assertion failed: `(left == right) && (right == left)` (left: `Array([I64(1), I64(2)])`, right: `Array([U64(1), U64(2)])`)', /Users/rustbuild/src/rust-buildbot/slave/auto-mac-32-opt/build/src/libserialize/json.rs:3927

This has happened with a few of my PRs in the past. What I had to do to pass the tests was to put back the suffixes to the integers which I originally removed.

So the problem seems to be that type inference isn’t working as it should because the source is the same yet fails the tests run by homu. Shouldn’t type inference yield the same types regardless of the underlying architecture? If not, isn’t this bad and maybe explicit suffixes are the way to go?

Edit: I’ve just re-checked my typescript (hint: running make check in script is handy to refer to it later) and it looks like that test (test_to_json) wasn’t even run on local! Does Homu perform more tests than ‘make check’? If so, (which would explain it) how do I run these extra too before doing a PR?

Edit2: Looks like the json tests are now running (and failing).