Skip to content

Commit

Permalink
tests: avoid calling Perl just to determine file sizes
Browse files Browse the repository at this point in the history
It is a bit ridiculous to spin up a full-blown Perl instance (especially
on Windows, where that means spinning up a full POSIX emulation layer,
AKA the MSYS2 runtime) just to tell how large a given file is.

So let's just use the test-tool to do that job instead.

This command will also be used over the next commits, to allow for
cutting out individual test cases' verbose log from the file generated
via --verbose-log.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
  • Loading branch information
dscho authored and gitster committed Jan 29, 2019
1 parent 5f78646 commit 5868bd8
Show file tree
Hide file tree
Showing 5 changed files with 16 additions and 4 deletions.
12 changes: 12 additions & 0 deletions t/helper/test-path-utils.c
Expand Up @@ -291,6 +291,18 @@ int cmd__path_utils(int argc, const char **argv)
return !!res;
}

if (argc > 2 && !strcmp(argv[1], "file-size")) {
int res = 0, i;
struct stat st;

for (i = 2; i < argc; i++)
if (stat(argv[i], &st))
res = error_errno("Cannot stat '%s'", argv[i]);
else
printf("%"PRIuMAX"\n", (uintmax_t)st.st_size);
return !!res;
}

fprintf(stderr, "%s: unknown function name: %s\n", argv[0],
argv[1] ? argv[1] : "(there was none)");
return 1;
Expand Down
2 changes: 1 addition & 1 deletion t/t0021-conversion.sh
Expand Up @@ -24,7 +24,7 @@ generate_random_characters () {
}

file_size () {
perl -e 'print -s $ARGV[0]' "$1"
test-tool path-utils file-size "$1"
}

filter_git () {
Expand Down
2 changes: 1 addition & 1 deletion t/t1050-large.sh
Expand Up @@ -8,7 +8,7 @@ test_description='adding and checking out large blobs'
# This should be moved to test-lib.sh together with the
# copy in t0021 after both topics have graduated to 'master'.
file_size () {
perl -e 'print -s $ARGV[0]' "$1"
test-tool path-utils file-size "$1"
}

test_expect_success setup '
Expand Down
2 changes: 1 addition & 1 deletion t/t5315-pack-objects-compression.sh
Expand Up @@ -7,7 +7,7 @@ test_description='pack-object compression configuration'
# This should be moved to test-lib.sh together with the
# copy in t0021 after both topics have graduated to 'master'.
file_size () {
perl -e 'print -s $ARGV[0]' "$1"
test-tool path-utils file-size "$1"
}

test_expect_success setup '
Expand Down
2 changes: 1 addition & 1 deletion t/t9303-fast-import-compression.sh
Expand Up @@ -6,7 +6,7 @@ test_description='compression setting of fast-import utility'
# This should be moved to test-lib.sh together with the
# copy in t0021 after both topics have graduated to 'master'.
file_size () {
perl -e 'print -s $ARGV[0]' "$1"
test-tool path-utils file-size "$1"
}

import_large () {
Expand Down

0 comments on commit 5868bd8

Please sign in to comment.