Summary

md5 egg doesn't run tests on the correct CHICKEN

Metadata

Description

The md5 egg's test suite will fail if you call `chicken-install -test md5` when there is no `csi` binary in `$PATH`. I tried this just now while testing `5.3.0rc4` after installing it into a temporary directory.

This means if the CHICKEN binaries *are* in `$PATH` but uses `PROGRAM_PREFIX` or `PROGRAM_SUFFIX` it won't work either.

Worse, if the `csi` in `$PATH` is a different one from the one corresponding to the chicken-install being called, the results may be misleading - either failure if the one installed there is buggy, or passing tests if the one installed there works even if the egg that was just installed is buggy.

I notice that there's a fallback to use `$CHICKEN_CSI` and `$CHICKEN_CSC`, but it appears that `chicken-install` only passes those options to the build script, not the test script.

`run.scm` is already loaded from the correct `csi`, so for the interpreter I'd suggest just loading/including the test suite. But perhaps it's a good idea if `chicken-install` would export those same environment variables when invoking the test suite... And/or have some way to figure out how to call the chicken binaries by exposing them from a module? (but that would be backwards incompatible, so the test suite would need to deal with older CHICKEN versions gracefully anyway).

Changes and comments

[2021-10-06 11:10:14 UTC] sjamaan changed cc from klovett to kon

[2021-10-06 11:10:14 UTC] sjamaan changed owner from klovett to kon

[2021-10-06 18:01:26 UTC] kon wrote:

egg version 4.1.2 has a possible solution

[2022-06-26 00:16:43 UTC] kon changed status from assigned to closed

[2022-06-26 00:16:43 UTC] kon set resolution to fixed

[2022-06-26 00:16:43 UTC] kon wrote:

when env var not defined uses (pathname-directory (executable-pathname)) as the binary directory for csi/csc. (version 4.1.2)