mojo_system_unittests are broken in the official build |
|||
Issue description
Version: tip
OS: Linux
What steps will reproduce the problem?
(1) Build mojo_system_unittests in the official mode:
$ gn gen out/gn-off '--args=is_chrome_branded=true is_official_build=true is_debug=false' --check
$ ninja -C out/gn-off mojo_system_unittests
(2) Run mojo_system_unittests:
$ ./out/gn-off/mojo_system_unittests
...
Retrying 2 tests (retry #1)
[ RUN ] OptionsValidationTest.InvalidDeath
../../mojo/edk/system/options_validation_unittest.cc:103: Failure
Death test: { UserOptionsReader<TestOptions> reader((nullptr)); }
Result: died but not with expected error.
Expected: Check failed
Actual msg:
[ DEATH ] [11813:11813:0517/101212:589892447147:WARNING:test_suite.cc(195)] Test launcher output path /tmp/.com.google.Chrome.BYGarC/test_results.xml exists. Not adding test launcher result printer.
[ DEATH ] Received signal 4 ILL_ILLOPN 000000497f67
[ DEATH ] #0 0x00000059dcb7 (/usr/local/google/home/krasin/chr22/src/out/gn-off/mojo_system_unittests+0x59dcb6)
[ DEATH ] r8: 0000000000000000 r9: 00007ffc420f1ec0 r10: 0000000000000001 r11: 00007f75ea5dd870
[ DEATH ] r12: 00002f6955326e00 r13: 00002f6955326e00 r14: 00002f6955368940 r15: 00002f6955323500
[ DEATH ] di: 00002f6955368940 si: 0000000000000004 bp: 0000000000000002 bx: 00002f6955368940
[ DEATH ] dx: 0000000000000000 ax: 0000000000000001 cx: 00002f6955329c20 sp: 00007ffc420f1e40
[ DEATH ] ip: 0000000000497f67 efl: 0000000000010202 cgf: 0000000000000033 erf: 0000000000000000
[ DEATH ] trp: 0000000000000006 msk: 0000000000000000 cr2: 0000000000000000
[ DEATH ] [end of stack trace]
[ DEATH ]
../../mojo/edk/system/options_validation_unittest.cc:111: Failure
Death test: { UserOptionsReader<TestOptions> reader( reinterpret_cast<const TestOptions*>(1)); }
Result: died but not with expected error.
Expected: Check failed
Actual msg:
[ DEATH ] [11815:11815:0517/101212:589892454348:WARNING:test_suite.cc(195)] Test launcher output path /tmp/.com.google.Chrome.BYGarC/test_results.xml exists. Not adding test launcher result printer.
[ DEATH ] Received signal 4 ILL_ILLOPN 000000497f67
[ DEATH ] #0 0x00000059dcb7 (/usr/local/google/home/krasin/chr22/src/out/gn-off/mojo_system_unittests+0x59dcb6)
[ DEATH ] r8: 0000000000000000 r9: 00007ffe547bfd80 r10: 0000000000000001 r11: 00007f7e17660870
[ DEATH ] r12: 00000a17593e6e00 r13: 00000a17593e6e00 r14: 00000a1759428940 r15: 00000a17593e3500
[ DEATH ] di: 00000a1759428940 si: 0000000000000004 bp: 0000000000000004 bx: 00000a1759428940
[ DEATH ] dx: 0000000000000000 ax: 0000000000000001 cx: 00000a17593e9c20 sp: 00007ffe547bfd00
[ DEATH ] ip: 0000000000497f67 efl: 0000000000010202 cgf: 0000000000000033 erf: 0000000000000000
[ DEATH ] trp: 0000000000000006 msk: 0000000000000000 cr2: 0000000000000000
[ DEATH ] [end of stack trace]
[ DEATH ]
../../mojo/edk/system/options_validation_unittest.cc:125: Failure
Death test: { uint32_t buffer[100] = {}; TestOptions* options = (reinterpret_cast<uintptr_t>(buffer) % 8 == 0) ? reinterpret_cast<TestOptions*>(&buffer[1]) : reinterpret_cast<TestOptions*>(&buffer[0]); options-
>struct_size = static_cast<uint32_t>(sizeof(TestOptions)); UserOptionsReader<TestOptions> reader(options); }
Result: died but not with expected error.
Expected: Check failed
Actual msg:
[ DEATH ] [11817:11817:0517/101212:589892461283:WARNING:test_suite.cc(195)] Test launcher output path /tmp/.com.google.Chrome.BYGarC/test_results.xml exists. Not adding test launcher result printer.
[ DEATH ] Received signal 4 ILL_ILLOPN 000000497f67
[ DEATH ] #0 0x00000059dcb7 (/usr/local/google/home/krasin/chr22/src/out/gn-off/mojo_system_unittests+0x59dcb6)
[ DEATH ] r8: 0000000000000000 r9: 00007ffd8d4ab540 r10: 0000000000000001 r11: 00007fed85307870
[ DEATH ] r12: 00003dc387f53e00 r13: 00003dc387f53e00 r14: 00003dc387f95940 r15: 00003dc387f50500
[ DEATH ] di: 00007ffd8d4ab5c0 si: 0000000000000000 bp: 0000000000000000 bx: 00003dc387f95940
[ DEATH ] dx: 00007ffd8d4ab740 ax: 00007ffd8d4ab5c0 cx: 00007ffd8d4ab740 sp: 00007ffd8d4ab540
[ DEATH ] ip: 0000000000497f67 efl: 0000000000010246 cgf: 0000000000000033 erf: 0000000000000000
[ DEATH ] trp: 0000000000000006 msk: 0000000000000000 cr2: 0000000000000000
[ DEATH ] [end of stack trace]
[ DEATH ]
[ FAILED ] OptionsValidationTest.InvalidDeath (23 ms)
[161/162] OptionsValidationTest.InvalidDeath (23 ms)
[ RUN ] CoreTest.InvalidArgumentsDeath
../../mojo/edk/system/core_unittest.cc:457: Failure
Death test: core()->WaitMany(nullptr, &signals, 1, MOJO_DEADLINE_INDEFINITE, nullptr, nullptr)
Result: died but not with expected error.
Expected: Check failed
Actual msg:
[ DEATH ] [11821:11821:0517/101212:589892486856:WARNING:test_suite.cc(195)] Test launcher output path /tmp/.com.google.Chrome.nbTM2p/test_results.xml exists. Not adding test launcher result printer.
[ DEATH ] Received signal 4 ILL_ILLOPN 00000050018e
[ DEATH ] #0 0x00000059dcb7 (/usr/local/google/home/krasin/chr22/src/out/gn-off/mojo_system_unittests+0x59dcb6)
[ DEATH ] r8: ffffffffffffffff r9: 00007ffede22bc74 r10: 0000000000000001 r11: 00007f97ea0d0870
[ DEATH ] r12: 00007ffede22bddc r13: 0000000000000000 r14: 00000a4ef44bcb00 r15: ffffffffffffffff
[ DEATH ] di: 00000a4ef44bcb00 si: 0000000000000000 bp: 0000000000000001 bx: 0000000000000001
[ DEATH ] dx: 00007ffede22bddc ax: a4e15e69ca4a9400 cx: 0000000000000001 sp: 00007ffede22bb30
[ DEATH ] ip: 000000000050018e efl: 0000000000010246 cgf: 0000000000000033 erf: 0000000000000000
[ DEATH ] trp: 0000000000000006 msk: 0000000000000000 cr2: 0000000000000000
[ DEATH ] [end of stack trace]
[ DEATH ]
[ FAILED ] CoreTest.InvalidArgumentsDeath (7 ms)
[162/162] CoreTest.InvalidArgumentsDeath (7 ms)
2 tests failed:
CoreTest.InvalidArgumentsDeath (../../mojo/edk/system/core_unittest.cc:447)
OptionsValidationTest.InvalidDeath (../../mojo/edk/system/options_validation_unittest.cc:97)
The tests only fail in the official mode. That was uncovered by the new 'LTO Linux' buildbot, but it turned out that the failure has nothing to do with LTO, and reproduces in the regular build as well.
Please, take a look.
,
May 17 2016
I'll look at this. Seems like an issue with how we link official builds vs how we access internal globals in tests.
,
May 17 2016
Nevermind, it's way dumber than that. Just a mismatch of expectations between CHECK output on official vs non-official builds. Fix incoming.
,
May 17 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/f7e3c42cc1d32437f3a9e7d0c9f5adecf92b43a5 commit f7e3c42cc1d32437f3a9e7d0c9f5adecf92b43a5 Author: krasin <krasin@google.com> Date: Tue May 17 20:06:59 2016 Disable broken tests on 'LTO Linux' buildbot. These breakages are not related to LTO, and only happen in the official mode. All of them are reported, and the tests will be reenabled after they are fixed. BUG= 612473 ,612496, 612503 , 612507 Review-Url: https://codereview.chromium.org/1985123002 Cr-Commit-Position: refs/heads/master@{#394201} [modify] https://crrev.com/f7e3c42cc1d32437f3a9e7d0c9f5adecf92b43a5/testing/buildbot/chromium.fyi.json
,
May 17 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/ab9c83e8baabd5596d9f3702de970dba0cbecc88 commit ab9c83e8baabd5596d9f3702de970dba0cbecc88 Author: rockot <rockot@chromium.org> Date: Tue May 17 20:14:16 2016 [mojo-edk] Fix test expectations for official builds CHECK has different (i.e. empty) output on official builds instead of "Check failed" - ASSERT/EXPECT_DEATH* testing macros need different expectations here. BUG= 612503 R=jam@chromium.org Review-Url: https://codereview.chromium.org/1987623003 Cr-Commit-Position: refs/heads/master@{#394203} [modify] https://crrev.com/ab9c83e8baabd5596d9f3702de970dba0cbecc88/mojo/edk/system/core_unittest.cc [modify] https://crrev.com/ab9c83e8baabd5596d9f3702de970dba0cbecc88/mojo/edk/system/options_validation_unittest.cc
,
May 17 2016
|
|||
►
Sign in to add a comment |
|||
Comment 1 by krasin@chromium.org
, May 17 2016