[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(AnalogInSimTests, TestAnalogInInitialization) {
status = 0;
portHandle = 8000;
gTestAnalogInCallbackName = "Unset";
analogInHandle = HAL_InitializeAnalogInputPort(portHandle, &status);
analogInHandle = HAL_InitializeAnalogInputPort(portHandle, nullptr, &status);
EXPECT_EQ(HAL_kInvalidHandle, analogInHandle);
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", gTestAnalogInCallbackName.c_str());
// Successful setup
status = 0;
portHandle = HAL_GetPort(INDEX_TO_TEST);
gTestAnalogInCallbackName = "Unset";
analogInHandle = HAL_InitializeAnalogInputPort(portHandle, &status);
analogInHandle = HAL_InitializeAnalogInputPort(portHandle, nullptr, &status);
EXPECT_TRUE(HAL_kInvalidHandle != analogInHandle);
EXPECT_EQ(0, status);
EXPECT_STREQ("Initialized", gTestAnalogInCallbackName.c_str());
@@ -54,8 +56,10 @@ TEST(AnalogInSimTests, TestAnalogInInitialization) {
status = 0;
portHandle = HAL_GetPort(INDEX_TO_TEST);
gTestAnalogInCallbackName = "Unset";
analogInHandle = HAL_InitializeAnalogInputPort(portHandle, &status);
analogInHandle = HAL_InitializeAnalogInputPort(portHandle, nullptr, &status);
EXPECT_EQ(HAL_kInvalidHandle, analogInHandle);
EXPECT_EQ(HAL_USE_LAST_ERROR, status);
HAL_GetLastError(&status);
EXPECT_EQ(RESOURCE_IS_ALLOCATED, status);
EXPECT_STREQ("Unset", gTestAnalogInCallbackName.c_str());
@@ -69,7 +73,7 @@ TEST(AnalogInSimTests, TestAnalogInInitialization) {
status = 0;
portHandle = HAL_GetPort(INDEX_TO_TEST);
gTestAnalogInCallbackName = "Unset";
analogInHandle = HAL_InitializeAnalogInputPort(portHandle, &status);
analogInHandle = HAL_InitializeAnalogInputPort(portHandle, nullptr, &status);
EXPECT_TRUE(HAL_kInvalidHandle != analogInHandle);
EXPECT_EQ(0, status);
EXPECT_STREQ("Initialized", gTestAnalogInCallbackName.c_str());

View File

@@ -36,16 +36,20 @@ TEST(AnalogOutSimTests, TestAnalogOutInitialization) {
status = 0;
portHandle = 8000;
gTestAnalogOutCallbackName = "Unset";
analogOutHandle = HAL_InitializeAnalogOutputPort(portHandle, &status);
analogOutHandle =
HAL_InitializeAnalogOutputPort(portHandle, nullptr, &status);
EXPECT_EQ(HAL_kInvalidHandle, analogOutHandle);
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", gTestAnalogOutCallbackName.c_str());
// Successful setup
status = 0;
portHandle = HAL_GetPort(INDEX_TO_TEST);
gTestAnalogOutCallbackName = "Unset";
analogOutHandle = HAL_InitializeAnalogOutputPort(portHandle, &status);
analogOutHandle =
HAL_InitializeAnalogOutputPort(portHandle, nullptr, &status);
EXPECT_TRUE(HAL_kInvalidHandle != analogOutHandle);
EXPECT_EQ(0, status);
EXPECT_STREQ("Initialized", gTestAnalogOutCallbackName.c_str());
@@ -54,8 +58,11 @@ TEST(AnalogOutSimTests, TestAnalogOutInitialization) {
status = 0;
portHandle = HAL_GetPort(INDEX_TO_TEST);
gTestAnalogOutCallbackName = "Unset";
analogOutHandle = HAL_InitializeAnalogOutputPort(portHandle, &status);
analogOutHandle =
HAL_InitializeAnalogOutputPort(portHandle, nullptr, &status);
EXPECT_EQ(HAL_kInvalidHandle, analogOutHandle);
EXPECT_EQ(HAL_USE_LAST_ERROR, status);
HAL_GetLastError(&status);
EXPECT_EQ(RESOURCE_IS_ALLOCATED, status);
EXPECT_STREQ("Unset", gTestAnalogOutCallbackName.c_str());
@@ -69,7 +76,8 @@ TEST(AnalogOutSimTests, TestAnalogOutInitialization) {
status = 0;
portHandle = HAL_GetPort(INDEX_TO_TEST);
gTestAnalogOutCallbackName = "Unset";
analogOutHandle = HAL_InitializeAnalogOutputPort(portHandle, &status);
analogOutHandle =
HAL_InitializeAnalogOutputPort(portHandle, nullptr, &status);
EXPECT_TRUE(HAL_kInvalidHandle != analogOutHandle);
EXPECT_EQ(0, status);
EXPECT_STREQ("Initialized", gTestAnalogOutCallbackName.c_str());

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());

View File

@@ -35,16 +35,18 @@ TEST(PWMSimTests, TestPwmInitialization) {
status = 0;
portHandle = 8000;
gTestPwmCallbackName = "Unset";
pwmHandle = HAL_InitializePWMPort(portHandle, &status);
pwmHandle = HAL_InitializePWMPort(portHandle, nullptr, &status);
EXPECT_EQ(HAL_kInvalidHandle, pwmHandle);
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", gTestPwmCallbackName.c_str());
// Successful setup
status = 0;
portHandle = HAL_GetPort(INDEX_TO_TEST);
gTestPwmCallbackName = "Unset";
pwmHandle = HAL_InitializePWMPort(portHandle, &status);
pwmHandle = HAL_InitializePWMPort(portHandle, nullptr, &status);
EXPECT_TRUE(HAL_kInvalidHandle != pwmHandle);
EXPECT_EQ(0, status);
EXPECT_STREQ("Initialized", gTestPwmCallbackName.c_str());
@@ -53,8 +55,10 @@ TEST(PWMSimTests, TestPwmInitialization) {
status = 0;
portHandle = HAL_GetPort(INDEX_TO_TEST);
gTestPwmCallbackName = "Unset";
pwmHandle = HAL_InitializePWMPort(portHandle, &status);
pwmHandle = HAL_InitializePWMPort(portHandle, nullptr, &status);
EXPECT_EQ(HAL_kInvalidHandle, pwmHandle);
EXPECT_EQ(HAL_USE_LAST_ERROR, status);
HAL_GetLastError(&status);
EXPECT_EQ(RESOURCE_IS_ALLOCATED, status);
EXPECT_STREQ("Unset", gTestPwmCallbackName.c_str());
@@ -67,7 +71,7 @@ TEST(PWMSimTests, TestPwmInitialization) {
status = 0;
portHandle = HAL_GetPort(INDEX_TO_TEST);
gTestPwmCallbackName = "Unset";
pwmHandle = HAL_InitializePWMPort(portHandle, &status);
pwmHandle = HAL_InitializePWMPort(portHandle, nullptr, &status);
EXPECT_TRUE(HAL_kInvalidHandle != pwmHandle);
EXPECT_EQ(0, status);
EXPECT_STREQ("Initialized", gTestPwmCallbackName.c_str());

View File

@@ -35,16 +35,18 @@ TEST(RelaySimTests, TestRelayInitialization) {
status = 0;
portHandle = 8000;
gTestRelayCallbackName = "Unset";
pdpHandle = HAL_InitializeRelayPort(portHandle, true, &status);
pdpHandle = HAL_InitializeRelayPort(portHandle, true, nullptr, &status);
EXPECT_EQ(HAL_kInvalidHandle, pdpHandle);
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", gTestRelayCallbackName.c_str());
// Successful setup
status = 0;
portHandle = HAL_GetPort(INDEX_TO_TEST);
gTestRelayCallbackName = "Unset";
pdpHandle = HAL_InitializeRelayPort(portHandle, true, &status);
pdpHandle = HAL_InitializeRelayPort(portHandle, true, nullptr, &status);
EXPECT_TRUE(HAL_kInvalidHandle != pdpHandle);
EXPECT_EQ(0, status);
EXPECT_STREQ("InitializedForward", gTestRelayCallbackName.c_str());
@@ -53,8 +55,10 @@ TEST(RelaySimTests, TestRelayInitialization) {
status = 0;
portHandle = HAL_GetPort(INDEX_TO_TEST);
gTestRelayCallbackName = "Unset";
pdpHandle = HAL_InitializeRelayPort(portHandle, true, &status);
pdpHandle = HAL_InitializeRelayPort(portHandle, true, nullptr, &status);
EXPECT_EQ(HAL_kInvalidHandle, pdpHandle);
EXPECT_EQ(HAL_USE_LAST_ERROR, status);
HAL_GetLastError(&status);
EXPECT_EQ(RESOURCE_IS_ALLOCATED, status);
EXPECT_STREQ("Unset", gTestRelayCallbackName.c_str());
@@ -67,7 +71,7 @@ TEST(RelaySimTests, TestRelayInitialization) {
status = 0;
portHandle = HAL_GetPort(INDEX_TO_TEST);
gTestRelayCallbackName = "Unset";
pdpHandle = HAL_InitializeRelayPort(portHandle, true, &status);
pdpHandle = HAL_InitializeRelayPort(portHandle, true, nullptr, &status);
EXPECT_TRUE(HAL_kInvalidHandle != pdpHandle);
EXPECT_EQ(0, status);
EXPECT_STREQ("InitializedForward", gTestRelayCallbackName.c_str());