|
Boost-Commit : |
Subject: [Boost-commit] svn:boost r76565 - in trunk/libs/thread/test: . sync/conditions/condition_variable sync/conditions/condition_variable_any sync/mutual_exclusion/locks/unique_lock/cons sync/mutual_exclusion/locks/unique_lock/locking sync/mutual_exclusion/mutex sync/mutual_exclusion/recursive_mutex sync/mutual_exclusion/recursive_timed_mutex sync/mutual_exclusion/timed_mutex threads/this_thread/sleep_for threads/this_thread/sleep_until
From: vicente.botet_at_[hidden]
Date: 2012-01-17 17:24:08
Author: viboes
Date: 2012-01-17 17:24:06 EST (Tue, 17 Jan 2012)
New Revision: 76565
URL: http://svn.boost.org/trac/boost/changeset/76565
Log:
Thread: Try to fix some checks that fails depending on the way the threads are switched (the time constraint is too high)
Text files modified:
trunk/libs/thread/test/sync/conditions/condition_variable/wait_for_pass.cpp | 3 ++-
trunk/libs/thread/test/sync/conditions/condition_variable/wait_until_pass.cpp | 3 ++-
trunk/libs/thread/test/sync/conditions/condition_variable_any/wait_for_pass.cpp | 3 ++-
trunk/libs/thread/test/sync/conditions/condition_variable_any/wait_until_pass.cpp | 3 ++-
trunk/libs/thread/test/sync/mutual_exclusion/locks/unique_lock/cons/duration_pass.cpp | 3 ++-
trunk/libs/thread/test/sync/mutual_exclusion/locks/unique_lock/cons/mutex_pass.cpp | 3 ++-
trunk/libs/thread/test/sync/mutual_exclusion/locks/unique_lock/cons/time_point_pass.cpp | 3 ++-
trunk/libs/thread/test/sync/mutual_exclusion/locks/unique_lock/locking/lock_pass.cpp | 3 ++-
trunk/libs/thread/test/sync/mutual_exclusion/mutex/lock_pass.cpp | 3 ++-
trunk/libs/thread/test/sync/mutual_exclusion/recursive_mutex/lock_pass.cpp | 3 ++-
trunk/libs/thread/test/sync/mutual_exclusion/recursive_timed_mutex/try_lock_for_pass.cpp | 3 ++-
trunk/libs/thread/test/sync/mutual_exclusion/recursive_timed_mutex/try_lock_until_pass.cpp | 3 ++-
trunk/libs/thread/test/sync/mutual_exclusion/timed_mutex/lock_pass.cpp | 3 ++-
trunk/libs/thread/test/sync/mutual_exclusion/timed_mutex/try_lock_for_pass.cpp | 3 ++-
trunk/libs/thread/test/test_2741.cpp | 12 +++---------
trunk/libs/thread/test/threads/this_thread/sleep_for/sleep_for_pass.cpp | 3 ++-
trunk/libs/thread/test/threads/this_thread/sleep_until/sleep_until_pass.cpp | 3 ++-
17 files changed, 35 insertions(+), 25 deletions(-)
Modified: trunk/libs/thread/test/sync/conditions/condition_variable/wait_for_pass.cpp
==============================================================================
--- trunk/libs/thread/test/sync/conditions/condition_variable/wait_for_pass.cpp (original)
+++ trunk/libs/thread/test/sync/conditions/condition_variable/wait_for_pass.cpp 2012-01-17 17:24:06 EST (Tue, 17 Jan 2012)
@@ -51,7 +51,8 @@
}
else
{
- BOOST_TEST(t1 - t0 - milliseconds(250) < milliseconds(count*250+5));
+ // This test is spurious as it depends on the time the thread system switches the threads
+ BOOST_TEST(t1 - t0 - milliseconds(250) < milliseconds(count*250+5+1000));
BOOST_TEST(test2 == 0);
}
++runs;
Modified: trunk/libs/thread/test/sync/conditions/condition_variable/wait_until_pass.cpp
==============================================================================
--- trunk/libs/thread/test/sync/conditions/condition_variable/wait_until_pass.cpp (original)
+++ trunk/libs/thread/test/sync/conditions/condition_variable/wait_until_pass.cpp 2012-01-17 17:24:06 EST (Tue, 17 Jan 2012)
@@ -64,7 +64,8 @@
}
else
{
- BOOST_TEST(t1 - t0 - Clock::duration(250) < Clock::duration(count*250+5));
+ // This test is spurious as it depends on the time the thread system switches the threads
+ BOOST_TEST(t1 - t0 - Clock::duration(250) < Clock::duration(count*250+5+1000));
BOOST_TEST(test2 == 0);
}
++runs;
Modified: trunk/libs/thread/test/sync/conditions/condition_variable_any/wait_for_pass.cpp
==============================================================================
--- trunk/libs/thread/test/sync/conditions/condition_variable_any/wait_for_pass.cpp (original)
+++ trunk/libs/thread/test/sync/conditions/condition_variable_any/wait_for_pass.cpp 2012-01-17 17:24:06 EST (Tue, 17 Jan 2012)
@@ -55,7 +55,8 @@
}
else
{
- BOOST_TEST(t1 - t0 - milliseconds(250) < milliseconds(count*250+5));
+ // This test is spurious as it depends on the time the thread system switches the threads
+ BOOST_TEST(t1 - t0 - milliseconds(250) < milliseconds(count*250+5+1000));
BOOST_TEST(test2 == 0);
}
++runs;
Modified: trunk/libs/thread/test/sync/conditions/condition_variable_any/wait_until_pass.cpp
==============================================================================
--- trunk/libs/thread/test/sync/conditions/condition_variable_any/wait_until_pass.cpp (original)
+++ trunk/libs/thread/test/sync/conditions/condition_variable_any/wait_until_pass.cpp 2012-01-17 17:24:06 EST (Tue, 17 Jan 2012)
@@ -68,7 +68,8 @@
}
else
{
- BOOST_TEST(t1 - t0 - Clock::duration(250) < Clock::duration(250*count+5));
+ // This test is spurious as it depends on the time the thread system switches the threads
+ BOOST_TEST(t1 - t0 - Clock::duration(250) < Clock::duration(250*count+5+1000));
BOOST_TEST(test2 == 0);
}
++runs;
Modified: trunk/libs/thread/test/sync/mutual_exclusion/locks/unique_lock/cons/duration_pass.cpp
==============================================================================
--- trunk/libs/thread/test/sync/mutual_exclusion/locks/unique_lock/cons/duration_pass.cpp (original)
+++ trunk/libs/thread/test/sync/mutual_exclusion/locks/unique_lock/cons/duration_pass.cpp 2012-01-17 17:24:06 EST (Tue, 17 Jan 2012)
@@ -50,7 +50,8 @@
BOOST_TEST(lk.owns_lock() == false);
time_point t1 = Clock::now();
ns d = t1 - t0 - ms(250);
- BOOST_TEST(d < ns(5000000)); // within 5ms
+ // This test is spurious as it depends on the time the thread system switches the threads
+ BOOST_TEST(d < ns(5000000)+ms(1000)); // within 5ms
}
int main()
Modified: trunk/libs/thread/test/sync/mutual_exclusion/locks/unique_lock/cons/mutex_pass.cpp
==============================================================================
--- trunk/libs/thread/test/sync/mutual_exclusion/locks/unique_lock/cons/mutex_pass.cpp (original)
+++ trunk/libs/thread/test/sync/mutual_exclusion/locks/unique_lock/cons/mutex_pass.cpp 2012-01-17 17:24:06 EST (Tue, 17 Jan 2012)
@@ -41,7 +41,8 @@
t1 = Clock::now();
}
ns d = t1 - t0 - ms(250);
- BOOST_TEST(d < ns(2500000)); // within 2.5ms
+ // This test is spurious as it depends on the time the thread system switches the threads
+ BOOST_TEST(d < ns(2500000)+ms(1000)); // within 2.5ms
}
int main()
Modified: trunk/libs/thread/test/sync/mutual_exclusion/locks/unique_lock/cons/time_point_pass.cpp
==============================================================================
--- trunk/libs/thread/test/sync/mutual_exclusion/locks/unique_lock/cons/time_point_pass.cpp (original)
+++ trunk/libs/thread/test/sync/mutual_exclusion/locks/unique_lock/cons/time_point_pass.cpp 2012-01-17 17:24:06 EST (Tue, 17 Jan 2012)
@@ -49,7 +49,8 @@
BOOST_TEST(lk.owns_lock() == false);
time_point t1 = Clock::now();
ns d = t1 - t0 - ms(250);
- BOOST_TEST(d < ns(5000000)); // within 5ms
+ // This test is spurious as it depends on the time the thread system switches the threads
+ BOOST_TEST(d < ns(5000000)+ms(1000)); // within 5ms
}
int main()
Modified: trunk/libs/thread/test/sync/mutual_exclusion/locks/unique_lock/locking/lock_pass.cpp
==============================================================================
--- trunk/libs/thread/test/sync/mutual_exclusion/locks/unique_lock/locking/lock_pass.cpp (original)
+++ trunk/libs/thread/test/sync/mutual_exclusion/locks/unique_lock/locking/lock_pass.cpp 2012-01-17 17:24:06 EST (Tue, 17 Jan 2012)
@@ -40,7 +40,8 @@
time_point t1 = Clock::now();
BOOST_TEST(lk.owns_lock() == true);
ns d = t1 - t0 - ms(250);
- BOOST_TEST(d < ns(2500000)); // within 2.5ms
+ // This test is spurious as it depends on the time the thread system switches the threads
+ BOOST_TEST(d < ns(2500000)+ms(1000)); // within 2.5ms
try
{
lk.lock();
Modified: trunk/libs/thread/test/sync/mutual_exclusion/mutex/lock_pass.cpp
==============================================================================
--- trunk/libs/thread/test/sync/mutual_exclusion/mutex/lock_pass.cpp (original)
+++ trunk/libs/thread/test/sync/mutual_exclusion/mutex/lock_pass.cpp 2012-01-17 17:24:06 EST (Tue, 17 Jan 2012)
@@ -37,7 +37,8 @@
time_point t1 = Clock::now();
m.unlock();
ns d = t1 - t0 - ms(250);
- BOOST_TEST(d < ns(2500000)); // within 2.5ms
+ // This test is spurious as it depends on the time the thread system switches the threads
+ BOOST_TEST(d < ns(2500000)+ms(1000)); // within 2.5ms
}
int main()
Modified: trunk/libs/thread/test/sync/mutual_exclusion/recursive_mutex/lock_pass.cpp
==============================================================================
--- trunk/libs/thread/test/sync/mutual_exclusion/recursive_mutex/lock_pass.cpp (original)
+++ trunk/libs/thread/test/sync/mutual_exclusion/recursive_mutex/lock_pass.cpp 2012-01-17 17:24:06 EST (Tue, 17 Jan 2012)
@@ -39,7 +39,8 @@
m.unlock();
m.unlock();
ns d = t1 - t0 - ms(250);
- BOOST_TEST(d < ns(2500000)); // within 2.5ms
+ // This test is spurious as it depends on the time the thread system switches the threads
+ BOOST_TEST(d < ns(2500000)+ms(1000)); // within 2.5ms
}
int main()
Modified: trunk/libs/thread/test/sync/mutual_exclusion/recursive_timed_mutex/try_lock_for_pass.cpp
==============================================================================
--- trunk/libs/thread/test/sync/mutual_exclusion/recursive_timed_mutex/try_lock_for_pass.cpp (original)
+++ trunk/libs/thread/test/sync/mutual_exclusion/recursive_timed_mutex/try_lock_for_pass.cpp 2012-01-17 17:24:06 EST (Tue, 17 Jan 2012)
@@ -49,7 +49,8 @@
BOOST_TEST(m.try_lock_for(ms(250)) == false);
time_point t1 = Clock::now();
ns d = t1 - t0 - ms(250);
- BOOST_TEST(d < ns(5000000)); // within 5ms
+ // This test is spurious as it depends on the time the thread system switches the threads
+ BOOST_TEST(d < ns(5000000)+ms(1000)); // within 5ms
}
int main()
Modified: trunk/libs/thread/test/sync/mutual_exclusion/recursive_timed_mutex/try_lock_until_pass.cpp
==============================================================================
--- trunk/libs/thread/test/sync/mutual_exclusion/recursive_timed_mutex/try_lock_until_pass.cpp (original)
+++ trunk/libs/thread/test/sync/mutual_exclusion/recursive_timed_mutex/try_lock_until_pass.cpp 2012-01-17 17:24:06 EST (Tue, 17 Jan 2012)
@@ -47,7 +47,8 @@
BOOST_TEST(m.try_lock_until(Clock::now() + ms(250)) == false);
time_point t1 = Clock::now();
ns d = t1 - t0 - ms(250);
- BOOST_TEST(d < ns(5000000)); // within 5ms
+ // This test is spurious as it depends on the time the thread system switches the threads
+ BOOST_TEST(d < ns(5000000)+ms(1000)); // within 5ms
}
int main()
Modified: trunk/libs/thread/test/sync/mutual_exclusion/timed_mutex/lock_pass.cpp
==============================================================================
--- trunk/libs/thread/test/sync/mutual_exclusion/timed_mutex/lock_pass.cpp (original)
+++ trunk/libs/thread/test/sync/mutual_exclusion/timed_mutex/lock_pass.cpp 2012-01-17 17:24:06 EST (Tue, 17 Jan 2012)
@@ -37,7 +37,8 @@
time_point t1 = Clock::now();
m.unlock();
ns d = t1 - t0 - ms(250);
- BOOST_TEST(d < ns(2500000)); // within 2.5ms
+ // This test is spurious as it depends on the time the thread system switches the threads
+ BOOST_TEST(d < ns(2500000)+ms(1000)); // within 2.5ms
}
int main()
Modified: trunk/libs/thread/test/sync/mutual_exclusion/timed_mutex/try_lock_for_pass.cpp
==============================================================================
--- trunk/libs/thread/test/sync/mutual_exclusion/timed_mutex/try_lock_for_pass.cpp (original)
+++ trunk/libs/thread/test/sync/mutual_exclusion/timed_mutex/try_lock_for_pass.cpp 2012-01-17 17:24:06 EST (Tue, 17 Jan 2012)
@@ -47,7 +47,8 @@
BOOST_TEST(m.try_lock_for(ms(250)) == false);
time_point t1 = Clock::now();
ns d = t1 - t0 - ms(250);
- BOOST_TEST(d < ns(5000000)); // within 5ms
+ // This test is spurious as it depends on the time the thread system switches the threads
+ BOOST_TEST(d < ns(5000000)+ms(1000)); // within 5ms
}
int main()
Modified: trunk/libs/thread/test/test_2741.cpp
==============================================================================
--- trunk/libs/thread/test/test_2741.cpp (original)
+++ trunk/libs/thread/test/test_2741.cpp 2012-01-17 17:24:06 EST (Tue, 17 Jan 2012)
@@ -33,18 +33,12 @@
#if defined(BOOST_THREAD_PLATFORM_WIN32)
// ... window version
#elif defined(BOOST_THREAD_PLATFORM_PTHREAD)
-
-// pthread_attr_t ats;
-// int jj = pthread_attr_init(&ats);
-// std::cout << jj << std::endl;
-// int kk = pthread_attr_setstacksize(&ats, 0x4000);
-// std::cout << kk << std::endl;
- int k = pthread_attr_setstacksize(h, 0x4000);
+ int k = pthread_attr_setstacksize(h, 4*0x4000);
std::cout << k << std::endl;
- BOOST_CHECK(!pthread_attr_setstacksize(h, 0x4000));
+ BOOST_CHECK(!pthread_attr_setstacksize(h, 4*0x4000));
std::size_t res;
BOOST_CHECK(!pthread_attr_getstacksize(h, &res));
- BOOST_CHECK(res >= 0x4000);
+ BOOST_CHECK(res >= (4*0x4000));
#else
#error "Boost thread unavailable on this platform"
#endif
Modified: trunk/libs/thread/test/threads/this_thread/sleep_for/sleep_for_pass.cpp
==============================================================================
--- trunk/libs/thread/test/threads/this_thread/sleep_for/sleep_for_pass.cpp (original)
+++ trunk/libs/thread/test/threads/this_thread/sleep_for/sleep_for_pass.cpp 2012-01-17 17:24:06 EST (Tue, 17 Jan 2012)
@@ -32,7 +32,8 @@
boost::chrono::nanoseconds ns = (t1 - t0) - ms;
boost::chrono::nanoseconds err = ms / 100;
// The time slept is within 1% of 500ms
- BOOST_TEST(std::abs(static_cast<long>(ns.count())) < err.count());
+ // This test is spurious as it depends on the time the thread system switches the threads
+ BOOST_TEST(std::abs(static_cast<long>(ns.count())) < (err+boost::chrono::milliseconds(1000)).count());
return boost::report_errors();
}
Modified: trunk/libs/thread/test/threads/this_thread/sleep_until/sleep_until_pass.cpp
==============================================================================
--- trunk/libs/thread/test/threads/this_thread/sleep_until/sleep_until_pass.cpp (original)
+++ trunk/libs/thread/test/threads/this_thread/sleep_until/sleep_until_pass.cpp 2012-01-17 17:24:06 EST (Tue, 17 Jan 2012)
@@ -32,7 +32,8 @@
boost::chrono::nanoseconds ns = (t1 - t0) - ms;
boost::chrono::nanoseconds err = ms / 100;
// The time slept is within 1% of 500ms
- BOOST_TEST(std::abs(static_cast<long>(ns.count())) < err.count());
+ // This test is spurious as it depends on the time the thread system switches the threads
+ BOOST_TEST(std::abs(static_cast<long>(ns.count())) < (err+boost::chrono::milliseconds(1000)).count());
}
Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk