From 6f6c01f87d0ded08472704f34c115d01ef47d96d Mon Sep 17 00:00:00 2001 From: Jonas Fonseca Date: Tue, 1 Jul 2014 14:50:13 -0400 Subject: [PATCH] Change test scripts to always wait for previous command to finish Simplify the script execution by eliminating the `:wait` command. The asynchronous behavior only renders the tests non-deterministic. --- src/display.c | 13 ++++--------- test/main/default-test | 6 ------ test/main/pretty-raw-test | 1 - test/main/refresh-test | 7 ------- test/main/search-test | 1 - test/main/show-changes-test | 5 ----- test/main/stdin-test | 1 - test/refs/branch-checkout-test | 3 --- test/status/refresh-test | 11 ----------- test/tigrc/parse-test | 1 - 10 files changed, 4 insertions(+), 45 deletions(-) diff --git a/src/display.c b/src/display.c index 96e33f2..f813f08 100644 --- a/src/display.c +++ b/src/display.c @@ -486,7 +486,7 @@ is_script_executing(void) } static bool -read_script(struct key *key, int delay) +read_script(struct key *key) { static struct buffer input_buffer; static const char *line = ""; @@ -505,12 +505,6 @@ read_script(struct key *key, int delay) } } - if (!strcmp(line, ":wait")) { - if (delay != 0) - line = input_buffer.data = NULL; - return FALSE; - } - code = get_key_value(&line, key); if (code != SUCCESS) die("Error reading script: %s", get_status_message(code)); @@ -525,7 +519,7 @@ get_input_char(void) static int bytes_pos; if (!key.modifiers.multibytes || bytes_pos >= strlen(key.data.bytes)) { - if (!read_script(&key, 0)) + if (!read_script(&key)) return 0; bytes_pos = 0; } @@ -588,7 +582,8 @@ get_input(int prompt_position, struct key *key, bool modifiers) setsyx(cursor_y, cursor_x); if (is_script_executing()) { - if (!read_script(key, delay)) + /* Wait for the current command to complete. */ + if (delay == 0 || !read_script(key)) continue; return key->modifiers.multibytes ? OK : key->data.value; diff --git a/test/main/default-test b/test/main/default-test index 5396af2..526500a 100755 --- a/test/main/default-test +++ b/test/main/default-test @@ -13,27 +13,21 @@ EOF steps ' :view-main - :wait :save-display main-default.screen :set reference-format = (branch) [tag] @remote - :wait :save-display main-ref-format.screen :set reference-format = (branch) [tag] hide:remote - :wait :save-display main-remotes-hidden.screen :toggle commit-title-refs :save-display main-no-refs.screen :toggle commit-title-graph - :wait :save-display main-no-graph.screen :957f2b368e6fa5c0757f36b1441e32729ee5e9c7 - :wait :save-display main-with-diff.screen - :wait :save-display main-with-diff-next.screen ' diff --git a/test/main/pretty-raw-test b/test/main/pretty-raw-test index 5af347f..3ff30d0 100755 --- a/test/main/pretty-raw-test +++ b/test/main/pretty-raw-test @@ -10,7 +10,6 @@ export LINES=16 git_clone 'repo-one' steps ' - :wait :save-display main-pretty-raw.screen ' diff --git a/test/main/refresh-test b/test/main/refresh-test index 3158ee6..9252105 100755 --- a/test/main/refresh-test +++ b/test/main/refresh-test @@ -8,31 +8,24 @@ export LINES=5 steps ' :view-main - :wait :save-display main-with-unstaged.screen - :wait :save-display main-after-add-a.screen - :wait :save-display main-after-add-all.screen - :wait :save-display main-after-commit.screen - :wait :save-display main-after-reset-soft.screen - :wait :save-display main-after-reset-a-and-bc.screen - :wait :save-display main-after-reset-hard.screen ' diff --git a/test/main/search-test b/test/main/search-test index 3b9635b..1a71e50 100755 --- a/test/main/search-test +++ b/test/main/search-test @@ -9,7 +9,6 @@ export LINES=16 steps ' :view-main - :wait /作者 :save-display main-search-author.screen / diff --git a/test/main/show-changes-test b/test/main/show-changes-test index b9798de..962be9e 100755 --- a/test/main/show-changes-test +++ b/test/main/show-changes-test @@ -10,24 +10,19 @@ export LINES=16 steps ' :view-main - :wait :save-display main-with-unstaged.screen :enter - :wait :save-display main-with-unstaged-split.screen :status-update - :wait :save-display main-with-staged.screen :enter - :wait :save-display main-with-staged-split.screen :view-close :refresh - :wait :save-display main-with-staged-and-unstaged.screen ' diff --git a/test/main/stdin-test b/test/main/stdin-test index 5dc6da6..f7a03e6 100755 --- a/test/main/stdin-test +++ b/test/main/stdin-test @@ -10,7 +10,6 @@ export LINES=16 git_clone 'repo-one' steps ' - :wait :save-display main-stdin.screen ' diff --git a/test/refs/branch-checkout-test b/test/refs/branch-checkout-test index 0e5024e..2d09982 100755 --- a/test/refs/branch-checkout-test +++ b/test/refs/branch-checkout-test @@ -21,19 +21,16 @@ EOF steps ' :view-refs - :wait :save-display refs-init.screen :3 - :wait :2 :save-display refs-checked-out-branch.screen :6 - :wait :save-display refs-checked-out-tag.screen ' diff --git a/test/status/refresh-test b/test/status/refresh-test index 9376f98..2bf8529 100755 --- a/test/status/refresh-test +++ b/test/status/refresh-test @@ -7,49 +7,38 @@ export LINES=15 steps ' :view-status - :wait :save-display status-with-unstaged.screen - :wait :save-display status-after-add-a.screen - :wait :save-display status-after-add-all.screen - :wait :save-display status-after-commit.screen - :wait :save-display status-after-reset-soft.screen - :wait :save-display status-after-reset-a-and-bc.screen :8 - :wait :save-display status-after-checkout-bc.screen - :wait :save-display status-after-reset-hard.screen - :wait :save-display status-after-touch-new-file.screen - :wait :save-display status-after-rm-a.screen :5 - :wait :save-display status-after-checkout-a.screen ' diff --git a/test/tigrc/parse-test b/test/tigrc/parse-test index b93413e..9acc098 100755 --- a/test/tigrc/parse-test +++ b/test/tigrc/parse-test @@ -57,7 +57,6 @@ EOF steps " :view-help - :wait :save-display help.screen " -- 2.11.4.GIT