[hal] Report previous allocation location for indexed resource duplicates (#3322)

This commit is contained in:
Thad House
2021-05-01 10:28:30 -07:00
committed by GitHub
parent e338f9f190
commit 23d2326d1d
54 changed files with 573 additions and 251 deletions

View File

@@ -36,16 +36,18 @@ TEST(DigitalIoSimTests, TestDigitalIoInitialization) {
status = 0;
portHandle = 8000;
gTestDigitalIoCallbackName = "Unset";
digitalIoHandle = HAL_InitializeDIOPort(portHandle, true, &status);
digitalIoHandle = HAL_InitializeDIOPort(portHandle, true, nullptr, &status);
EXPECT_EQ(HAL_kInvalidHandle, digitalIoHandle);
EXPECT_EQ(PARAMETER_OUT_OF_RANGE, status);
EXPECT_EQ(HAL_USE_LAST_ERROR, status);
HAL_GetLastError(&status);
EXPECT_EQ(RESOURCE_OUT_OF_RANGE, status);
EXPECT_STREQ("Unset", gTestDigitalIoCallbackName.c_str());
// Successful setup
status = 0;
portHandle = HAL_GetPort(INDEX_TO_TEST);
gTestDigitalIoCallbackName = "Unset";
digitalIoHandle = HAL_InitializeDIOPort(portHandle, true, &status);
digitalIoHandle = HAL_InitializeDIOPort(portHandle, true, nullptr, &status);
EXPECT_TRUE(HAL_kInvalidHandle != digitalIoHandle);
EXPECT_EQ(0, status);
EXPECT_STREQ("Initialized", gTestDigitalIoCallbackName.c_str());
@@ -54,8 +56,10 @@ TEST(DigitalIoSimTests, TestDigitalIoInitialization) {
status = 0;
portHandle = HAL_GetPort(INDEX_TO_TEST);
gTestDigitalIoCallbackName = "Unset";
digitalIoHandle = HAL_InitializeDIOPort(portHandle, true, &status);
digitalIoHandle = HAL_InitializeDIOPort(portHandle, true, nullptr, &status);
EXPECT_EQ(HAL_kInvalidHandle, digitalIoHandle);
EXPECT_EQ(HAL_USE_LAST_ERROR, status);
HAL_GetLastError(&status);
EXPECT_EQ(RESOURCE_IS_ALLOCATED, status);
EXPECT_STREQ("Unset", gTestDigitalIoCallbackName.c_str());
@@ -69,7 +73,7 @@ TEST(DigitalIoSimTests, TestDigitalIoInitialization) {
status = 0;
portHandle = HAL_GetPort(INDEX_TO_TEST);
gTestDigitalIoCallbackName = "Unset";
digitalIoHandle = HAL_InitializeDIOPort(portHandle, true, &status);
digitalIoHandle = HAL_InitializeDIOPort(portHandle, true, nullptr, &status);
EXPECT_TRUE(HAL_kInvalidHandle != digitalIoHandle);
EXPECT_EQ(0, status);
EXPECT_STREQ("Initialized", gTestDigitalIoCallbackName.c_str());