mirror of
https://github.com/wpilibsuite/allwpilib
synced 2026-06-20 00:51:42 +00:00
[hal] Report previous allocation location for indexed resource duplicates (#3322)
This commit is contained in:
@@ -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());
|
||||
|
||||
@@ -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());
|
||||
|
||||
@@ -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());
|
||||
|
||||
@@ -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());
|
||||
|
||||
@@ -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());
|
||||
|
||||
Reference in New Issue
Block a user