6fe71293

By: Tom Sydney Kerckhove <syd@cs-syd.eu>

Take the mutation children's locale from a Haskell derivation

The coverage and mutation phases are plain stdenv derivations, so they get
none of the environment the Haskell builder establishes for the test
executables they run. A locale is part of that environment and not something a
test suite is expected to set up for itself.

Without one, anything a test spawns that consults the locale is configured
differently here than anywhere else that suite runs. PostgreSQL's initdb takes
its database encoding from the locale: with LANG unset it makes an SQL_ASCII
cluster, where SUBSTRING counts bytes rather than characters, so a query that
abbreviates a multi-byte string hands back a half character and the connection
fails with 'invalid byte sequence for encoding UTF8'. That reads as a flaky
test, and it is reachable only through this check.

Copied off the driver, which is a Haskell package already in scope, rather
than restated here, so these follow whatever nixpkgs decides the Haskell
locale is instead of drifting from it.

Total

11s

Created Started Finished

Time to Start Worker time Duration Time to finish Idle
Config 0s 0s 0s 1s 0s
Eval 0s 10s 10s 11s 0s
Build 11s 0s 0s 11s 0s
Suite 0s 11s 11s 11s 0s

Timeline

Config Eval Build
0s10s