diff options
Diffstat (limited to 'src/test/osd/TestErasureCodePlugin.cc')
-rw-r--r-- | src/test/osd/TestErasureCodePlugin.cc | 14 |
1 files changed, 4 insertions, 10 deletions
diff --git a/src/test/osd/TestErasureCodePlugin.cc b/src/test/osd/TestErasureCodePlugin.cc index ba7d13fbd2d..46ed4b1730d 100644 --- a/src/test/osd/TestErasureCodePlugin.cc +++ b/src/test/osd/TestErasureCodePlugin.cc @@ -28,19 +28,12 @@ protected: class Thread_factory : public Thread { public: - useconds_t delay; - - Thread_factory(useconds_t _delay) : - delay(_delay) - {} - virtual void *entry() { map<std::string,std::string> parameters; parameters["erasure-code-directory"] = ".libs"; - parameters["usleep"] = delay; ErasureCodePluginRegistry &instance = ErasureCodePluginRegistry::instance(); ErasureCodeInterfaceRef erasure_code; - instance.factory("example", parameters, &erasure_code); + instance.factory("hangs", parameters, &erasure_code); return NULL; } }; @@ -58,7 +51,7 @@ TEST_F(ErasureCodePluginRegistryTest, factory_mutex) { // useconds_t delay = 0; const useconds_t DELAY_MAX = 20 * 1000 * 1000; - Thread_factory sleep_forever(1024 * 1024 * 1024); + Thread_factory sleep_forever; sleep_forever.create(); do { cout << "Trying (1) with delay " << delay << "us\n"; @@ -71,7 +64,8 @@ TEST_F(ErasureCodePluginRegistryTest, factory_mutex) { EXPECT_FALSE(instance.lock.TryLock()); - EXPECT_EQ(0, sleep_forever.detach()); + EXPECT_EQ(0, pthread_cancel(sleep_forever.get_thread_id())); + EXPECT_EQ(0, sleep_forever.join()); } TEST_F(ErasureCodePluginRegistryTest, all) |