www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.bugs - [Issue 21350] New: [TestSuite] Failure of test/unit/frontend.d shows

https://issues.dlang.org/show_bug.cgi?id=21350

          Issue ID: 21350
           Summary: [TestSuite] Failure of test/unit/frontend.d shows as
                    "TARGET: ."
           Product: D
           Version: D2
          Hardware: All
                OS: All
            Status: NEW
          Keywords: TestSuite
          Severity: normal
          Priority: P1
         Component: dmd
          Assignee: nobody puremagic.com
          Reporter: pro.mathias.lang gmail.com

I've seen the following failure in the CI:
```
Failed to execute the `unit` test executable! (exit code 1)

 /home/circleci/dmd/generated/linux/debug/64/dmd
 /home/circleci/dmd/test/test_results/cmdfile
 /home/circleci/dmd/test/test_results/runner
test.d(1): Error: Built-in hex string literals are obsolete, use `std.conv.hexString!"61"` instead. test.d(1): Error: declaration expected following attribute, not end of file test.d(1): Error: declaration expected following attribute, not end of file test.d(1): Error: declaration expected following attribute, not end of file test.d(1): Error: declaration expected following attribute, not end of file Failures: 1) parseModule - custom AST family core.exception.AssertError /home/circleci/dmd/test/unit/frontend.d(63): unittest failure ---------------- src/core/exception.d:447 onAssertErrorMsg [0x557bdf5a00fb] src/core/exception.d:464 onUnittestErrorMsg [0x557bdf5a017d] src/core/exception.d:608 _d_unittest_msg [0x557bdf573228] src/core/exception.d:613 _d_unittest [0x557bdf573269] src/core/exception.d:603 _d_unittestp [0x557bdf5731e1] /home/circleci/dmd/test/unit/frontend.d:63 void frontend.__unittest_L14_C1() [0x557bdf2edf9d] /home/circleci/dmd/test/test_results/runner.d:160 core.runtime.UnitTestResult runner.unitTestRunner() [0x557bdf3054c6] src/core/runtime.d:598 runModuleUnitTests [0x557bdf5a0602] src/rt/dmain2.d:552 void rt.dmain2._d_run_main2(char[][], ulong, extern (C) int function(char[][])*).runAll() [0x557bdf576305] src/rt/dmain2.d:526 void rt.dmain2._d_run_main2(char[][], ulong, extern (C) int function(char[][])*).tryExec(scope void delegate()) [0x557bdf576280] src/rt/dmain2.d:585 _d_run_main2 [0x557bdf5761e5] src/rt/dmain2.d:379 _d_run_main [0x557bdf575f12] /home/circleci/dmd/generated/linux/debug/64/../../../../../druntime/import/core/internal/entrypoint.d:29 main [0x557bdf314e65] ??:? __libc_start_main [0x7fb3dd2fcb96] ??:? _start [0x557bdf2a6d69] 232 tests, 1 failures Failed tests: /home/circleci/dmd/test/unit/frontend.d:63
 TARGET FAILED: .Failed to execute the `unit` test executable! (exit code 1)
 /home/circleci/dmd/generated/linux/debug/64/dmd
 /home/circleci/dmd/test/test_results/cmdfile
 /home/circleci/dmd/test/test_results/runner
test.d(1): Error: Built-in hex string literals are obsolete, use `std.conv.hexString!"61"` instead. test.d(1): Error: declaration expected following attribute, not end of file test.d(1): Error: declaration expected following attribute, not end of file test.d(1): Error: declaration expected following attribute, not end of file test.d(1): Error: declaration expected following attribute, not end of file Failures: 1) parseModule - custom AST family core.exception.AssertError /home/circleci/dmd/test/unit/frontend.d(63): unittest failure ---------------- src/core/exception.d:447 onAssertErrorMsg [0x557bdf5a00fb] src/core/exception.d:464 onUnittestErrorMsg [0x557bdf5a017d] src/core/exception.d:608 _d_unittest_msg [0x557bdf573228] src/core/exception.d:613 _d_unittest [0x557bdf573269] src/core/exception.d:603 _d_unittestp [0x557bdf5731e1] /home/circleci/dmd/test/unit/frontend.d:63 void frontend.__unittest_L14_C1() [0x557bdf2edf9d] /home/circleci/dmd/test/test_results/runner.d:160 core.runtime.UnitTestResult runner.unitTestRunner() [0x557bdf3054c6] src/core/runtime.d:598 runModuleUnitTests [0x557bdf5a0602] src/rt/dmain2.d:552 void rt.dmain2._d_run_main2(char[][], ulong, extern (C) int function(char[][])*).runAll() [0x557bdf576305] src/rt/dmain2.d:526 void rt.dmain2._d_run_main2(char[][], ulong, extern (C) int function(char[][])*).tryExec(scope void delegate()) [0x557bdf576280] src/rt/dmain2.d:585 _d_run_main2 [0x557bdf5761e5] src/rt/dmain2.d:379 _d_run_main [0x557bdf575f12] /home/circleci/dmd/generated/linux/debug/64/../../../../../druntime/import/core/internal/entrypoint.d:29 main [0x557bdf314e65] ??:? __libc_start_main [0x7fb3dd2fcb96] ??:? _start [0x557bdf2a6d69] 232 tests, 1 failures Failed tests: /home/circleci/dmd/test/unit/frontend.d:63
 TARGET FAILED: .
``` The issue is that the target name is not helpful. Since tests runs in parallel, this can trigger early on, and the test-suite will continue to run, until a few hundreds lines later it prints: ``` [...] ... fail_compilation/fail3882.d -verrors=0 -w -fPIC (-debug) FAILED targets: - . Exited with code exit status 1 ``` Which forces the user to needlessly scroll up. --
Oct 29 2020