From: Johannes Thyssen Tishman Subject: Re: UPDATE: net/crawley-v1.7.8 To: ports@openbsd.org Date: Sat, 31 Aug 2024 09:12:50 +0000 2024-08-30T20:20:25Z Russ Sharek : >> Instead of setting MODGO_TEST_TARGET, it would be more >> ports-idiomatic/clearer >> to use a `do-test` target like: >> >> ``` >> do-test: >>     cd ${WRKSRC} && CGO_ENABLED=1 ${MODGO_CMD} test -count 1 -v \ >>         -tags=test -coverprofile="cover.out" ./... >> ``` >> >> Tests are passing like this, so if you are alright with it, I think we >> can >> commit this. > > I'm thrilled to get some help on this, because I'm out of my depth. > > That said, `make test` with that do-test change failed for me here: > > make: don't know how to make cd (prerequisite of: do-test) > Stop in . > *** Error 2 in . (/usr/ports/infrastructure/mk/bsd.port.mk:3090 > '/usr/ports/pobj/crawley-1.7.8/build-amd64/.test_done': @cd > /usr/ports/mystu...) > *** Error 2 in /usr/ports/mystuff/net/crawley > (/usr/ports/infrastructure/mk/bsd.port.mk:2704 'test': > @lock=crawley-1.7.8;  export _LOCKS_HEL...) > > Tell me what I did wrong, so we can commit the *redacted* thing. :) > > -R Did you by any chance write do-test: cd ${WRKSRC} && ... instead of do-test:     cd ${WRKSRC} && ... If you did, then I think that's the problem. Everything after the colon are prerequisites (dependencies) to the target (do-test), see here[1]. Prerequisites are simply other targets you'd want executed *before* the do-test target. So in this case make tries to execute the 'cd' target which doesn't exist. [1] https://man.openbsd.org/make#DEPENDENCY_LINES