From: Johannes Sixt <j6t@kdbg.org>
To: git@vger.kernel.org
Cc: Johannes Sixt <j6t@kdbg.org>
Subject: [PATCH 00/16] Tests on Windows - main part
Date: Sat, 21 Mar 2009 22:26:23 +0100 [thread overview]
Message-ID: <cover.1237667830.git.j6t@kdbg.org> (raw)
This is the remaining set of changes after which the test suite
passes with the MinGW port. Well, almost: There still are a few
failures, but none of them indicate a serious bug. We will address
them later.
The series is again available from here:
git://repo.or.cz/git/mingw/j6t.git for-junio
It builds on js/windows-tests (a8cbc9ab).
The heart of this series is an addition to the test infrastructure:
Tests can be tagged by a keyword, which indicates that a particular
feature ("prerequisite") is needed. This idea was presented by Junio
some time ago, but I didn't save away the implementation.
The new features are used in this way:
1. The prerequisite is tested for and the tag is defined:
if frob --mode=nicate 2>/dev/null; then
test_set_prereq FROBNICATE
else
say "frobnication not possible, skipping some tests
fi
2. Tests are tagged by the tag name:
test_expect_success FROBNICATE 'frobnication' '
frob --mode=nicate
'
Such a test is skipped if the tag was not defined before.
3. The prerequisite can also be tested for explicitly:
if test_have_prereq FROBNICATE; then
expect=foo
else
expect=bar
fi
I have considered a different approach to define prerequisites,
namely with a helper function that is similar to test_expect_*:
test_prereq FROBNICATE 'frobnication' '
frob --mode=nicate 2>/dev/null
'
but I find it a bit obfuscating.
Currently most prerequisites are tested for on demand. Symbolic
links are tested for in test-lib.sh because so many test scripts
need it. An option would be to move each test in its own file
that would then be sourced on demand.
Johannes Sixt (16):
test-lib: Work around incompatible sort and find on Windows
test-lib: Work around missing sum on Windows
Tests on Windows: $(pwd) must return Windows-style paths
t0050: Check whether git init detected symbolic link support
correctly
test-lib: Infrastructure to test and check for prerequisites
t3600: Use test prerequisite tags
Skip tests that fail if the executable bit is not handled by the
filesystem
t5302: Use prerequisite tags to skip 64-bit offset tests
t9100, t9129: Use prerequisite tags for UTF-8 tests
Use prerequisite tags to skip tests that depend on symbolic links
t0060: Fix tests on Windows
Skip tests that require a filesystem that obeys POSIX permissions
t3700: Skip a test with backslashes in pathspec
Use prerequisites to skip tests that need unzip
t7004: Use prerequisite tags to skip tests that need gpg
t5503: GIT_DEBUG_SEND_PACK is not supported on MinGW
t/t0000-basic.sh | 58 +++++++++++++---
t/t0004-unwritable.sh | 8 +-
t/t0024-crlf-archive.sh | 6 +-
t/t0050-filesystem.sh | 28 +++++++-
t/t0055-beyond-symlinks.sh | 6 +-
t/t0060-path-utils.sh | 116 +++++++++++++++++++++++---------
t/t1004-read-tree-m-u-wf.sh | 6 +-
t/t1020-subdirectory.sh | 2 +-
t/t1300-repo-config.sh | 2 +-
t/t1301-shared-repo.sh | 10 ++--
t/t1504-ceiling-dirs.sh | 2 +-
t/t2001-checkout-cache-clash.sh | 6 +-
t/t2003-checkout-cache-mkdir.sh | 8 +-
t/t2004-checkout-cache-temp.sh | 2 +-
t/t2007-checkout-symlink.sh | 6 ++
t/t2100-update-cache-badpath.sh | 14 +++-
t/t2200-add-update.sh | 2 +-
t/t2201-add-update-typechange.sh | 16 ++++-
t/t2300-cd-to-toplevel.sh | 14 ++--
t/t3000-ls-files-others.sh | 7 ++-
t/t3010-ls-files-killed-modified.sh | 17 ++++-
t/t3100-ls-tree-restrict.sh | 40 +++++++----
t/t3200-branch.sh | 2 +-
t/t3600-rm.sh | 58 ++++++++--------
t/t3700-add.sh | 16 ++--
t/t3701-add-interactive.sh | 9 ++-
t/t4004-diff-rename-symlink.sh | 7 ++
t/t4008-diff-break-rewrite.sh | 8 +-
t/t4011-diff-symlink.sh | 7 ++
t/t4023-diff-rename-typechange.sh | 7 ++
t/t4102-apply-rename.sh | 8 ++-
t/t4114-apply-typechange.sh | 7 ++
t/t4115-apply-symlink.sh | 7 ++
t/t4122-apply-symlink-inside.sh | 7 ++
t/t4129-apply-samemode.sh | 19 ++++--
t/t5000-tar-tree.sh | 22 ++++---
t/t5302-pack-index.sh | 15 ++---
t/t5503-tagfollow.sh | 7 ++
t/t5522-pull-symlink.sh | 7 ++
t/t6031-merge-recursive.sh | 13 ++++
t/t6200-fmt-merge-msg.sh | 4 +-
t/t7001-mv.sh | 4 +-
t/t7004-tag.sh | 97 +++++++++++++-------------
t/t7503-pre-commit-hook.sh | 4 +-
t/t7504-commit-msg-hook.sh | 8 +-
t/t9100-git-svn-basic.sh | 37 +++++------
t/t9129-git-svn-i18n-commitencoding.sh | 22 +++---
t/t9131-git-svn-empty-symlink.sh | 2 +-
t/t9132-git-svn-broken-symlink.sh | 4 +-
t/t9200-git-cvsexportcommit.sh | 13 ++--
t/t9500-gitweb-standalone-no-errors.sh | 11 ++-
t/test-lib.sh | 74 +++++++++++++++++++--
52 files changed, 594 insertions(+), 288 deletions(-)
next reply other threads:[~2009-03-21 21:28 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-03-21 21:26 Johannes Sixt [this message]
2009-03-21 21:26 ` [PATCH 01/16] test-lib: Work around incompatible sort and find on Windows Johannes Sixt
2009-03-21 21:26 ` [PATCH 02/16] test-lib: Work around missing sum " Johannes Sixt
2009-03-21 21:26 ` [PATCH 03/16] Tests on Windows: $(pwd) must return Windows-style paths Johannes Sixt
2009-03-21 21:26 ` [PATCH 04/16] t0050: Check whether git init detected symbolic link support correctly Johannes Sixt
2009-03-21 21:26 ` [PATCH 05/16] test-lib: Infrastructure to test and check for prerequisites Johannes Sixt
2009-03-21 23:16 ` Junio C Hamano
2009-03-21 21:26 ` [PATCH 06/16] t3600: Use test prerequisite tags Johannes Sixt
2009-03-21 23:15 ` Junio C Hamano
2009-03-21 21:26 ` [PATCH 07/16] Skip tests that fail if the executable bit is not handled by the filesystem Johannes Sixt
2009-03-21 21:26 ` [PATCH 08/16] t5302: Use prerequisite tags to skip 64-bit offset tests Johannes Sixt
2009-03-21 21:26 ` [PATCH 09/16] t9100, t9129: Use prerequisite tags for UTF-8 tests Johannes Sixt
2009-03-21 21:26 ` [PATCH 10/16] Use prerequisite tags to skip tests that depend on symbolic links Johannes Sixt
2009-03-21 21:26 ` [PATCH 11/16] t0060: Fix tests on Windows Johannes Sixt
2009-03-21 21:26 ` [PATCH 12/16] Skip tests that require a filesystem that obeys POSIX permissions Johannes Sixt
2009-03-21 21:26 ` [PATCH 13/16] t3700: Skip a test with backslashes in pathspec Johannes Sixt
2009-03-21 23:14 ` Junio C Hamano
2009-03-22 16:55 ` Johannes Sixt
2009-03-22 21:59 ` Junio C Hamano
2009-03-21 21:26 ` [PATCH 14/16] Use prerequisites to skip tests that need unzip Johannes Sixt
2009-03-21 21:26 ` [PATCH 15/16] t7004: Use prerequisite tags to skip tests that need gpg Johannes Sixt
2009-03-21 21:26 ` [PATCH 16/16] t5503: GIT_DEBUG_SEND_PACK is not supported on MinGW Johannes Sixt
2009-03-21 21:41 ` [PATCH 00/16] Tests on Windows - main part Johannes Sixt
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: http://vger.kernel.org/majordomo-info.html
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=cover.1237667830.git.j6t@kdbg.org \
--to=j6t@kdbg.org \
--cc=git@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://80x24.org/mirrors/git.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).