Spent a couple hours today working with a colleague on a property test using #eris. We found one bug in the implementation of our oracle, which proved that our production code was actually doing the right thing, though it's unclear if that was deliberate or accidental. After that we increased the number of samples to 1000 which actually seems to have uncovered another bug.

Really cool to finally have a good use case for property based testing.

#php #propertybasedtesting #pbt #phpunit

Coincidentally I also started working on a php client implantation for hegel.dev last weekend which is coming along nicely. This will be a good exercise to test that on a real production use case.

#hegeldev #pbt

Progress update on hegel-php:

Spent nearly the whole day refactoring and cleaning up Claude's mess. I think I finally figured out a bug in the protocol layer that causes the test execution to hang under specific error conditions. Let's see if I can get that fixed tomorrow. I'll probably have more to say about what I did and didn't like about using Claude to get started with this in a future post.

But we have generics now for the generators so the mago/psalm/phpstan type systems should be able to infer the types that come out of the generators which really improved the DX a lot over the mixed return type it was before.

#hegeldev #hegelphp #pbt