Skip to content

Commit

Permalink
Merge branch 'js/test-tool-gen-nuls'
Browse files Browse the repository at this point in the history
* js/test-tool-gen-nuls:
  tests: teach the test-tool to generate NUL bytes and use it
  • Loading branch information
gitster committed Feb 19, 2019
2 parents 2c804ff + d5cfd14 commit c5b456b
Show file tree
Hide file tree
Showing 5 changed files with 25 additions and 7 deletions.
1 change: 1 addition & 0 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -740,6 +740,7 @@ TEST_BUILTINS_OBJS += test-dump-split-index.o
TEST_BUILTINS_OBJS += test-dump-untracked-cache.o
TEST_BUILTINS_OBJS += test-example-decorate.o
TEST_BUILTINS_OBJS += test-genrandom.o
TEST_BUILTINS_OBJS += test-genzeros.o
TEST_BUILTINS_OBJS += test-hash.o
TEST_BUILTINS_OBJS += test-hashmap.o
TEST_BUILTINS_OBJS += test-hash-speed.o
Expand Down
21 changes: 21 additions & 0 deletions t/helper/test-genzeros.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
#include "test-tool.h"
#include "git-compat-util.h"

int cmd__genzeros(int argc, const char **argv)
{
long count;

if (argc > 2) {
fprintf(stderr, "usage: %s [<count>]\n", argv[0]);
return 1;
}

count = argc > 1 ? strtol(argv[1], NULL, 0) : -1L;

while (count < 0 || count--) {
if (putchar(0) == EOF)
return -1;
}

return 0;
}
1 change: 1 addition & 0 deletions t/helper/test-tool.c
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ static struct test_cmd cmds[] = {
{ "dump-untracked-cache", cmd__dump_untracked_cache },
{ "example-decorate", cmd__example_decorate },
{ "genrandom", cmd__genrandom },
{ "genzeros", cmd__genzeros },
{ "hashmap", cmd__hashmap },
{ "hash-speed", cmd__hash_speed },
{ "index-version", cmd__index_version },
Expand Down
1 change: 1 addition & 0 deletions t/helper/test-tool.h
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ int cmd__dump_split_index(int argc, const char **argv);
int cmd__dump_untracked_cache(int argc, const char **argv);
int cmd__example_decorate(int argc, const char **argv);
int cmd__genrandom(int argc, const char **argv);
int cmd__genzeros(int argc, const char **argv);
int cmd__hashmap(int argc, const char **argv);
int cmd__hash_speed(int argc, const char **argv);
int cmd__index_version(int argc, const char **argv);
Expand Down
8 changes: 1 addition & 7 deletions t/test-lib-functions.sh
Original file line number Diff line number Diff line change
Expand Up @@ -120,13 +120,7 @@ remove_cr () {
# If $1 is 'infinity', output forever or until the receiving pipe stops reading,
# whichever comes first.
generate_zero_bytes () {
perl -e 'if ($ARGV[0] == "infinity") {
while (-1) {
print "\0"
}
} else {
print "\0" x $ARGV[0]
}' "$@"
test-tool genzeros "$@"
}

# In some bourne shell implementations, the "unset" builtin returns
Expand Down

0 comments on commit c5b456b

Please sign in to comment.