Opened 4 years ago
Closed 3 years ago
#1789 closed defect (fixed)
md5 egg doesn't run tests on the correct CHICKEN
| Reported by: | sjamaan | Owned by: | Kon Lovett |
|---|---|---|---|
| Priority: | major | Milestone: | someday |
| Component: | extensions | Version: | 5.2.0 |
| Keywords: | Cc: | Kon Lovett | |
| Estimated difficulty: | medium |
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).
Change History (3)
comment:1 Changed 4 years ago by
| Cc: | Kon Lovett added; klovett removed |
|---|---|
| Owner: | changed from klovett to Kon Lovett |
comment:2 Changed 4 years ago by
comment:3 Changed 3 years ago by
| Resolution: | → fixed |
|---|---|
| Status: | assigned → closed |
when env var not defined uses (pathname-directory (executable-pathname)) as the binary directory for csi/csc. (version 4.1.2)

egg version 4.1.2 has a possible solution