From: Junio C Hamano <hidden> Date: 2016-06-15 22:57:49
Ramkumar Ramachandra [off-list ref] writes:
What this means is that git-remote-testpy is not built by default (when
'make' is invoked), but t5800 runs by default (like every other test in
t/). As a result, a new contributor cloning git.git and running 'make
test' for the first time will notice test failures.
Sounds like making "make test" build it is a more correct approach,
at least to me. What am I missing?
@@ -580,6 +580,7 @@ TEST_PROGRAMS_NEED_X += test-svn-feTEST_PROGRAMS_NEED_X+=test-wildmatchTEST_PROGRAMS=$(patsubst%,%$X,$(TEST_PROGRAMS_NEED_X))+TEST_PROGRAMS+=git-remote-testpy# List built-in command $C whose implementation cmd_$C() is not in# builtin/$C.o but is linked in as part of some other command.
I'm confused. git-remote-testpy is already mentioned in SCRIPT_PYTHON,
which means it should be built by "make" or "make all", as well as "make
test" (which depends on "all"). I just double checked that this is the
case with a fresh clone of master. NO_INSTALL should not have an impact.
But upon looking at the Makefile more, I am doubly confused. We build
$(ALL_PROGRAMS), which contains $(SCRIPTS), which contains
$(SCRIPT_PYTHON_INS), the set of _installed_ python scripts. Which
doesn't make sense; we would want to build all of the generated scripts,
and only care about the installed ones for the "install" target.
Ah, I see. We later add back in $(NO_INSTALL) as dependencies of "all".
That is perhaps not the most direct way of doing it, but I suspect it
was done to keep the meaning of "$(ALL_PROGRAMS)" the same before and
after.
So I do not see any problem with the current Makefile. Running "make" or
"make test" should let t5800 pass. Can you describe how you are
triggering the issue in more detail?
-Peff
So I do not see any problem with the current Makefile. Running "make" or
"make test" should let t5800 pass. Can you describe how you are
triggering the issue in more detail?
master, at the time of reporting the issue:
artagnon|master=:~/src/git$ make -j 8
artagnon|master=:~/src/git$ rm git-remote-testpy
artagnon|master=:~/src/git$ make -j 8
artagnon|master=:~/src/git$ cd t
artagnon|master=:~/src/git$ sh t5800-remote-testpy.sh
# failure
Yesterday's jc publish fixed it: 6c473a5 (build: generate and clean
test scripts, 2013-06-07) graduated to master; it adds $NO_INSTALL to
the target "all", among other things.
[...]
Yes, I agree that it is convoluted and can be cleaned up.
From: Jeff King <hidden> Date: 2016-06-15 22:57:51
On Fri, Jun 21, 2013 at 12:07:50PM +0530, Ramkumar Ramachandra wrote:
Yesterday's jc publish fixed it: 6c473a5 (build: generate and clean
test scripts, 2013-06-07) graduated to master; it adds $NO_INSTALL to
the target "all", among other things.