$search
00001 00008 /***************************************************************************** 00009 ** Includes 00010 *****************************************************************************/ 00011 00012 #include <iostream> 00013 #include <gtest/gtest.h> 00014 #include <ecl/threads/thread.hpp> 00015 #include <ecl/time/timestamp.hpp> 00016 #include "../../include/ecl/devices/shared_file.hpp" 00017 00018 /***************************************************************************** 00019 ** Using 00020 *****************************************************************************/ 00021 00022 using ecl::New; 00023 using ecl::SharedFile; 00024 using ecl::Thread; 00025 00026 /***************************************************************************** 00027 ** Namespaces 00028 *****************************************************************************/ 00029 00030 namespace ecl { 00031 namespace devices { 00032 namespace tests { 00033 00034 /***************************************************************************** 00035 ** Globals 00036 *****************************************************************************/ 00037 00038 void shared_files_f() { 00039 SharedFile file("shared.txt"); 00040 long n; 00041 for (unsigned int i = 0; i < 3; ++i ) { 00042 n = file.write("Thread\n",7); 00043 EXPECT_EQ(7,n); 00044 } 00045 file.flush(); 00046 } 00047 00048 00049 } // namespace tests 00050 } // namespace devices 00051 } // namespace ecl 00052 00053 /***************************************************************************** 00054 ** Using 00055 *****************************************************************************/ 00056 00057 using namespace ecl::devices::tests; 00058 00059 TEST(SharedFileTests,allEggsInTheBasket) { 00060 00061 SharedFile file("shared.txt"); 00062 Thread thread(shared_files_f); 00063 long n; 00064 for (unsigned int i = 0; i < 3; ++i ) { 00065 n = file.write("Main\n",5); 00066 EXPECT_EQ(5,n); 00067 } 00068 file.flush(); 00069 thread.join(); 00070 } 00071 00072 /***************************************************************************** 00073 ** Main program 00074 *****************************************************************************/ 00075 00076 int main(int argc, char **argv) { 00077 00078 testing::InitGoogleTest(&argc,argv); 00079 return RUN_ALL_TESTS(); 00080 }