Skip to content

Commit dada356

Browse files
committed
bdx-test: Attempt to fix intermittent failures
* bdx-test.el (bdx-test--wait-for-process): New function for properly waiting for a process to exit. (bdx-search-async): (bdx-search-async-small-buffer): (bdx-search-async-done-callback): (bdx-search-async-error-callback): (bdx-search-async-query-string-contains-option): (bdx-search-async-many-files): (bdx-search-occur): Use it to wait for the process.
1 parent 9303633 commit dada356

File tree

1 file changed

+14
-11
lines changed

1 file changed

+14
-11
lines changed

bdx-test.el

Lines changed: 14 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,10 @@
2626
(require 'ert)
2727
(require 'bdx)
2828

29+
(defun bdx-test--wait-for-process (proc)
30+
(while (accept-process-output proc))
31+
(while (accept-process-output (get-buffer-process bdx-stderr-buffer))))
32+
2933
(cl-defun bdx-test--compile-file
3034
(filename source &key args)
3135
(let* ((dir (file-name-directory filename))
@@ -87,7 +91,7 @@ int subdir_file() { return 0; }
8791
(lambda (batch)
8892
(setq results (nconc results batch)))))
8993
(should-not results)
90-
(while (process-live-p proc) (accept-process-output proc 0.1))
94+
(bdx-test--wait-for-process proc)
9195
(should results)
9296

9397
(setq results (seq-sort-by (lambda (x) (plist-get x :name))
@@ -112,7 +116,7 @@ int subdir_file() { return 0; }
112116
(lambda (batch)
113117
(setq results (nconc results batch)))))
114118
(should-not results)
115-
(while (process-live-p proc) (accept-process-output proc 0.1))
119+
(bdx-test--wait-for-process proc)
116120
(should results)
117121

118122
(should (equal (expand-file-name "subdir/file.c.o")
@@ -145,7 +149,7 @@ int bar() { return 0; }
145149
(funcall filter proc chunk)
146150
(setq output (substring output (length chunk)))))))
147151
(should-not results)
148-
(while (process-live-p proc) (accept-process-output proc 0.1))
152+
(bdx-test--wait-for-process proc)
149153
(should results)
150154

151155
(setq results (seq-sort-by (lambda (x) (plist-get x :name))
@@ -177,7 +181,7 @@ int bar() { return 0; }
177181
(should-not results)
178182
(should (equal 0 call-count))
179183

180-
(while (process-live-p proc) (accept-process-output proc 0.1))
184+
(bdx-test--wait-for-process proc)
181185

182186
(should results)
183187
(should (equal 1 call-count)))))
@@ -192,7 +196,7 @@ int bar() { return 0; }
192196
"UNKNOWN_FIELD:1"
193197
:error-callback (lambda (err) (setq error-str err))))
194198
(should-not error-str)
195-
(while (process-live-p proc) (accept-process-output proc 0.1))
199+
(bdx-test--wait-for-process proc)
196200
(should (string-match-p "error.*Unknown field \"UNKNOWN_FIELD\""
197201
error-str)))))
198202

@@ -209,7 +213,7 @@ int bar() { return 0; }
209213
:error-callback (lambda (_err) (cl-incf error-calls))))
210214
(should (= 0 error-calls))
211215
(should-not results)
212-
(while (process-live-p proc) (accept-process-output proc 0.1))
216+
(bdx-test--wait-for-process proc)
213217
(should (= 0 error-calls))
214218
(should results)
215219

@@ -227,7 +231,7 @@ int bar() { return 0; }
227231
:error-callback (lambda (_err) (cl-incf error-calls))))
228232
(should (= 0 error-calls))
229233
(should-not results)
230-
(while (process-live-p proc) (accept-process-output proc 0.1))
234+
(bdx-test--wait-for-process proc)
231235
(should (= 0 error-calls))
232236
(should results))))
233237

@@ -246,7 +250,7 @@ int bar() { return 0; }
246250
(lambda (batch)
247251
(setq results (nconc results batch)))))
248252
(should-not results)
249-
(while (process-live-p proc) (accept-process-output proc 0.1))
253+
(bdx-test--wait-for-process proc)
250254
(should results)
251255

252256
(setq results (seq-sort-by (lambda (x) (plist-get x :name))
@@ -264,7 +268,7 @@ int bar() { return 0; }
264268
(lambda (batch)
265269
(setq results (nconc results batch)))))
266270
(should-not results)
267-
(while (process-live-p proc) (accept-process-output proc 0.1))
271+
(bdx-test--wait-for-process proc)
268272
(should results)
269273

270274
(setq results (seq-sort-by (lambda (x) (plist-get x :name))
@@ -295,8 +299,7 @@ const char bar[10];
295299
(lambda (cands)
296300
(setq all-cands
297301
(append all-cands cands)))))
298-
(while (process-live-p proc)
299-
(accept-process-output nil 0.1))
302+
(bdx-test--wait-for-process proc)
300303

301304
(setq ivy--all-candidates
302305
(mapcar (lambda (data)

0 commit comments

Comments
 (0)