tests: avoid calling Perl just to determine file sizes

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.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
This commit is contained in:
Johannes Schindelin
2018-12-27 23:12:00 +01:00
parent 3ee87b31c9
commit 898de195f5
5 changed files with 16 additions and 4 deletions

View File

@@ -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;

View File

@@ -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 () {

View File

@@ -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 '

View File

@@ -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 '

View File

@@ -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 () {