Merge branch 'js/test-tool-gen-nuls'
* js/test-tool-gen-nuls: tests: teach the test-tool to generate NUL bytes and use it
This commit is contained in:
1
Makefile
1
Makefile
@ -740,6 +740,7 @@ TEST_BUILTINS_OBJS += test-dump-split-index.o
|
|||||||
TEST_BUILTINS_OBJS += test-dump-untracked-cache.o
|
TEST_BUILTINS_OBJS += test-dump-untracked-cache.o
|
||||||
TEST_BUILTINS_OBJS += test-example-decorate.o
|
TEST_BUILTINS_OBJS += test-example-decorate.o
|
||||||
TEST_BUILTINS_OBJS += test-genrandom.o
|
TEST_BUILTINS_OBJS += test-genrandom.o
|
||||||
|
TEST_BUILTINS_OBJS += test-genzeros.o
|
||||||
TEST_BUILTINS_OBJS += test-hash.o
|
TEST_BUILTINS_OBJS += test-hash.o
|
||||||
TEST_BUILTINS_OBJS += test-hashmap.o
|
TEST_BUILTINS_OBJS += test-hashmap.o
|
||||||
TEST_BUILTINS_OBJS += test-hash-speed.o
|
TEST_BUILTINS_OBJS += test-hash-speed.o
|
||||||
|
21
t/helper/test-genzeros.c
Normal file
21
t/helper/test-genzeros.c
Normal file
@ -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;
|
||||||
|
}
|
@ -19,6 +19,7 @@ static struct test_cmd cmds[] = {
|
|||||||
{ "dump-untracked-cache", cmd__dump_untracked_cache },
|
{ "dump-untracked-cache", cmd__dump_untracked_cache },
|
||||||
{ "example-decorate", cmd__example_decorate },
|
{ "example-decorate", cmd__example_decorate },
|
||||||
{ "genrandom", cmd__genrandom },
|
{ "genrandom", cmd__genrandom },
|
||||||
|
{ "genzeros", cmd__genzeros },
|
||||||
{ "hashmap", cmd__hashmap },
|
{ "hashmap", cmd__hashmap },
|
||||||
{ "hash-speed", cmd__hash_speed },
|
{ "hash-speed", cmd__hash_speed },
|
||||||
{ "index-version", cmd__index_version },
|
{ "index-version", cmd__index_version },
|
||||||
|
@ -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__dump_untracked_cache(int argc, const char **argv);
|
||||||
int cmd__example_decorate(int argc, const char **argv);
|
int cmd__example_decorate(int argc, const char **argv);
|
||||||
int cmd__genrandom(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__hashmap(int argc, const char **argv);
|
||||||
int cmd__hash_speed(int argc, const char **argv);
|
int cmd__hash_speed(int argc, const char **argv);
|
||||||
int cmd__index_version(int argc, const char **argv);
|
int cmd__index_version(int argc, const char **argv);
|
||||||
|
@ -120,13 +120,7 @@ remove_cr () {
|
|||||||
# If $1 is 'infinity', output forever or until the receiving pipe stops reading,
|
# If $1 is 'infinity', output forever or until the receiving pipe stops reading,
|
||||||
# whichever comes first.
|
# whichever comes first.
|
||||||
generate_zero_bytes () {
|
generate_zero_bytes () {
|
||||||
perl -e 'if ($ARGV[0] == "infinity") {
|
test-tool genzeros "$@"
|
||||||
while (-1) {
|
|
||||||
print "\0"
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
print "\0" x $ARGV[0]
|
|
||||||
}' "$@"
|
|
||||||
}
|
}
|
||||||
|
|
||||||
# In some bourne shell implementations, the "unset" builtin returns
|
# In some bourne shell implementations, the "unset" builtin returns
|
||||||
|
Reference in New Issue
Block a user