[PATCH v5 00/10] increase wildmatch test coverage
- From
Ævar Arnfjörð Bjarmason <avarab@gmail.com>
- Date
- Jan 30, 2018, 21:21 UTC
- Message-ID
- <20180130212124.2099-1-avarab@gmail.com>
- In-Reply-To
- <20180104192657.28019-1-avarab@gmail.com>
v5 has been a long time coming (20 days since I said I'd re-roll this), but hopefully this is a version that works well for everyone, including Windows users. Changes:
Ævar Arnfjörð Bjarmason (10): wildmatch test: indent with tabs, not spaces wildmatch test: use more standard shell style wildmatch test: don't try to vertically align our output wildmatch test: use a paranoia pattern from nul_match() wildmatch test: remove dead fnmatch() test code
No changes.
wildmatch test: use test_must_fail, not ! for test-wildmatch
NEW: Fix a tiny nit I spotted while re-rolling.
wildmatch test: perform all tests under all wildmatch() modes
The testing of various wildmatch modes got factored into a function. It makes no difference to this patch, but makes a huge difference in readability to the follow-up patch.
Also I stopped renaming "match" to "wildtest", I can't remeber why I did that in the first place, but no point in doing that, and this makes things easier to review...
wildmatch test: create & test files on disk in addition to in-memory
Almost entirely based on feedback from Johannes:
a) This is now much more friendly under -x, as little test code as possible outside actual tests.
b) Factored out into functions
c) Gave variables better names
d) Hopefully runs under Windows now without errors, due to a blacklist of filenames that aren't allowed on Windows. Commit message now mentions this.
e) This should be a lot faster than before, since I factored out the setup work being done for every test so it's only done
f) At this point I can't remember who/where this was pointed out, but it was observed that I was using a very dangerous looking `rm -rf -- *` pattern in the old test, turns out this could be replaced with a less scary `git clean -df`.
test-lib: add an EXPENSIVE_ON_WINDOWS prerequisite wildmatch test: mark test as EXPENSIVE_ON_WINDOWS
Follow-up my 87mv1raz9p.fsf@evledraar.gmail.com from the v4 thread, and create an EXPENSIVE_ON_WINDOWS prerequisite, which is then used for the file tests so they're skipped on Windows by default.
Even though 8/10 should be faster now, and hopefully passes on Windows, I still expect it to be quite slow on Windows, so let's not run it there by default unless under GIT_TEST_LONG=1.
t/helper/test-wildmatch.c | 2 + t/t3070-wildmatch.sh | 655 +++++++++++++++++++++++++++++----------------- t/test-lib.sh | 4 + 3 files changed, 416 insertions(+), 245 deletions(-)
-- 2.15.1.424.g9478a66081