Hi Ralf, On Thu, 18 Aug 2016, Ralf Thielow wrote: > diff --git a/t/t0012-help.sh b/t/t0012-help.sh > new file mode 100755 > index 0000000..e20f907 > --- /dev/null > +++ b/t/t0012-help.sh > @@ -0,0 +1,21 @@ > +#!/bin/sh > + > +test_description='help' > + > +. ./test-lib.sh > + > +test_expect_success "works for commands and guides by default" " > + git help status && > + git help revisions > +" Apart from using double quotes (which is inconsistent with the single quotes used literally everwhere else in the test suite), this test is incorrect. If the man page is not *installed*, it will fail: $ sudo mv /usr/share/man/man1/git-status.1.gz \ /usr/share/man/man1/git-status.old.1.gz $ sh t0012-help.sh -i -v -x Initialized empty Git repository in .../trash directory.t0012-help/.git/ expecting success: git help status && git help revisions + git help status No manual entry for git-status See 'man 7 undocumented' for help when manual pages are not available. error: last command exited with $?=16 not ok 1 - works for commands and guides by default # # git help status && # git help revisions # It gets even worse. On Windows, the default format is *not* man pages but html pages. So those would have to be installed, too, to guarantee that the test succeeds. It gets *even* worse. On Windows, there is really no central location for man/html pages for documentation, so we have to emulate that "prefix" (which is typically /usr on Linux) via a "runtime prefix", i.e. a prefix determined relative to the location of the currently running git executable. In the test suite's case, it is typically the top-level directory of the git.git checkout [*1*]. There are no man/html pages in that directory structure by default (I, for one, rarely build them myself), and certainly not in the place expected by this test. It gets *even worse*. Since the help.format is html on Windows, the page is opened by the default viewer for HTML pages. So even if all of the above would be fixed, running t0012-help of a supposedly unsupervised test suite would open new tabs in the web browser. Probably forcing it into the foreground, too. So how about fixing that? I would suggest to do it this way: - configure help.format = html (for "man", the current code would always add $(prefix)/share/man to the MANPATH when testing, not what we want, and hacking this code *just* for testing is both ugly and unnecessary). - configure help.htmlpath to point to a subdirectory that is created and populated in the same test script. - configure help.browser to point to a script that is created in the same script and whose output we can verify, too. The last point actually requires a patch that was recently introduced into Git for Windows [*1*] (and that did not make it upstream yet) which reverts that change whereby web--browse was sidestepped. That sidestepping was well-intentioned but turned out to cause more harm than good. Ciao, Johannes Footnote *1*: That statement is actually not even correct. As the git executable can live in both $(prefix)/bin/ and $(prefix)/libexec/git-core, i.e. at different directory levels below the prefix, we need to inspect the *name* of the directory in which git.exe lives, and a git.git checkout typically lives in a .../git/ directory which matches *none* of the expected suffixes, so the runtime prefix defaults to "/", i.e. the *current drive's root directory*. So your current test would only succeed if the man pages for git-status and gitrevisions were copied into C:\mingw64\share\man\man1! Footnote *2*: https://github.com/git-for-windows/git/commit/243c72f5b0 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html