Skip to content

Commit 4e18bb3

Browse files
committed
Combine 4 TEST() into 1
Signed-off-by: Jiahua Wang <jiahua.wang@broadcom.com>
1 parent 84b8dbd commit 4e18bb3

1 file changed

Lines changed: 29 additions & 207 deletions

File tree

unittest/syncd/TestMdioIpcServer.cpp

Lines changed: 29 additions & 207 deletions
Original file line numberDiff line numberDiff line change
@@ -97,14 +97,14 @@ static sai_status_t MockMdioCl22Write(
9797
return SAI_STATUS_SUCCESS;
9898
}
9999

100-
#if 0
101-
TEST(MdioIpcServer1, mdioRead1)
100+
TEST(MdioIpcServer, mdioAccess)
102101
{
103-
std::shared_ptr<MockableSaiInterface> mdio_sai1(new MockableSaiInterface());
104-
mdio_sai1->mock_switchMdioRead = MockMdioRead;
105-
mdio_sai1->mock_switchMdioWrite = MockMdioWrite;
106-
mdio_sai1->mock_switchMdioCl22Read = MockMdioCl22Read;
107-
mdio_sai1->mock_switchMdioCl22Write = MockMdioCl22Write;
102+
SWSS_LOG_ENTER();
103+
std::shared_ptr<MockableSaiInterface> mdio_sai(new MockableSaiInterface());
104+
mdio_sai->mock_switchMdioRead = MockMdioRead;
105+
mdio_sai->mock_switchMdioWrite = MockMdioWrite;
106+
mdio_sai->mock_switchMdioCl22Read = MockMdioCl22Read;
107+
mdio_sai->mock_switchMdioCl22Write = MockMdioCl22Write;
108108
char path[64];
109109
strcpy(path, SYNCD_IPC_SOCK_SYNCD);
110110
if (open(path, O_DIRECTORY) < 0)
@@ -115,241 +115,63 @@ TEST(MdioIpcServer1, mdioRead1)
115115
SWSS_LOG_WARN("Can not create directory %s", SYNCD_IPC_SOCK_SYNCD);
116116
}
117117
}
118-
mdioDevRegValMap.clear();
119-
std::shared_ptr<MdioIpcServer> mdio_server1(new MdioIpcServer(mdio_sai1, 0));
120-
mdio_server1->setIpcTestMode();
121-
mdio_server1->setSwitchId(0x21000000000000);
122-
mdio_server1->startMdioThread();
118+
std::shared_ptr<MdioIpcServer> mdio_server(new MdioIpcServer(mdio_sai, 0));
119+
mdio_server->setIpcTestMode();
120+
mdio_server->setSwitchId(0x21000000000000);
121+
mdio_server->startMdioThread();
123122
sleep(1);
123+
124+
uint32_t data;
125+
uint64_t key;
124126
sai_status_t rc;
125-
uint32_t data = 0;
126-
uint64_t key = 0x4;
127+
128+
/* MDIO read */
129+
mdioDevRegValMap.clear();
130+
data = 0;
131+
key = 0x4;
127132
key <<= 32;
128133
key |= 0x1A;
129134
mdioDevRegValMap[key] = 0xC0DE;
130135
rc = mdio_read(0xF0F0F0F0F0F0F0F0, 0x4, 0x1A, 1, &data);
131136
SWSS_LOG_NOTICE("rc = %d, data = %x", rc, data);
132137
EXPECT_EQ(rc, SAI_STATUS_SUCCESS);
133138
EXPECT_EQ(data, 0xC0DE);
134-
mdio_server1->stopMdioThread();
135-
sleep(1);
136-
}
137139

138-
TEST(MdioIpcServer1, mdioWrite1)
139-
{
140-
std::shared_ptr<MockableSaiInterface> mdio_sai1(new MockableSaiInterface());
141-
mdio_sai1->mock_switchMdioRead = MockMdioRead;
142-
mdio_sai1->mock_switchMdioWrite = MockMdioWrite;
143-
mdio_sai1->mock_switchMdioCl22Read = MockMdioCl22Read;
144-
mdio_sai1->mock_switchMdioCl22Write = MockMdioCl22Write;
145-
char path[64];
146-
strcpy(path, SYNCD_IPC_SOCK_SYNCD);
147-
if (open(path, O_DIRECTORY) < 0)
148-
{
149-
SWSS_LOG_NOTICE("Directory %s does not exist", SYNCD_IPC_SOCK_SYNCD);
150-
if (mkdir(SYNCD_IPC_SOCK_SYNCD, 0755) < 0)
151-
{
152-
SWSS_LOG_WARN("Can not create directory %s", SYNCD_IPC_SOCK_SYNCD);
153-
}
154-
}
140+
/* MDIO write */
155141
mdioDevRegValMap.clear();
156-
std::shared_ptr<MdioIpcServer> mdio_server1(new MdioIpcServer(mdio_sai1, 0));
157-
mdio_server1->setIpcTestMode();
158-
mdio_server1->setSwitchId(0x21000000000000);
159-
mdio_server1->startMdioThread();
160-
sleep(1);
161-
sai_status_t rc;
162-
uint32_t data = 0xBEEF;
142+
data = 0xBEEF;
163143
rc = mdio_write(0xF0F0F0F0F0F0F0F0, 0x3, 0x1B, 1, &data);
164144
SWSS_LOG_NOTICE("rc = %d", rc);
165145
EXPECT_EQ(rc, SAI_STATUS_SUCCESS);
166-
uint64_t key = 0x3;
146+
key = 0x3;
167147
key <<= 32;
168148
key |= 0x1B;
169149
SWSS_LOG_NOTICE("reg = %x", mdioDevRegValMap[key]);
170150
EXPECT_EQ(mdioDevRegValMap[key], 0xBEEF);
171-
mdio_server1->stopMdioThread();
172-
sleep(1);
173-
}
174151

175-
TEST(MdioIpcServer1, mdioCl22Read1)
176-
{
177-
std::shared_ptr<MockableSaiInterface> mdio_sai1(new MockableSaiInterface());
178-
mdio_sai1->mock_switchMdioRead = MockMdioRead;
179-
mdio_sai1->mock_switchMdioWrite = MockMdioWrite;
180-
mdio_sai1->mock_switchMdioCl22Read = MockMdioCl22Read;
181-
mdio_sai1->mock_switchMdioCl22Write = MockMdioCl22Write;
182-
char path[64];
183-
strcpy(path, SYNCD_IPC_SOCK_SYNCD);
184-
if (open(path, O_DIRECTORY) < 0)
185-
{
186-
SWSS_LOG_NOTICE("Directory %s does not exist", SYNCD_IPC_SOCK_SYNCD);
187-
if (mkdir(SYNCD_IPC_SOCK_SYNCD, 0755) < 0)
188-
{
189-
SWSS_LOG_WARN("Can not create directory %s", SYNCD_IPC_SOCK_SYNCD);
190-
}
191-
}
152+
/* MDIO CL22 read */
192153
mdioDevCl22RegValMap.clear();
193-
std::shared_ptr<MdioIpcServer> mdio_server1(new MdioIpcServer(mdio_sai1, 0));
194-
mdio_server1->setIpcTestMode();
195-
mdio_server1->setSwitchId(0x21000000000000);
196-
mdio_server1->startMdioThread();
197-
sleep(1);
198-
sai_status_t rc;
199-
uint32_t data = 0x0;
200-
uint64_t key = 0x2;
154+
data = 0x0;
155+
key = 0x2;
201156
key <<= 32;
202157
key |= 0x1C;
203158
mdioDevCl22RegValMap[key] = 0xFEED;
204159
rc = mdio_read_cl22(0xF0F0F0F0F0F0F0F0, 0x2, 0x1C, 1, &data);
205160
SWSS_LOG_NOTICE("rc = %d, data = %x", rc, data);
206161
EXPECT_EQ(rc, SAI_STATUS_SUCCESS);
207162
EXPECT_EQ(data, 0xFEED);
208-
mdio_server1->stopMdioThread();
209-
sleep(1);
210-
}
211-
212-
TEST(MdioIpcServer1, mdioCl22Write1)
213-
{
214-
std::shared_ptr<MockableSaiInterface> mdio_sai1(new MockableSaiInterface());
215-
mdio_sai1->mock_switchMdioRead = MockMdioRead;
216-
mdio_sai1->mock_switchMdioWrite = MockMdioWrite;
217-
mdio_sai1->mock_switchMdioCl22Read = MockMdioCl22Read;
218-
mdio_sai1->mock_switchMdioCl22Write = MockMdioCl22Write;
219-
char path[64];
220-
strcpy(path, SYNCD_IPC_SOCK_SYNCD);
221-
if (open(path, O_DIRECTORY) < 0)
222-
{
223-
SWSS_LOG_NOTICE("Directory %s does not exist", SYNCD_IPC_SOCK_SYNCD);
224-
if (mkdir(SYNCD_IPC_SOCK_SYNCD, 0755) < 0)
225-
{
226-
SWSS_LOG_WARN("Can not create directory %s", SYNCD_IPC_SOCK_SYNCD);
227-
}
228-
}
229-
mdioDevCl22RegValMap.clear();
230-
std::shared_ptr<MdioIpcServer> mdio_server1(new MdioIpcServer(mdio_sai1, 0));
231-
mdio_server1->setIpcTestMode();
232-
mdio_server1->setSwitchId(0x21000000000000);
233-
mdio_server1->startMdioThread();
234-
sleep(1);
235-
sai_status_t rc;
236-
uint32_t data = 0xCAFE;
237-
rc = mdio_write_cl22(0xF0F0F0F0F0F0F0F0, 0x1, 0x1D, 1, &data);
238-
SWSS_LOG_NOTICE("rc = %d", rc);
239-
EXPECT_EQ(rc, SAI_STATUS_SUCCESS);
240-
uint64_t key = 0x1;
241-
key <<= 32;
242-
key |= 0x1D;
243-
SWSS_LOG_NOTICE("cl22 reg = %x", mdioDevCl22RegValMap[key]);
244-
EXPECT_EQ(mdioDevCl22RegValMap[key], 0xCAFE);
245-
mdio_server1->stopMdioThread();
246-
sleep(1);
247-
}
248-
#endif
249-
250-
class MdioIpcServerTest : public ::testing::Test
251-
{
252-
public:
253-
MdioIpcServerTest() = default;
254-
virtual ~MdioIpcServerTest() = default;
255-
256-
public:
257-
virtual void SetUp() override
258-
{
259-
char path[64];
260-
strcpy(path, SYNCD_IPC_SOCK_SYNCD);
261-
if (open(path, O_DIRECTORY) < 0)
262-
{
263-
SWSS_LOG_NOTICE("Directory %s does not exist", SYNCD_IPC_SOCK_SYNCD);
264-
if (mkdir(SYNCD_IPC_SOCK_SYNCD, 0755) < 0)
265-
{
266-
SWSS_LOG_WARN("Can not create directory %s", SYNCD_IPC_SOCK_SYNCD);
267-
}
268-
}
269-
mdio_sai = std::make_shared<MockableSaiInterface>();
270-
mdio_sai->mock_switchMdioRead = MockMdioRead;
271-
mdio_sai->mock_switchMdioWrite = MockMdioWrite;
272-
mdio_sai->mock_switchMdioCl22Read = MockMdioCl22Read;
273-
mdio_sai->mock_switchMdioCl22Write = MockMdioCl22Write;
274-
mdio_server = std::make_shared<MdioIpcServer>(mdio_sai, 0);
275-
mdio_server->setIpcTestMode();
276-
mdio_server->setSwitchId(0x21000000000000);
277-
mdio_server->startMdioThread();
278-
279-
/* enough time for the server thread to finish setting up socket */
280-
sleep(1);
281-
}
282-
283-
virtual void TearDown() override
284-
{
285-
mdio_server->stopMdioThread();
286-
287-
/* enough time stop the server thread*/
288-
sleep(1);
289-
}
290-
291-
protected:
292-
std::shared_ptr<MockableSaiInterface> mdio_sai;
293-
std::shared_ptr<MdioIpcServer> mdio_server;
294163

295-
};
296-
297-
TEST_F(MdioIpcServerTest, mdioCl22Write)
298-
{
164+
/* MDIO CL22 write */
299165
mdioDevCl22RegValMap.clear();
300-
sai_status_t rc;
301-
uint32_t data = 0xCAFE;
166+
data = 0xCAFE;
302167
rc = mdio_write_cl22(0xF0F0F0F0F0F0F0F0, 0x1, 0x1D, 1, &data);
303168
SWSS_LOG_NOTICE("rc = %d", rc);
304169
EXPECT_EQ(rc, SAI_STATUS_SUCCESS);
305-
uint64_t key = 0x1;
170+
key = 0x1;
306171
key <<= 32;
307172
key |= 0x1D;
308173
SWSS_LOG_NOTICE("cl22 reg = %x", mdioDevCl22RegValMap[key]);
309174
EXPECT_EQ(mdioDevCl22RegValMap[key], 0xCAFE);
310-
}
311-
312-
TEST_F(MdioIpcServerTest, mdioCl22Read)
313-
{
314-
mdioDevCl22RegValMap.clear();
315-
sai_status_t rc;
316-
uint32_t data = 0x0;
317-
uint64_t key = 0x2;
318-
key <<= 32;
319-
key |= 0x1C;
320-
mdioDevCl22RegValMap[key] = 0xFEED;
321-
rc = mdio_read_cl22(0xF0F0F0F0F0F0F0F0, 0x2, 0x1C, 1, &data);
322-
SWSS_LOG_NOTICE("rc = %d, data = %x", rc, data);
323-
EXPECT_EQ(rc, SAI_STATUS_SUCCESS);
324-
EXPECT_EQ(data, 0xFEED);
325-
}
326-
327-
TEST_F(MdioIpcServerTest, mdioWrite)
328-
{
329-
mdioDevRegValMap.clear();
330-
sai_status_t rc;
331-
uint32_t data = 0xBEEF;
332-
rc = mdio_write(0xF0F0F0F0F0F0F0F0, 0x3, 0x1B, 1, &data);
333-
SWSS_LOG_NOTICE("rc = %d", rc);
334-
EXPECT_EQ(rc, SAI_STATUS_SUCCESS);
335-
uint64_t key = 0x3;
336-
key <<= 32;
337-
key |= 0x1B;
338-
SWSS_LOG_NOTICE("reg = %x", mdioDevRegValMap[key]);
339-
EXPECT_EQ(mdioDevRegValMap[key], 0xBEEF);
340-
}
341175

342-
TEST_F(MdioIpcServerTest, mdioRead)
343-
{
344-
mdioDevRegValMap.clear();
345-
sai_status_t rc;
346-
uint32_t data = 0;
347-
uint64_t key = 0x4;
348-
key <<= 32;
349-
key |= 0x1A;
350-
mdioDevRegValMap[key] = 0xC0DE;
351-
rc = mdio_read(0xF0F0F0F0F0F0F0F0, 0x4, 0x1A, 1, &data);
352-
SWSS_LOG_NOTICE("rc = %d, data = %x", rc, data);
353-
EXPECT_EQ(rc, SAI_STATUS_SUCCESS);
354-
EXPECT_EQ(data, 0xC0DE);
176+
mdio_server->stopMdioThread();
355177
}

0 commit comments

Comments
 (0)