@@ -1,20 +1,34 @@
#include "test-tool.h"
#include "cache.h"
+#include "parse-options.h"
+
+static const char *read_cache_again_usage[] = {
+ "test-tool read-cache-again [<options>...] <file>",
+ NULL
+};
int cmd__read_cache_again(int argc, const char **argv)
{
struct repository *r = the_repository;
- int i, cnt;
+ int cnt = 2;
const char *name;
+ struct option options[] = {
+ OPT_INTEGER(0, "count", &cnt, "number of passes"),
+ OPT_END()
+ };
- if (argc != 2)
- die("usage: test-tool read-cache-again <count> <file>");
-
- cnt = strtol(argv[0], NULL, 0);
+ argc = parse_options(argc, argv, "test-tools", options,
+ read_cache_again_usage, 0);
+ if (argc != 1)
+ usage_msg_opt("Too many arguments.", read_cache_again_usage,
+ options);
+ if (cnt < 1)
+ usage_msg_opt("Need at least one pass.", read_cache_again_usage,
+ options);
name = argv[2];
setup_git_directory();
- for (i = 0; i < cnt; i++) {
+ while (cnt--) {
int pos;
repo_read_index(r);
refresh_index(r->index, REFRESH_QUIET,
@@ -360,7 +360,7 @@ test_expect_success UNTRACKED_CACHE 'ignore .git changes when invalidating UNTR'
test_expect_success 'discard_index() also discards fsmonitor info' '
test_config core.fsmonitor "$TEST_DIRECTORY/t7519/fsmonitor-all" &&
test_might_fail git update-index --refresh &&
- test-tool read-cache-again 2 tracked >actual &&
+ test-tool read-cache-again --count=2 tracked >actual &&
printf "tracked is%s up to date\n" "" " not" >expect &&
test_cmp expect actual
'
Change the newly added (but then mostly copy/pasted) read-cache-perf to use the parse_options() API. I have no plans to further modify read-cache-again, but making these commands consistent has a value in and of itself. Since we check the "cnt = < 1" case now via more idiomatic post-parse_options() assertions we can move from the for-loop to a while-loop and ditch the "i" variable. Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com> --- t/helper/test-read-cache-again.c | 26 ++++++++++++++++++++------ t/t7519-status-fsmonitor.sh | 2 +- 2 files changed, 21 insertions(+), 7 deletions(-)