Toots du Jour (Aug 30)
- IntelliJ IDEA 2025.2.1 Is Out! #ide #intellij #intellijidea #java #jetbrains #kotlin blog.jetbrains.com/idea/2025/0… #
Pure java build tool for developers who don't like dealing with build tools
I've released a new extension for bld, JUnit Reporter, which summarizes JUnit failures:
> ./bld compile test
> ./bld reporter
--------------------------------------------------
JUnit Failures Summary
--------------------------------------------------
[1] com.example.ExampleTests (3 failures, 0.011s)
- [1.1] verifyFail(String)[1] ([1] foo)
- [1.2] verifyFail(String)[2] ([2] bar)
- [1.3] verifyHelloFoo()
[2] com.example.MoreTests (2 failures, 0.001s)
- [2.1] verifyMore(String)[3] ([3] qux)
- [2.2] verifyMore(String)[4] ([4] quux)
To display details about the failures:
> ./bld reporter --index=1
--------------------------------------------------
[1] com.example.ExampleTests
--------------------------------------------------
[1.1] Test: verifyFail(String)[1]
- Name: [1] foo
- Type: org.opentest4j.AssertionFailedError
- Message:
expected: <foo> but was: <Hello World!>
- Time: 0.009s
[1.2] Test: verifyFail(String)[2]
- Name: [2] bar
- Type: org.opentest4j.AssertionFailedError
- Message:
expected: <bar> but was: <Hello World!>
- Time: 0.001s
And to display the details of a specific failure:
> ./bld report --i=1.2
--------------------------------------------------
[1] com.example.ExampleTests
--------------------------------------------------
[1.2] Test: verifyFail(String)[2]
- Name: [2] bar
- Type: org.opentest4j.AssertionFailedError
- Message:
expected: <bar> but was: <Hello World!>
- Time: 0.001s
- Trace:
org.opentest4j.AssertionFailedError: expected: <bar> but was: <Hello World!>
at org.junit.jupiter.api.AssertionFailureBuilder.build(AssertionFailureBuilder.java:151)
at org.junit.jupiter.api.AssertionFailureBuilder.buildAndThrow(AssertionFailureBuilder.java:132)
at org.junit.jupiter.api.AssertEquals.failNotEqual(AssertEquals.java:197)
at org.junit.jupiter.api.AssertEquals.assertEquals(AssertEquals.java:182)
at org.junit.jupiter.api.AssertEquals.assertEquals(AssertEquals.java:177)
at org.junit.jupiter.api.Assertions.assertEquals(Assertions.java:1145)
...
It's quite opinionated, but pretty useful, especially within a continuous integration (CI) workflow.
Following the Norman invasion of England, Rob — a Saxon forester's son — and Marian, the daughter of a Norman lord — fall in love and work together to fight for justice and freedom. As Rob rises as the leader of a band of rebel outlaws, Marian infiltrates the power at court, as both work together to thwart royal corruption and bring peace to the land.
A former Navy SEAL battling PTSD finds his solitary Southeast Asian life disrupted by a mysterious woman washing ashore near his home.