From 23e78d85b1a4afc4430f18cdeaaaed1ce251f773 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Henrik=20Grubbstr=C3=B6m=20=28Grubba=29?= <grubba@grubba.org> Date: Wed, 3 Nov 2010 19:21:24 +0100 Subject: [PATCH] The Shuffler backend tests now actually work. --- src/post_modules/Shuffler/testsuite.in | 33 +++++++++++++++++++++++--- 1 file changed, 30 insertions(+), 3 deletions(-) diff --git a/src/post_modules/Shuffler/testsuite.in b/src/post_modules/Shuffler/testsuite.in index 3c89515803..0443425e86 100644 --- a/src/post_modules/Shuffler/testsuite.in +++ b/src/post_modules/Shuffler/testsuite.in @@ -21,7 +21,16 @@ cond([[master()->resolv("Pike.PollDeviceBackend")]], [[ sfr->set_backend (pb); Shuffler.Shuffle sf = sfr->shuffle(f); sf->add_source("xyz\n" * 100000); - return f2->read(); + sf->set_done_callback( lambda() { sf->stop(); destruct(sf); }); + sf->start(); + string res = ""; + f2->set_backend(pb); + f2->set_read_callback( lambda(mixed id, string s) { res += s; }); + while (sf) { + pb(1.0); + } + f->close(); + return res + f2->read(); ]], "xyz\n" * 100000) ]]) @@ -33,7 +42,16 @@ cond([[master()->resolv("Pike.PollBackend")]], [[ sfr->set_backend (pb); Shuffler.Shuffle sf = sfr->shuffle(f); sf->add_source("xyz\n" * 100000); - return f2->read(); + sf->set_done_callback( lambda() { sf->stop(); destruct(sf); }); + sf->start(); + string res = ""; + f2->set_backend(pb); + f2->set_read_callback( lambda(mixed id, string s) { res += s; }); + while (sf) { + pb(1.0); + } + f->close(); + return res + f2->read(); ]], "xyz\n" * 100000) ]]) @@ -45,7 +63,16 @@ cond([[master()->resolv("Pike.SelectBackend")]], [[ sfr->set_backend (pb); Shuffler.Shuffle sf = sfr->shuffle(f); sf->add_source("xyz\n" * 100000); - return f2->read(); + sf->set_done_callback( lambda() { sf->stop(); destruct(sf); }); + sf->start(); + string res = ""; + f2->set_backend(pb); + f2->set_read_callback( lambda(mixed id, string s) { res += s; }); + while (sf) { + pb(1.0); + } + f->close(); + return res + f2->read(); ]], "xyz\n" * 100000) ]]) -- GitLab