Author: hdu
Date: Wed Jun  4 11:21:52 2014
New Revision: 1600106

URL: http://svn.apache.org/r1600106
Log:
#i125003# fix google-test for osl_condition in the sal module

the test didn't initialize the nanosecond part of the condition timeout and so
the absolute timeout calculated from the second and nanosecond values could
become invalid depending on the pseudo-random value of the nanosecond member.
This resulted in spurious gtest failures (first seen on Ubuntu).

Modified:
    openoffice/trunk/main/sal/qa/osl/condition/osl_Condition.cxx

Modified: openoffice/trunk/main/sal/qa/osl/condition/osl_Condition.cxx
URL: 
http://svn.apache.org/viewvc/openoffice/trunk/main/sal/qa/osl/condition/osl_Condition.cxx?rev=1600106&r1=1600105&r2=1600106&view=diff
==============================================================================
--- openoffice/trunk/main/sal/qa/osl/condition/osl_Condition.cxx (original)
+++ openoffice/trunk/main/sal/qa/osl/condition/osl_Condition.cxx Wed Jun  4 
11:21:52 2014
@@ -216,46 +216,45 @@ namespace osl_Condition
                Result wait(const TimeValue *pTimeout = 0)
        */
     TEST(Sal_Test_Condition, wait_001) {
-        TimeValue tv1;
-        tv1.Seconds = 1;
-        
+        TimeValue tv1 = {1,0};
+
         ::osl::Condition cond1;
         ::osl::Condition cond2;
         ::osl::Condition cond3;
-               
+
         cond1.set();
         cond2.set();
-               
+
         osl::Condition::Result r1=cond1.wait(&tv1);
         osl::Condition::Result r2=cond2.wait();
         osl::Condition::Result r3=cond3.wait(&tv1);
         fprintf(stderr,"%d %d %d\n",r1,r2,r3);
 
         // #test comment#: test three types of wait.
-        ASSERT_TRUE( (cond1.wait(&tv1) == ::osl::Condition::result_ok) &&
-                     (cond2.wait() == ::osl::Condition::result_ok) &&
-                     (cond3.wait(&tv1) == ::osl::Condition::result_timeout) );
+        ASSERT_TRUE( cond1.wait(&tv1) == ::osl::Condition::result_ok );
+        ASSERT_TRUE( cond2.wait() == ::osl::Condition::result_ok );
+        ASSERT_TRUE( cond3.wait(&tv1) == ::osl::Condition::result_timeout );
     }
 
     TEST(Sal_Test_Condition, wait_002) {
-        TimeValue tv1;
-        tv1.Seconds = 1;
-        
+        TimeValue tv1 = {1,0};
+
         ::osl::Condition aCond;
         ::osl::Condition::Result wRes, wRes1;
-                       
+
         aCond.reset( );
         sal_Bool bRes = aCond.check( );
         wRes = aCond.wait( &tv1 );
-                       
+
         aCond.set( );
         wRes1 = aCond.wait( &tv1 );
         sal_Bool bRes1 = aCond.check( );
 
         // #test comment#: wait a condition after set/reset.
-        ASSERT_TRUE( !bRes && bRes1 &&
-                     ( ::osl::Condition::result_timeout == wRes ) && 
-                     ( ::osl::Condition::result_ok == wRes1 ) );
+        ASSERT_TRUE( !bRes );
+        ASSERT_TRUE( bRes1 );
+        ASSERT_TRUE( ::osl::Condition::result_timeout == wRes );
+        ASSERT_TRUE( ::osl::Condition::result_ok == wRes1 );
     }
 
 
@@ -288,7 +287,8 @@ namespace osl_Condition
         sal_Bool bRes1 = aCond.check( );
 
         // #test comment#: use threads to set/reset Condition and check it in 
main routine.
-        ASSERT_TRUE( bRes && !bRes1 );
+        ASSERT_TRUE( bRes );
+        ASSERT_TRUE( !bRes1 );
     }
 
 } // namespace osl_Condition


Reply via email to