Go to the documentation of this file.00001
00008
00009
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
00020
00021
00022 using ecl::New;
00023 using ecl::SharedFile;
00024 using ecl::Thread;
00025
00026
00027
00028
00029
00030 namespace ecl {
00031 namespace devices {
00032 namespace tests {
00033
00034
00035
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 }
00050 }
00051 }
00052
00053
00054
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
00074
00075
00076 int main(int argc, char **argv) {
00077
00078 testing::InitGoogleTest(&argc,argv);
00079 return RUN_ALL_TESTS();
00080 }