summaryrefslogtreecommitdiffstats
path: root/fastos/src/tests/timetest.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'fastos/src/tests/timetest.cpp')
-rw-r--r--fastos/src/tests/timetest.cpp296
1 files changed, 0 insertions, 296 deletions
diff --git a/fastos/src/tests/timetest.cpp b/fastos/src/tests/timetest.cpp
deleted file mode 100644
index c0c49884fb1..00000000000
--- a/fastos/src/tests/timetest.cpp
+++ /dev/null
@@ -1,296 +0,0 @@
-// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-
-#include "tests.h"
-#include <vespa/fastos/time.h>
-#include <cmath>
-
-using namespace fastos;
-
-class TimeTest : public BaseTest
-{
-private:
-
-public:
- virtual ~TimeTest() {};
-
- void Wait3SecondsTest ()
- {
- TestHeader("Wait 3 seconds test");
- bool rc=false;
- FastOS_Time before, timing;
-
- Progress(true, "Waiting 3 seconds...");
- before.SetNow();
-
- FastOS_Thread::Sleep(3000);
-
- timing.SetNow();
-
- rc = (timing > before);
- Progress(rc, "AfterTime > BeforeTime");
-
- rc = (before < timing);
- Progress(rc, "BeforeTime < AfterTime");
-
- rc = (before <= timing);
- Progress(rc, "BeforeTime <= AfterTime");
-
- rc = (timing >= before);
- Progress(rc, "AfterTime >= BeforeTime");
-
- rc = (timing >= timing);
- Progress(rc, "AfterTime >= AfterTime");
-
- rc = (timing <= timing);
- Progress(rc, "AfterTime <= AfterTime");
-
- FastOS_Time copyOfAfterTime = timing;
- rc = (copyOfAfterTime == timing);
- Progress(rc, "CopyOfAfterTime == AfterTime");
-
- timing -= before;
-
- double milliseconds = timing.MilliSecs();
- rc = ((milliseconds >= 1900) &&
- (milliseconds <= 10000)); // More than 10 seconds??
-
- Progress(rc, "Waittime = %d milliseconds",
- static_cast<int>(milliseconds));
-
- double microseconds = timing.MicroSecs();
- rc = ((microseconds >= 1900000) &&
- (microseconds <= 10000000)); // More than 10 seconds??
-
- Progress(rc, "Waittime = %d microseconds",
- static_cast<int>(microseconds));
-
- timing += before;
- rc = (copyOfAfterTime == timing);
- Progress(rc, "CopyOfAfterTime == AfterTime (after minus-plus)");
-
- PrintSeparator();
- }
-
- void TimeArithmeticTest ()
- {
- bool rc=false;
-
- TestHeader("Other Time Aritmetic Test");
-
- FastOS_Time time1, time2;
- time1.SetZero();
- time2.SetZero();
-
- rc = (time1 == time2);
- Progress(rc, "Two zero times are equal");
-
- time1.SetMilliSecs(124);
- Progress(long(time1.MilliSecs()) == 124,
- "SetMilliSecs(124) -> MilliSecs(%ld)",
- long(time1.MilliSecs()));
-
- time1.SetMicroSecs(123000);
- Progress(long(time1.MicroSecs()) == 123000,
- "SetMicroSecs(123000) -> MicroSecs(%ld)",
- long(time1.MicroSecs()));
-
- time1.SetMilliSecs(999124);
- Progress(long(time1.MilliSecs()) == 999124,
- "SetMilliSecs(999124) -> MilliSecs(%ld)",
- long(time1.MilliSecs()));
-
- time1.SetMicroSecs(9123000);
- Progress(long(time1.MicroSecs()) == 9123000,
- "SetMicroSecs(9123000) -> MicroSecs(%ld)",
- long(time1.MicroSecs()));
-
- time2 = time1;
- Progress(long(time2.MicroSecs()) == 9123000,
- "[time2 = time1] -> time2.MicroSecs(%ld)",
- long(time2.MicroSecs()));
-
- time2 += time1;
- Progress(long(time2.MicroSecs()) == 9123000*2,
- "[time2 += time1] -> time2.MicroSecs(%ld)",
- long(time2.MicroSecs()));
-
- time2 += time2;
- Progress(long(time2.MicroSecs()) == 9123000*4,
- "[time2 += time2] -> time2.MicroSecs(%ld)",
- long(time2.MicroSecs()));
-
- time2 -= time1;
- Progress(long(time2.MicroSecs()) == 9123000*3,
- "[time2 -= time2] -> time2.MicroSecs(%ld)",
- long(time2.MicroSecs()));
-
- Progress(time2 > time1,
- "[time2 > time2] -> %s", time2 > time1 ? "true" : "false");
- Progress(time2 >= time1,
- "[time2 >= time2] -> %s", time2 >= time1 ? "true" : "false");
- Progress(time1 < time2,
- "[time1 < time2] -> %s", time1 < time2 ? "true" : "false");
- Progress(time1 <= time2,
- "[time1 <= time2] -> %s", time1 <= time2 ? "true" : "false");
-
- Progress(!(time2 < time1),
- "[time2 < time2] -> %s", time2 < time1 ? "true" : "false");
- Progress(!(time2 <= time1),
- "[time2 <= time1] -> %s", time2 <= time1 ? "true" : "false");
- Progress(!(time1 > time2),
- "[time1 > time2] -> %s", time1 > time2 ? "true" : "false");
- Progress(!(time1 >= time2),
- "[time1 >= time2] -> %s", time1 >= time2 ? "true" : "false");
- Progress(!(time1 == time2),
- "[time1 == time2] -> %s", time1 == time2 ? "true" : "false");
-
- time1 = time2;
- Progress(long(time1.MicroSecs()) == 9123000*3,
- "[time1 = time2] -> time1.MicroSecs(%ld)",
- long(time1.MicroSecs()));
- Progress(time2 >= time1,
- "[time2 >= time2] -> %s", time2 >= time1 ? "true" : "false");
- Progress(time1 <= time2,
- "[time1 <= time2] -> %s", time1 <= time2 ? "true" : "false");
- Progress((time1 == time2),
- "[time1 == time2] -> %s", time1 == time2 ? "true" : "false");
-
- time1.SetZero();
- Progress(long(time1.MilliSecs()) == 0,
- "SetZero() -> MilliSecs(%ld)",
- long(time1.MilliSecs()));
-
- Progress(long(time1.MicroSecs()) == 0,
- "SetZero() -> MicroSecs(%ld)",
- long(time1.MicroSecs()));
-
- time1 = 2.5;
- Progress(long(time1.MilliSecs()) == 2500,
- "time2 = 2.5 -> MilliSecs(%ld)",
- long(time1.MilliSecs()));
-
- time2 = 3.9;
- Progress(long(time2.MicroSecs()) == 3900000,
- "time2 = 3.9 -> MicroSecs(%ld)",
- long(time2.MicroSecs()));
-
- time1.SetNow();
- FastOS_Thread::Sleep(1000);
- double waited = time1.MicroSecsToNow();
- Progress((waited >= 950000) && (waited <= 1200000),
- "Slept 1000 ms, MicroSecsToNow(%ld)", long(waited));
-
- time2.SetNow();
- FastOS_Thread::Sleep(2000);
- waited = time2.MilliSecsToNow();
- Progress((waited >= (2*950)) && (waited <= (2*1200)),
- "Slept 2000 ms, MilliSecsToNow(%ld)", long(waited));
-
- time2.SetMicroSecs(40000);
- time2.AddMicroSecs(1000000);
- Progress(long(time2.MicroSecs()) == (40000 + 1000000),
- "[SetMicroSecs(40000); AddMicroSecs(1000000)] -> MicroSecs(%ld)",
- long(time2.MicroSecs()));
-
- time1.SetMicroSecs(9123000);
- time1.SubtractMicroSecs(512000);
- Progress(long(time1.MicroSecs()) == (9123000 - 512000),
- "[SetMicroSecs(9123000); SubMicroSecs(512000)] -> MicroSecs(%ld)",
- long(time1.MicroSecs()));
-
- time1.SetMilliSecs(400);
- time1.AddMilliSecs(1000001);
- Progress(long(time1.MilliSecs()) == (400 + 1000001),
- "[SetMilliSecs(400); AddMilliSecs(1000001)] -> MilliSecs(%ld)",
- long(time1.MilliSecs()));
-
- time2.SetMilliSecs(9123213);
- time2.SubtractMilliSecs(512343);
- Progress(long(time2.MilliSecs()) == (9123213 - 512343),
- "[SetMilliSecs(9123213); SubMilliSecs(512343)] -> MilliSecs(%ld)",
- long(time2.MilliSecs()));
-
- Progress(time2.GetSeconds() == ((9123213 - 512343) / (1000)),
- "[time2.GetSeconds()] -> %ld", time2.GetSeconds());
- Progress(int64_t(time2.GetMicroSeconds()) == ((int64_t(9123213 - 512343)*1000) % (1000000)),
- "[time2.GetMicroSeconds()] -> %ld", time2.GetMicroSeconds());
-
- PrintSeparator();
- }
-
- void TimeStepTest ()
- {
- TestHeader("Time Step Test");
- FastOS_Time before, timing;
- before.SetNow();
-
- int delay = 400;
- for(int i=delay; i<3000; i+=delay)
- {
- FastOS_Thread::Sleep(delay);
-
- timing.SetNow();
- timing -= before;
-
- double millis = timing.MilliSecs();
- double correct = i;
-
- Progress((std::fabs(millis - correct)/correct) < 0.15,
- "Elapsed time measurement: %d",
- static_cast<int>(millis));
- }
-
- PrintSeparator();
- }
-
- void requireThatTimeStampCanBeConvertedToString() {
- TestHeader("requireThatTimeStampCanBeConvertedToString");
-
- int64_t time = 1424867106 * fastos::TimeStamp::SEC + 123 * fastos::TimeStamp::MS;
- fastos::TimeStamp timeStamp(time);
- std::string actualString = timeStamp.toString();
- std::string expectString = "2015-02-25 12:25:06.123 UTC";
- Progress(expectString == actualString,
- "Actual string: '%s'", actualString.c_str());
-
- PrintSeparator();
- }
-
- void requireThatTimeStampIsConstructedCorrect() {
- using fastos::TimeStamp;
- Progress(TimeStamp(97).ns() == 97l, "TimeStamp(int)");
- Progress(TimeStamp(97u).ns() == 97l, "TimeStamp(unsigned int)");
- Progress(TimeStamp(INT64_C(97)).ns() == 97l, "TimeStamp(int64_t)");
- Progress(TimeStamp(UINT64_C(97)).ns() == 97l, "TimeStamp(uint64_t)");
- Progress(TimeStamp(TimeStamp::Seconds(97.3)).ns() == 97300000000l, "TimeStamp(double)");
- PrintSeparator();
- }
-
-
- int Main () override;
-};
-
-int TimeTest::Main ()
-{
- printf("grep for the string '%s' to detect failures.\n\n", failString);
-
- Wait3SecondsTest();
- TimeArithmeticTest();
- TimeStepTest();
- requireThatTimeStampCanBeConvertedToString();
- requireThatTimeStampIsConstructedCorrect();
-
- printf("END OF TEST (%s)\n", _argv[0]);
-
- return allWasOk() ? 0 : 1;
-}
-
-
-int main (int argc, char **argv)
-{
- TimeTest app;
-
- setvbuf(stdout, nullptr, _IOLBF, 8192);
- return app.Entry(argc, argv);
-}
-