"test -e" in testsuite doesn't work with Solaris /bin/sh
The testsuite/mk/boilerplate.mk contains stuff like:
$(eval $(call canonicaliseExecutable,TEST_HC))
ifeq "$(shell test -e '$(TEST_HC)' && echo exists)" ""
$(error Cannot find ghc: $(TEST_HC))
endif
On Solaris, the /bin/sh test builtin does not support the -e flag. It does support both -f and -x, meaning regular and executable file respectively. I think we probably mean -x in this case anyway. With that fix the testsuite seems to run ok.
Looks like we already use test -x elsewhere in testsuite/mk/boilerplate.mk so we can assume that it does work with the shell of other platforms.
Trac metadata
| Trac field | Value |
|---|---|
| Version | 6.12.1 |
| Type | Bug |
| TypeOfFailure | OtherFailure |
| Priority | normal |
| Resolution | Unresolved |
| Component | Test Suite |
| Test case | |
| Differential revisions | |
| BlockedBy | |
| Related | |
| Blocking | |
| CC | |
| Operating system | |
| Architecture |