Go to the documentation of this file.00001
00008
00009
00010
00011
00012 #include <iostream>
00013 #include <ecl/config/ecl.hpp>
00014 #if defined(ECL_IS_POSIX)
00015
00016
00017
00018
00019
00020 #include <gtest/gtest.h>
00021 #include "../../include/ecl/threads/priority.hpp"
00022 #include <ecl/exceptions/standard_exception.hpp>
00023
00024
00025
00026
00027
00028 using ecl::set_priority;
00029 using ecl::BackgroundPriority;
00030 using ecl::LowPriority;
00031 using ecl::NormalPriority;
00032 using ecl::HighPriority;
00033 using ecl::CriticalPriority;
00034 using ecl::RealTimePriority4;
00035 using ecl::RealTimePriority3;
00036 using ecl::RealTimePriority2;
00037 using ecl::RealTimePriority1;
00038 using ecl::StandardException;
00039
00040
00041
00042
00043
00044 TEST(PriorityTest,statistics) {
00045 std::string diagnostics = ecl::print_priority_diagnostics();
00046 SUCCEED();
00047 }
00048
00049 TEST(PriorityTest,setPosixPriorities) {
00050 try {
00051 set_priority(BackgroundPriority);
00052 set_priority(LowPriority);
00053 set_priority(NormalPriority);
00054 set_priority(HighPriority);
00055 set_priority(CriticalPriority);
00056 SUCCEED();
00057 } catch ( const StandardException &e ) {
00058
00059
00060 std::cout << "Do not have permission for the higher level priorities." << std::endl;
00061 }
00062 }
00063
00064 TEST(PriorityTest,setPosixRealTimePriorities) {
00065 try {
00066 set_priority(RealTimePriority1);
00067 set_priority(RealTimePriority2);
00068 set_priority(RealTimePriority3);
00069 set_priority(RealTimePriority4);
00070 SUCCEED();
00071 } catch ( const StandardException &e ) {
00072 SUCCEED();
00073
00074
00075 std::cout << "Do not have permission for real time scheduling priorities." << std::endl;
00076 }
00077 }
00078
00079
00080
00081
00082
00083 int main(int argc, char **argv) {
00084
00085 testing::InitGoogleTest(&argc,argv);
00086 return RUN_ALL_TESTS();
00087 }
00088
00089
00090 #else
00091
00092
00093
00094
00095
00096 int main(int argc, char **argv) {
00097
00098 std::cout << "Currently not supported on your platform." << std::endl;
00099 }
00100
00101 #endif
00102