shared_files.cpp
Go to the documentation of this file.
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 }


ecl_devices
Author(s): Daniel Stonier (d.stonier@gmail.com)
autogenerated on Thu Jan 2 2014 11:12:50