Skip to content

Commit 865039d

Browse files
committed
Fix tests
1 parent a88f698 commit 865039d

9 files changed

Lines changed: 54 additions & 37 deletions

File tree

source/units.hpp

Lines changed: 19 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -45,29 +45,35 @@ class Size {
4545
explicit constexpr Size(uint64_t a_value)
4646
: m_value_bits(a_value * TSizeBase::to_bit_multiplier) {}
4747

48-
// TODO: thinki about rounding here!
4948
constexpr uint64_t value() const {
49+
// Round up here to get maximal size
5050
return (m_value_bits + TSizeBase::to_bit_multiplier - 1) /
5151
TSizeBase::to_bit_multiplier;
5252
}
5353

5454
constexpr uint64_t get_bits() const { return m_value_bits; }
5555

56-
constexpr ThisSize operator+(ThisSize size) {
57-
return ThisSize(m_value_bits + size.m_value_bits);
58-
}
59-
60-
constexpr ThisSize operator-(ThisSize size) {
61-
return ThisSize(m_value_bits - size.m_value_bits);
62-
}
63-
6456
constexpr void operator+=(ThisSize size) {
6557
m_value_bits += size.m_value_bits;
6658
}
6759
constexpr void operator-=(ThisSize size) {
6860
m_value_bits -= size.m_value_bits;
6961
}
7062

63+
constexpr void operator*=(size_t mult) { m_value_bits *= mult; }
64+
65+
constexpr ThisSize operator+(ThisSize size) const {
66+
return Size<Bit>(m_value_bits + size.m_value_bits);
67+
}
68+
69+
constexpr ThisSize operator-(ThisSize size) const {
70+
return Size<Bit>(m_value_bits + size.m_value_bits);
71+
}
72+
73+
constexpr ThisSize operator*(size_t mult) const {
74+
return Size<Bit>(m_value_bits * mult);
75+
}
76+
7177
double constexpr operator/(ThisSize size) const {
7278
return m_value_bits / (double)size.get_bits();
7379
}
@@ -76,6 +82,10 @@ class Size {
7682
return m_value_bits / time;
7783
}
7884

85+
ThisSize constexpr operator*(size_t mult) {
86+
return Size<Bit>(m_value_bits * mult);
87+
}
88+
7989
bool constexpr operator<(ThisSize size) const {
8090
return m_value_bits < size.m_value_bits;
8191
}

test/device/utils.cpp

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -30,11 +30,15 @@ std::optional<sim::Packet> TestLink::get_packet() { return {packet}; };
3030
std::shared_ptr<sim::IDevice> TestLink::get_from() const { return src.lock(); };
3131
std::shared_ptr<sim::IDevice> TestLink::get_to() const { return dst.lock(); };
3232

33-
SizeByte TestLink::get_from_egress_queue_size() const { return 0; }
34-
SizeByte TestLink::get_max_from_egress_buffer_size() const { return 4096; }
33+
SizeByte TestLink::get_from_egress_queue_size() const { return SizeByte(0); }
34+
SizeByte TestLink::get_max_from_egress_buffer_size() const {
35+
return SizeByte(4096);
36+
}
3537

36-
SizeByte TestLink::get_to_ingress_queue_size() const { return 0; }
37-
SizeByte TestLink::get_max_to_ingress_queue_size() const { return 4096; }
38+
SizeByte TestLink::get_to_ingress_queue_size() const { return SizeByte(0); }
39+
SizeByte TestLink::get_max_to_ingress_queue_size() const {
40+
return SizeByte(4096);
41+
}
3842

3943
Id TestLink::get_id() const { return ""; }
4044

test/link/packet_queue/abstract_queue_test.hpp

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ void TestEmpty(Args&&... args) {
1616
TPacketQueue queue(std::forward<Args>(args)...);
1717

1818
ASSERT_TRUE(queue.empty());
19-
ASSERT_EQ(queue.get_size(), 0);
19+
ASSERT_EQ(queue.get_size(), SizeByte(0));
2020

2121
bool runtime_error_catched = false;
2222
try {
@@ -37,7 +37,7 @@ void TestEmpty(Args&&... args) {
3737

3838
template <typename TPacketQueue, typename... Args>
3939
requires ValidPacketQueueWithArgs<TPacketQueue, Args...>
40-
void TestPushOnePacket(size_t packet_size, Args&&... args) {
40+
void TestPushOnePacket(SizeByte packet_size, Args&&... args) {
4141
TPacketQueue queue(std::forward<Args>(args)...);
4242

4343
sim::Packet packet(packet_size);
@@ -49,7 +49,7 @@ void TestPushOnePacket(size_t packet_size, Args&&... args) {
4949
ASSERT_EQ(queue.get_size(), packet.size_byte);
5050

5151
queue.pop();
52-
ASSERT_EQ(queue.get_size(), 0);
52+
ASSERT_EQ(queue.get_size(), SizeByte(0));
5353
ASSERT_TRUE(queue.empty());
5454
}
5555

@@ -60,18 +60,18 @@ void TestOverflow(Args&&... args) {
6060

6161
const SizeByte max_size = queue.get_max_size();
6262
const size_t NUMBER_OF_PACKETS = 10;
63-
SizeByte packet_size = max_size / NUMBER_OF_PACKETS;
63+
SizeByte packet_size = Size<Bit>(max_size.get_bits() / NUMBER_OF_PACKETS);
6464

6565
sim::Packet packet(packet_size);
6666

6767
for (size_t i = 0; i < NUMBER_OF_PACKETS; i++) {
6868
ASSERT_TRUE(queue.push(packet));
6969
}
7070

71-
size_t expected_queue_size = NUMBER_OF_PACKETS * packet_size;
71+
SizeByte expected_queue_size = packet_size * NUMBER_OF_PACKETS;
7272
ASSERT_EQ(queue.get_size(), expected_queue_size);
7373

74-
sim::Packet overflow_packet(packet_size + 1);
74+
sim::Packet overflow_packet(packet_size + SizeByte(1));
7575
ASSERT_FALSE(queue.push(overflow_packet));
7676

7777
ASSERT_EQ(queue.get_size(), expected_queue_size);
@@ -82,7 +82,7 @@ void TestOverflow(Args&&... args) {
8282
}
8383

8484
ASSERT_TRUE(queue.empty());
85-
ASSERT_EQ(queue.get_size(), 0);
85+
ASSERT_EQ(queue.get_size(), SizeByte(0));
8686
}
8787

8888
} // namespace test

test/link/packet_queue/test_simple_queue.cpp

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,17 +11,19 @@ class SimpleQueueTest : public testing::Test {
1111
void SetUp() override {};
1212
};
1313

14-
TEST_F(SimpleQueueTest, PopFromEmpty) { TestEmpty<sim::SimplePacketQueue>(0); }
14+
TEST_F(SimpleQueueTest, PopFromEmpty) {
15+
TestEmpty<sim::SimplePacketQueue>(SizeByte(0));
16+
}
1517
TEST_F(SimpleQueueTest, TestPushEmptyPacket) {
16-
TestPushOnePacket<sim::SimplePacketQueue>(0, 0);
18+
TestPushOnePacket<sim::SimplePacketQueue>(SizeByte(0), SizeByte(0));
1719
}
1820

1921
TEST_F(SimpleQueueTest, TestPushOnePacket) {
20-
TestPushOnePacket<sim::SimplePacketQueue>(10, 10);
22+
TestPushOnePacket<sim::SimplePacketQueue>(SizeByte(10), SizeByte(10));
2123
}
2224

2325
TEST_F(SimpleQueueTest, TestOverflow) {
24-
TestOverflow<sim::SimplePacketQueue>(128);
26+
TestOverflow<sim::SimplePacketQueue>(SizeByte(128));
2527
}
2628

2729
} // namespace test

test/link/schedule_arrival_test.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ TEST_F(LinkTest, ScheduledCorrectly) {
1313

1414
int NUMBER_OF_PACKETS = 10;
1515
for (int i = 0; i < NUMBER_OF_PACKETS; i++) {
16-
link->schedule_arrival(sim::Packet(100));
16+
link->schedule_arrival(sim::Packet(SizeByte(100)));
1717
}
1818

1919
while (sim::Scheduler::get_instance().tick()) {

test/simulator/recalculate_paths_test.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ static void check_pairwise_reachability(
2121
for (auto src : devices) {
2222
for (auto dest : devices) {
2323
if (src != dest) {
24-
sim::Packet packet_to_dest = sim::Packet(0, nullptr, src->get_id(), dest->get_id());
24+
sim::Packet packet_to_dest = sim::Packet(SizeByte(0), nullptr, src->get_id(), dest->get_id());
2525
EXPECT_TRUE(check_reachability(src, packet_to_dest));
2626
}
2727
}

test/simulator/start_test.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ TEST_F(Start, TrivialTopology) {
2424

2525
constexpr Time delay_between_packets = 100;
2626
constexpr Time stop_time = 1000;
27-
constexpr SizeByte packet_size = 1024;
27+
constexpr SizeByte packet_size = SizeByte(1024);
2828
constexpr std::uint32_t packets_to_send = 1;
2929

3030
Id id = "flow";
@@ -64,7 +64,7 @@ TEST_F(Start, ThreeToOneTopology) {
6464

6565
constexpr Time delay_between_packets = 100;
6666
constexpr Time stop_time = 10000;
67-
constexpr SizeByte packet_size = 1024;
67+
constexpr SizeByte packet_size = SizeByte(1024);
6868
constexpr std::uint32_t packets_to_send_by_flow1 = 10;
6969
constexpr std::uint32_t packets_to_send_by_flow2 = 50;
7070
constexpr std::uint32_t packets_to_send_by_flow3 = 100;
@@ -118,7 +118,7 @@ TEST_F(Start, StopTime) {
118118

119119
constexpr Time delay_between_packets = 100;
120120
constexpr Time stop_time = 1000;
121-
constexpr SizeByte packet_size = 1024;
121+
constexpr SizeByte packet_size = SizeByte(1024);
122122
constexpr std::uint32_t packets_to_send_by_flow1 = 10;
123123
constexpr std::uint32_t packets_to_send_by_flow2 = 50;
124124
constexpr std::uint32_t packets_to_send_by_flow3 = 100;

test/switch/link_mock.cpp

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -25,10 +25,12 @@ std::vector<sim::Packet> LinkMock::get_arrived_packets() const {
2525
return m_arrived_packets;
2626
}
2727

28-
SizeByte LinkMock::get_from_egress_queue_size() const { return 0; }
29-
SizeByte LinkMock::get_max_from_egress_buffer_size() const { return 4096; }
28+
SizeByte LinkMock::get_from_egress_queue_size() const { return SizeByte(0); }
29+
SizeByte LinkMock::get_max_from_egress_buffer_size() const {
30+
return SizeByte(4096);
31+
}
3032

31-
SizeByte LinkMock::get_to_ingress_queue_size() const { return 0; }
32-
SizeByte LinkMock::get_max_to_ingress_queue_size() const { return 0; }
33+
SizeByte LinkMock::get_to_ingress_queue_size() const { return SizeByte(0); }
34+
SizeByte LinkMock::get_max_to_ingress_queue_size() const { return SizeByte(0); }
3335

3436
Id LinkMock::get_id() const { return ""; }

test/switch/test_switch.cpp

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ TEST_F(TestSwitch, test_no_destination_route) {
8080
auto switch_device = std::make_shared<sim::Switch>("");
8181
auto receiver = std::make_shared<HostMock>();
8282
FlowMock flow(receiver);
83-
sim::Packet packet(0, &flow);
83+
sim::Packet packet(SizeByte(0), &flow);
8484

8585
std::shared_ptr<sim::IDevice> null_device(nullptr);
8686
std::shared_ptr<LinkMock> switch_inlink =
@@ -117,16 +117,15 @@ void test_senders(size_t senders_count) {
117117
// create packets
118118
std::vector<sim::Packet> packets(senders_count);
119119
for (size_t i = 0; i < senders_count; i++) {
120-
packets[i] = sim::Packet(i, &flows[i], "",
120+
packets[i] = sim::Packet(SizeByte(i), &flows[i], "",
121121
flows[i].get_receiver()->get_id());
122122
}
123123

124124
// create links
125125
std::vector<std::shared_ptr<LinkMock> > links;
126126
links.reserve(senders_count);
127127

128-
std::shared_ptr<sim::IDevice> device_mock =
129-
std::make_shared<HostMock>();
128+
std::shared_ptr<sim::IDevice> device_mock = std::make_shared<HostMock>();
130129
for (size_t i = 0; i < senders_count; i++) {
131130
links.push_back(std::make_shared<LinkMock>(device_mock, switch_device));
132131
}

0 commit comments

Comments
 (0)