diff --git a/Code/Installer/MantidLauncher/MantidLauncher.cpp b/Code/Installer/MantidLauncher/MantidLauncher.cpp index 83b55a84f69b311175802d6aef865f3b5a4f6efe..c36f826138fcca62abedbed903b6cdab2c3e3445 100644 --- a/Code/Installer/MantidLauncher/MantidLauncher.cpp +++ b/Code/Installer/MantidLauncher/MantidLauncher.cpp @@ -173,6 +173,8 @@ void readFile(const wchar_t* ws,const wchar_t* fn,const string& lfn) WINHTTP_NO_PROXY_NAME, WINHTTP_NO_PROXY_BYPASS, 0 ); + WinHttpSetTimeouts(hSession,1000,1000,1000,1000); + // Specify an HTTP server. if( hSession ) { diff --git a/Code/Installer/MantidLauncher/Release/MantidLauncher.exe b/Code/Installer/MantidLauncher/Release/MantidLauncher.exe index 32e971b8bbab2d1104abe03d336f3dd7dbc2177d..d6f716a1738c4e056cd004d4a6ca816515519d15 100644 Binary files a/Code/Installer/MantidLauncher/Release/MantidLauncher.exe and b/Code/Installer/MantidLauncher/Release/MantidLauncher.exe differ diff --git a/Code/Mantid/Kernel/test/LogFilterTest.h b/Code/Mantid/Kernel/test/LogFilterTest.h new file mode 100644 index 0000000000000000000000000000000000000000..0a550b4610487e67559ebc9d56761d2dd04d4293 --- /dev/null +++ b/Code/Mantid/Kernel/test/LogFilterTest.h @@ -0,0 +1,193 @@ +#ifndef LOGFILTERTEST_H_ +#define LOGFILTERTEST_H_ + +#include <cxxtest/TestSuite.h> + +#include "MantidKernel/LogFilter.h" +#include "MantidKernel/TimeSeriesProperty.h" +#include <ctime> + +using namespace Mantid::Kernel; + +class LogFilterTest : public CxxTest::TestSuite +{ + TimeSeriesProperty<double>* p; +public: + LogFilterTest() + :p(new TimeSeriesProperty<double>("test")) + { + p->addValue("2007-11-30T16:17:00",1); + p->addValue("2007-11-30T16:17:10",2); + p->addValue("2007-11-30T16:17:20",3); + p->addValue("2007-11-30T16:17:30",4); + p->addValue("2007-11-30T16:17:40",5); + } + + void testnthValue() + { + TS_ASSERT_EQUALS( p->size(), 5 ) + TS_ASSERT_EQUALS( p->nthValue(0), 1 ) + TS_ASSERT_EQUALS( p->nthValue(1), 2 ) + TS_ASSERT_EQUALS( p->nthValue(2), 3 ) + TS_ASSERT_EQUALS( p->nthValue(3), 4 ) + TS_ASSERT_EQUALS( p->nthValue(4), 5 ) + TS_ASSERT_EQUALS( p->nthValue(5), 5 ) + + TS_ASSERT_EQUALS( p->nthInterval(0).begin_str(), "2007-Nov-30 16:17:00" ) + TS_ASSERT_EQUALS( p->nthInterval(0).end_str(), "2007-Nov-30 16:17:10" ) + + TS_ASSERT_EQUALS( p->nthInterval(1).begin_str(), "2007-Nov-30 16:17:10" ) + TS_ASSERT_EQUALS( p->nthInterval(1).end_str(), "2007-Nov-30 16:17:20" ) + + TS_ASSERT_EQUALS( p->nthInterval(2).begin_str(), "2007-Nov-30 16:17:20" ) + TS_ASSERT_EQUALS( p->nthInterval(2).end_str(), "2007-Nov-30 16:17:30" ) + + TS_ASSERT_EQUALS( p->nthInterval(3).begin_str(), "2007-Nov-30 16:17:30" ) + TS_ASSERT_EQUALS( p->nthInterval(3).end_str(), "2007-Nov-30 16:17:40" ) + + TS_ASSERT_EQUALS( p->nthInterval(4).begin_str(), "2007-Nov-30 16:17:40" ) + TS_ASSERT_EQUALS( p->nthInterval(4).end_str(), "2007-Nov-30 16:17:44" ) + } + + void testF1() + { + TimeSeriesProperty<bool> f("1"); + f.addValue("2007-11-30T16:16:50",true); + f.addValue("2007-11-30T16:17:25",false); + f.addValue("2007-11-30T16:17:39",true); + + LogFilter flt(p); + flt.addFilter(&f); + + TS_ASSERT_EQUALS( flt.data()->size(), 6 ); + + TS_ASSERT_EQUALS( flt.data()->nthInterval(0).begin_str(), "2007-Nov-30 16:16:50" ) + TS_ASSERT_EQUALS( flt.data()->nthInterval(0).end_str(), "2007-Nov-30 16:17:00" ) + TS_ASSERT_EQUALS( flt.data()->nthValue(0), 1 ) + + TS_ASSERT_EQUALS( flt.data()->nthInterval(1).begin_str(), "2007-Nov-30 16:17:00" ) + TS_ASSERT_EQUALS( flt.data()->nthInterval(1).end_str(), "2007-Nov-30 16:17:10" ) + TS_ASSERT_EQUALS( flt.data()->nthValue(1), 1 ) + + TS_ASSERT_EQUALS( flt.data()->nthInterval(2).begin_str(), "2007-Nov-30 16:17:10" ) + TS_ASSERT_EQUALS( flt.data()->nthInterval(2).end_str(), "2007-Nov-30 16:17:20" ) + TS_ASSERT_EQUALS( flt.data()->nthValue(2), 2 ) + + TS_ASSERT_EQUALS( flt.data()->nthInterval(3).begin_str(), "2007-Nov-30 16:17:20" ) + TS_ASSERT_EQUALS( flt.data()->nthInterval(3).end_str(), "2007-Nov-30 16:17:25" ) + TS_ASSERT_EQUALS( flt.data()->nthValue(3), 3 ) + + TS_ASSERT_EQUALS( flt.data()->nthInterval(4).begin_str(), "2007-Nov-30 16:17:39" ) + TS_ASSERT_EQUALS( flt.data()->nthInterval(4).end_str(), "2007-Nov-30 16:17:40" ) + TS_ASSERT_EQUALS( flt.data()->nthValue(4), 4 ) + + TS_ASSERT_EQUALS( flt.data()->nthInterval(5).begin_str(), "2007-Nov-30 16:17:40" ) + TS_ASSERT_EQUALS( flt.data()->nthInterval(5).end_str(), "2007-Nov-30 16:17:45" ) + TS_ASSERT_EQUALS( flt.data()->nthValue(5), 5 ) + + } + + void testF1a() + { + TimeSeriesProperty<bool> f("1"); + f.addValue("2007-11-30T16:16:50",false); + f.addValue("2007-11-30T16:17:25",true); + f.addValue("2007-11-30T16:17:39",false); + + LogFilter flt(p); + flt.addFilter(&f); + + TS_ASSERT_EQUALS( flt.data()->size(), 2 ); + + TS_ASSERT_EQUALS( flt.data()->nthInterval(0).begin_str(), "2007-Nov-30 16:17:25" ) + TS_ASSERT_EQUALS( flt.data()->nthInterval(0).end_str(), "2007-Nov-30 16:17:30" ) + TS_ASSERT_EQUALS( flt.data()->nthValue(0), 3 ) + + TS_ASSERT_EQUALS( flt.data()->nthInterval(1).begin_str(), "2007-Nov-30 16:17:30" ) + TS_ASSERT_EQUALS( flt.data()->nthInterval(1).end_str(), "2007-Nov-30 16:17:39" ) + TS_ASSERT_EQUALS( flt.data()->nthValue(1), 4 ) + + } + + void testF12() + { + TimeSeriesProperty<bool> f("1"); + f.addValue("2007-11-30T16:16:50",true); + f.addValue("2007-11-30T16:17:25",false); + f.addValue("2007-11-30T16:17:39",true); + + TimeSeriesProperty<bool> f2("2"); + f2.addValue("2007-11-30T16:17:05",false); + f2.addValue("2007-11-30T16:17:12",true); + + LogFilter flt(p); + flt.addFilter(&f); + flt.addFilter(&f2); + + TS_ASSERT_EQUALS( flt.data()->size(), 5 ); + + TS_ASSERT_EQUALS( flt.data()->nthInterval(0).begin_str(), "2007-Nov-30 16:16:50" ) + TS_ASSERT_EQUALS( flt.data()->nthInterval(0).end_str(), "2007-Nov-30 16:17:05" ) + TS_ASSERT_EQUALS( flt.data()->nthValue(0), 1 ) + + TS_ASSERT_EQUALS( flt.data()->nthInterval(1).begin_str(), "2007-Nov-30 16:17:12" ) + TS_ASSERT_EQUALS( flt.data()->nthInterval(1).end_str(), "2007-Nov-30 16:17:20" ) + TS_ASSERT_EQUALS( flt.data()->nthValue(1), 2 ) + + TS_ASSERT_EQUALS( flt.data()->nthInterval(2).begin_str(), "2007-Nov-30 16:17:20" ) + TS_ASSERT_EQUALS( flt.data()->nthInterval(2).end_str(), "2007-Nov-30 16:17:25" ) + TS_ASSERT_EQUALS( flt.data()->nthValue(2), 3 ) + + TS_ASSERT_EQUALS( flt.data()->nthInterval(3).begin_str(), "2007-Nov-30 16:17:39" ) + TS_ASSERT_EQUALS( flt.data()->nthInterval(3).end_str(), "2007-Nov-30 16:17:40" ) + TS_ASSERT_EQUALS( flt.data()->nthValue(3), 4 ) + + TS_ASSERT_EQUALS( flt.data()->nthInterval(4).begin_str(), "2007-Nov-30 16:17:40" ) + TS_ASSERT_EQUALS( flt.data()->nthInterval(4).end_str(), "2007-Nov-30 16:17:45" ) + TS_ASSERT_EQUALS( flt.data()->nthValue(4), 5 ) + + } + + void testF3() + { + TimeSeriesProperty<bool> f("1"); + f.addValue("2007-11-30T16:17:00",false); + f.addValue("2007-11-30T16:17:40",true); + f.addValue("2007-11-30T16:17:45",false); + f.addValue("2007-11-30T16:17:50",true); + f.addValue("2007-11-30T16:18:00",false); + + LogFilter flt(p); + flt.addFilter(&f); + + TS_ASSERT_EQUALS( flt.data()->nthInterval(0).begin_str(), "2007-Nov-30 16:17:40" ) + TS_ASSERT_EQUALS( flt.data()->nthInterval(0).end_str(), "2007-Nov-30 16:17:45" ) + TS_ASSERT_EQUALS( flt.data()->nthValue(0), 5 ) + + TS_ASSERT_EQUALS( flt.data()->nthInterval(1).begin_str(), "2007-Nov-30 16:17:50" ) + TS_ASSERT_EQUALS( flt.data()->nthInterval(1).end_str(), "2007-Nov-30 16:18:00" ) + TS_ASSERT_EQUALS( flt.data()->nthValue(1), 5 ) + + } + +private: + std::time_t createTime_t_FromString(const std::string &str) + { + std::tm time_since_1900; + time_since_1900.tm_isdst = -1; + + // create tm struct + + time_since_1900.tm_year = atoi(str.substr(0, 4).c_str()) - 1900; + time_since_1900.tm_mon = atoi(str.substr(5, 2).c_str()) - 1; + time_since_1900.tm_mday = atoi(str.substr(8, 2).c_str()); + time_since_1900.tm_hour = atoi(str.substr(11, 2).c_str()); + time_since_1900.tm_min = atoi(str.substr(14, 2).c_str()); + time_since_1900.tm_sec = atoi(str.substr(17, 2).c_str()); + + return std::mktime(&time_since_1900); + } +}; + + +#endif /*LOGFILTERTEST_H_*/