On Thu, Nov 2, 2023 at 11:26 AM Suhail <suh...@bayesians.ca> wrote: > Perhaps not all. The thing that sets the "check" phase (#:tests?) apart > from the rest is that it's an identity transform with a > side-effect. i.e., it simply reports on the state of its input (i.e., > the build artifact) leaving the build artifact unchanged. The only other > phase in the gnu-build-system that is similar to the "check phase" is > the "validate-runpath phase".
Suhail, Should this say "without side-effects"? How does one guarantee that the test phase is free of side-effects? Perhaps it might be possible to add a new, throwaway layer to the OverlayFS so that the tests could still write but would not modify the filesystem. Alternatively, could we make it easier to record a timestamp in the manifest for Guix to use as the build clock time? Several packages already make use of libfaketime, but this could be integrated into the build process. Not sure of any issues regarding faketime, performance or otherwise. Greg