MCPcopy Create free account
hub / github.com/facebook/time / TEST

Function TEST

fbclock/cpp_test/test.cpp:26–67  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

24#include <iterator>
25#include <thread>
26
27#include "../fbclock.h"
28
29TEST(fbclockTest, test_write_read) {
30 int err;
31 char* test_shm = std::tmpnam(nullptr);
32
33 // open file, write data into it
34 FILE* f = fopen(test_shm, "wb+");
35 int sfd_rw = fileno(f);
36 ASSERT_NE(sfd_rw, -1);
37
38 err = ftruncate(sfd_rw, FBCLOCK_SHMDATA_SIZE);
39 ASSERT_EQ(err, 0);
40
41 fbclock_clockdata data = {
42 .ingress_time_ns = 1, .error_bound_ns = 2, .holdover_multiplier_ns = 3};
43 err = fbclock_clockdata_store_data(sfd_rw, &data);
44 ASSERT_EQ(err, 0);
45
46 fclose(f);
47
48 // read data from the file
49 f = fopen(test_shm, "r");
50 int sfd_ro = fileno(f);
51 ASSERT_NE(sfd_ro, -1);
52
53 fbclock_shmdata* shmp = (fbclock_shmdata*)mmap(
54 nullptr, FBCLOCK_SHMDATA_SIZE, PROT_READ, MAP_SHARED, sfd_ro, 0);
55 ASSERT_NE(shmp, MAP_FAILED);
56
57 fbclock_clockdata read_data;
58
59 err = fbclock_clockdata_load_data(shmp, &read_data);
60 ASSERT_EQ(err, 0);
61
62 munmap(shmp, FBCLOCK_SHMDATA_SIZE);
63 fclose(f);
64
65 EXPECT_EQ(data.ingress_time_ns, read_data.ingress_time_ns);
66 EXPECT_EQ(data.error_bound_ns, read_data.error_bound_ns);
67 EXPECT_EQ(data.holdover_multiplier_ns, read_data.holdover_multiplier_ns);
68
69 remove(test_shm);
70}

Callers

nothing calls this directly

Calls 8

fbclock_calculate_timeFunction · 0.85
fbclock_apply_smearFunction · 0.85
getMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…