修复扩展驱动测试用例失败

Signed-off-by: lixinsheng2 <lixinsheng2@huawei.com>
This commit is contained in:
lixinsheng2 2024-01-10 22:44:35 +08:00
parent ce3f536b77
commit 4b456e80a4

View File

@ -42,6 +42,23 @@ public:
}
};
static void clearDeviceMap(ExtDeviceManager &instance)
{
unordered_map<BusType, unordered_map<uint64_t, shared_ptr<Device>>> map;
instance.deviceMap_ = map;
}
static size_t getDeviceNum(unordered_map<uint64_t, shared_ptr<Device>> map)
{
size_t num = 0;
for (auto &[_, device] : map) {
if (!device->IsUnRegisted()) {
num++;
}
}
return num;
}
HWTEST_F(DeviceManagerTest, SUB_Driver_Ext_DevManager_0300, TestSize.Level1)
{
BusExtensionCore &core = BusExtensionCore::GetInstance();
@ -60,22 +77,25 @@ HWTEST_F(DeviceManagerTest, SUB_Driver_Ext_DevManager_0600, TestSize.Level1)
// test OnDeviceAdd and OnDeviceRemove
HWTEST_F(DeviceManagerTest, SUB_Driver_Ext_DevManager_0800, TestSize.Level1)
{
ExtDeviceManager &extMgr = ExtDeviceManager::GetInstance();
clearDeviceMap(extMgr);
std::shared_ptr<DevChangeCallback> callback = std::make_shared<DevChangeCallback>();
std::shared_ptr<DeviceInfo> device = std::make_shared<DeviceInfo>(0);
device->devInfo_.devBusInfo.busType = BusType::BUS_TYPE_TEST;
device->devInfo_.devBusInfo.busDeviceId = 1;
int32_t ret = callback->OnDeviceAdd(device);
ASSERT_EQ(ret, EDM_OK);
ExtDeviceManager &extMgr = ExtDeviceManager::GetInstance();
ASSERT_EQ(extMgr.deviceMap_[BusType::BUS_TYPE_TEST].size(), 1);
ASSERT_EQ(getDeviceNum(extMgr.deviceMap_[BusType::BUS_TYPE_TEST]), 1);
ret = callback->OnDeviceRemove(device);
ASSERT_EQ(ret, EDM_OK);
ASSERT_EQ(extMgr.deviceMap_[BusType::BUS_TYPE_TEST].size(), 0);
ASSERT_EQ(getDeviceNum(extMgr.deviceMap_[BusType::BUS_TYPE_TEST]), 0);
}
// test adding device repeatedly
HWTEST_F(DeviceManagerTest, SUB_Driver_Ext_DevManager_0900, TestSize.Level1)
{
ExtDeviceManager &extMgr = ExtDeviceManager::GetInstance();
clearDeviceMap(extMgr);
std::shared_ptr<DevChangeCallback> callback = std::make_shared<DevChangeCallback>();
std::shared_ptr<DeviceInfo> device = std::make_shared<DeviceInfo>(0);
device->devInfo_.devBusInfo.busType = BusType::BUS_TYPE_TEST;
@ -84,17 +104,18 @@ HWTEST_F(DeviceManagerTest, SUB_Driver_Ext_DevManager_0900, TestSize.Level1)
ASSERT_EQ(ret, EDM_OK);
ret = callback->OnDeviceAdd(device);
ASSERT_EQ(ret, EDM_OK);
ExtDeviceManager &extMgr = ExtDeviceManager::GetInstance();
ASSERT_EQ(extMgr.deviceMap_[BusType::BUS_TYPE_TEST].size(), 1);
ASSERT_EQ(getDeviceNum(extMgr.deviceMap_[BusType::BUS_TYPE_TEST]), 1);
ret = callback->OnDeviceRemove(device);
ASSERT_EQ(ret, EDM_OK);
ASSERT_EQ(extMgr.deviceMap_[BusType::BUS_TYPE_TEST].size(), 0);
ASSERT_EQ(getDeviceNum(extMgr.deviceMap_[BusType::BUS_TYPE_TEST]), 0);
ret = callback->OnDeviceRemove(device);
ASSERT_EQ(ret, EDM_OK);
}
HWTEST_F(DeviceManagerTest, SUB_Driver_Ext_DevManager_1000, TestSize.Level1)
{
ExtDeviceManager &extMgr = ExtDeviceManager::GetInstance();
clearDeviceMap(extMgr);
std::shared_ptr<DevChangeCallback> callback = std::make_shared<DevChangeCallback>();
std::shared_ptr<DeviceInfo> device0 = std::make_shared<DeviceInfo>(0);
device0->devInfo_.devBusInfo.busType = BusType::BUS_TYPE_TEST;
@ -106,19 +127,19 @@ HWTEST_F(DeviceManagerTest, SUB_Driver_Ext_DevManager_1000, TestSize.Level1)
device1->devInfo_.devBusInfo.busDeviceId = 2;
ret = callback->OnDeviceAdd(device1);
ASSERT_EQ(ret, EDM_OK);
ExtDeviceManager &extMgr = ExtDeviceManager::GetInstance();
ASSERT_EQ(extMgr.deviceMap_[BusType::BUS_TYPE_TEST].size(), 2);
ASSERT_EQ(getDeviceNum(extMgr.deviceMap_[BusType::BUS_TYPE_TEST]), 2);
ret = callback->OnDeviceRemove(device1);
ASSERT_EQ(ret, EDM_OK);
ASSERT_EQ(extMgr.deviceMap_[BusType::BUS_TYPE_TEST].size(), 1);
ASSERT_EQ(getDeviceNum(extMgr.deviceMap_[BusType::BUS_TYPE_TEST]), 1);
ret = callback->OnDeviceRemove(device0);
ASSERT_EQ(ret, EDM_OK);
ASSERT_EQ(extMgr.deviceMap_[BusType::BUS_TYPE_TEST].size(), 0);
ASSERT_EQ(getDeviceNum(extMgr.deviceMap_[BusType::BUS_TYPE_TEST]), 0);
}
HWTEST_F(DeviceManagerTest, SUB_Driver_Ext_DevManager_1300, TestSize.Level1)
{
ExtDeviceManager &extMgr = ExtDeviceManager::GetInstance();
clearDeviceMap(extMgr);
std::vector<std::shared_ptr<DeviceInfo>> devVec = extMgr.QueryDevice(BUS_TYPE_TEST);
ASSERT_EQ(devVec.size(), 0);
std::shared_ptr<DevChangeCallback> callback = std::make_shared<DevChangeCallback>();
@ -136,7 +157,7 @@ HWTEST_F(DeviceManagerTest, SUB_Driver_Ext_DevManager_1300, TestSize.Level1)
ASSERT_EQ(devVec.size(), 2);
ret = callback->OnDeviceRemove(device0);
ret = callback->OnDeviceRemove(device1);
ASSERT_EQ(extMgr.deviceMap_[BusType::BUS_TYPE_TEST].size(), 0);
ASSERT_EQ(getDeviceNum(extMgr.deviceMap_[BusType::BUS_TYPE_TEST]), 0);
}
HWTEST_F(DeviceManagerTest, SUB_Driver_Ext_DevManager_0500, TestSize.Level1)