Petra Gyro

<1 min read

Petra Gyro

Great Gyros and Greek fries in Stanwood. Two thumbs up.

Toots du Jour (Aug 29)

<1 min read

New bld Extension: JUnit Reporter

<1 min read

bld
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.

Robin Hood

1 min read

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.


Affinity

2 min read

A former Navy SEAL battling PTSD finds his solitary Southeast Asian life disrupted by a mysterious woman washing ashore near his home.