From 87276f8bc5774d8c4c112f49aa0a5236fab30a07 Mon Sep 17 00:00:00 2001 From: "Michael D. Lowis" Date: Thu, 13 Jul 2017 15:25:47 -0400 Subject: [PATCH] Fixed unit tests for command execution --- lib/exec.c | 3 ++- tests/tide.c | 7 ++++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/lib/exec.c b/lib/exec.c index e6e063e..ef4264d 100644 --- a/lib/exec.c +++ b/lib/exec.c @@ -56,7 +56,8 @@ bool exec_reap(void) { job->prev->next = job->next; job->next->prev = job->prev; } else { - JobList = job->next; + for (; job && job->prev; job = job->prev); + JobList = (JobList == job ? NULL : job); } free(job); } diff --git a/tests/tide.c b/tests/tide.c index 044d199..9885022 100644 --- a/tests/tide.c +++ b/tests/tide.c @@ -695,6 +695,7 @@ TEST_SUITE(UnitTests) { setup_view(TAGS, ":s/foo/bar/", CRLF, 0); win_view(TAGS)->selection = (Sel){ .beg = 0, .end = 11 }; send_keys(ModCtrl, XK_d); + do { event_poll(50); } while (exec_reap()); #ifdef __MACH__ CHECK(verify_text(EDIT, "bar\r\n")); #else @@ -708,6 +709,7 @@ TEST_SUITE(UnitTests) { setup_view(TAGS, "|sed -e 's/foo/bar/'", CRLF, 0); win_view(TAGS)->selection = (Sel){ .beg = 0, .end = 20 }; send_keys(ModCtrl, XK_d); + do { event_poll(50); } while (exec_reap()); #ifdef __MACH__ CHECK(verify_text(EDIT, "bar\r\n")); #else @@ -721,6 +723,7 @@ TEST_SUITE(UnitTests) { setup_view(TAGS, "!ls", CRLF, 0); win_view(TAGS)->selection = (Sel){ .beg = 0, .end = 3 }; send_keys(ModCtrl, XK_d); + do { event_poll(50); } while (exec_reap()); CHECK(verify_text(EDIT, "foo")); } @@ -730,6 +733,7 @@ TEST_SUITE(UnitTests) { setup_view(TAGS, ">cat", CRLF, 0); win_view(TAGS)->selection = (Sel){ .beg = 0, .end = 4 }; send_keys(ModCtrl, XK_d); + do { event_poll(50); } while (exec_reap()); CHECK(verify_text(EDIT, "foo")); } @@ -739,6 +743,7 @@ TEST_SUITE(UnitTests) { setup_view(TAGS, "selection = (Sel){ .beg = 0, .end = 9 }; send_keys(ModCtrl, XK_d); + do { event_poll(50); } while (exec_reap()); CHECK(verify_text(EDIT, "bar\r\n")); } @@ -746,6 +751,7 @@ TEST_SUITE(UnitTests) { setup_view(EDIT, "echo foo", CRLF, 0); win_view(EDIT)->selection = (Sel){ .beg = 0, .end = 8 }; send_keys(ModCtrl, XK_d); + do { event_poll(50); } while (exec_reap()); CHECK(verify_text(EDIT, "foo\r\n")); } @@ -776,7 +782,6 @@ TEST_SUITE(UnitTests) { } TEST(Quit should discard changes if quit executed twice in less than DblClickTime) { - //IGNORE("Failing on the first quit call"); setup_view(TAGS, "", CRLF, 0); setup_view(EDIT, "", CRLF, 0); win_buf(EDIT)->modified = true; -- 2.49.0