aboutsummaryrefslogtreecommitdiffstats
path: root/host/tests/system_time_test.cpp
blob: 3f4f8a81439ad1380ec17bc72f5da6cabf0eaaf2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
//
// Copyright 2017 Ettus Research (National Instruments Corp.)
//
// SPDX-License-Identifier: GPL-3.0+
//

#include "system_time.hpp"
#include <uhd/types/time_spec.hpp>
#include <boost/test/unit_test.hpp>
#include <chrono>
#include <cstdint>
#include <iomanip>
#include <iostream>
#include <thread>

BOOST_AUTO_TEST_CASE(test_time_spec_get_system_time)
{
    std::cout << "Testing time specification get system time..." << std::endl;

    // Not really checking for high resolution timing here,
    // just need to check that system time is minimally working.

    auto start = uhd::get_system_time();
    std::this_thread::sleep_for(std::chrono::milliseconds(500));
    auto stop = uhd::get_system_time();

    auto diff = stop - start;
    std::cout << "start: " << start.get_real_secs() << std::endl;
    std::cout << "stop: " << stop.get_real_secs() << std::endl;
    std::cout << "diff: " << diff.get_real_secs() << std::endl;
    BOOST_CHECK(diff.get_real_secs() > 0); // assert positive
    BOOST_CHECK(diff.get_real_secs() < 1.0); // assert under 1s
}