mirror of
https://github.com/wpilibsuite/allwpilib
synced 2026-06-25 01:41:43 +00:00
[hal] Translate unit tests to catch2 (#9003)
This commit is contained in:
@@ -6,7 +6,7 @@
|
||||
|
||||
#include <string>
|
||||
|
||||
#include <gtest/gtest.h>
|
||||
#include <catch2/catch_test_macros.hpp>
|
||||
|
||||
#include "wpi/hal/AnalogInput.h"
|
||||
#include "wpi/hal/Errors.h"
|
||||
@@ -24,14 +24,14 @@ void TestAnalogInInitializationCallback(const char* name, void* param,
|
||||
gTestAnalogInCallbackValue = *value;
|
||||
}
|
||||
|
||||
TEST(AnalogInSimTest, AnalogInInitialization) {
|
||||
TEST_CASE("AnalogInSimTest AnalogInInitialization", "[hal][mockdata]") {
|
||||
const int INDEX_TO_TEST = 1;
|
||||
|
||||
int callbackParam = 0;
|
||||
int callbackId = HALSIM_RegisterAnalogInInitializedCallback(
|
||||
INDEX_TO_TEST, &TestAnalogInInitializationCallback, &callbackParam,
|
||||
false);
|
||||
ASSERT_TRUE(0 != callbackId);
|
||||
REQUIRE(0 != callbackId);
|
||||
|
||||
int32_t status = 0;
|
||||
int32_t channel = 0;
|
||||
@@ -41,31 +41,31 @@ TEST(AnalogInSimTest, AnalogInInitialization) {
|
||||
channel = 8000;
|
||||
gTestAnalogInCallbackName = "Unset";
|
||||
analogInHandle = HAL_InitializeAnalogInputPort(channel, nullptr, &status);
|
||||
EXPECT_EQ(HAL_INVALID_HANDLE, analogInHandle);
|
||||
EXPECT_EQ(HAL_USE_LAST_ERROR, status);
|
||||
CHECK(HAL_INVALID_HANDLE == analogInHandle);
|
||||
CHECK(HAL_USE_LAST_ERROR == status);
|
||||
HAL_GetLastError(&status);
|
||||
EXPECT_EQ(HAL_RESOURCE_OUT_OF_RANGE, status);
|
||||
EXPECT_STREQ("Unset", gTestAnalogInCallbackName.c_str());
|
||||
CHECK(HAL_RESOURCE_OUT_OF_RANGE == status);
|
||||
CHECK("Unset" == gTestAnalogInCallbackName);
|
||||
|
||||
// Successful setup
|
||||
status = 0;
|
||||
channel = INDEX_TO_TEST;
|
||||
gTestAnalogInCallbackName = "Unset";
|
||||
analogInHandle = HAL_InitializeAnalogInputPort(channel, nullptr, &status);
|
||||
EXPECT_TRUE(HAL_INVALID_HANDLE != analogInHandle);
|
||||
EXPECT_EQ(0, status);
|
||||
EXPECT_STREQ("Initialized", gTestAnalogInCallbackName.c_str());
|
||||
CHECK(HAL_INVALID_HANDLE != analogInHandle);
|
||||
CHECK(0 == status);
|
||||
CHECK("Initialized" == gTestAnalogInCallbackName);
|
||||
|
||||
// Double initialize... should fail
|
||||
status = 0;
|
||||
channel = INDEX_TO_TEST;
|
||||
gTestAnalogInCallbackName = "Unset";
|
||||
analogInHandle = HAL_InitializeAnalogInputPort(channel, nullptr, &status);
|
||||
EXPECT_EQ(HAL_INVALID_HANDLE, analogInHandle);
|
||||
EXPECT_EQ(HAL_USE_LAST_ERROR, status);
|
||||
CHECK(HAL_INVALID_HANDLE == analogInHandle);
|
||||
CHECK(HAL_USE_LAST_ERROR == status);
|
||||
HAL_GetLastError(&status);
|
||||
EXPECT_EQ(HAL_RESOURCE_IS_ALLOCATED, status);
|
||||
EXPECT_STREQ("Unset", gTestAnalogInCallbackName.c_str());
|
||||
CHECK(HAL_RESOURCE_IS_ALLOCATED == status);
|
||||
CHECK("Unset" == gTestAnalogInCallbackName);
|
||||
|
||||
// Reset, should allow you to re-register
|
||||
wpi::hal::HandleBase::ResetGlobalHandles();
|
||||
@@ -78,9 +78,9 @@ TEST(AnalogInSimTest, AnalogInInitialization) {
|
||||
channel = INDEX_TO_TEST;
|
||||
gTestAnalogInCallbackName = "Unset";
|
||||
analogInHandle = HAL_InitializeAnalogInputPort(channel, nullptr, &status);
|
||||
EXPECT_TRUE(HAL_INVALID_HANDLE != analogInHandle);
|
||||
EXPECT_EQ(0, status);
|
||||
EXPECT_STREQ("Initialized", gTestAnalogInCallbackName.c_str());
|
||||
CHECK(HAL_INVALID_HANDLE != analogInHandle);
|
||||
CHECK(0 == status);
|
||||
CHECK("Initialized" == gTestAnalogInCallbackName);
|
||||
HALSIM_CancelAnalogInInitializedCallback(INDEX_TO_TEST, callbackId);
|
||||
}
|
||||
} // namespace wpi::hal
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
|
||||
#include <string>
|
||||
|
||||
#include <gtest/gtest.h>
|
||||
#include <catch2/catch_test_macros.hpp>
|
||||
|
||||
#include "wpi/hal/DIO.h"
|
||||
#include "wpi/hal/Errors.h"
|
||||
@@ -24,14 +24,14 @@ void TestDigitalIoInitializationCallback(const char* name, void* param,
|
||||
gTestDigitalIoCallbackValue = *value;
|
||||
}
|
||||
|
||||
TEST(DigitalIoSimTest, DigitalIoInitialization) {
|
||||
TEST_CASE("DigitalIoSimTest DigitalIoInitialization", "[hal][mockdata]") {
|
||||
const int INDEX_TO_TEST = 3;
|
||||
|
||||
int callbackParam = 0;
|
||||
int callbackId = HALSIM_RegisterDIOInitializedCallback(
|
||||
INDEX_TO_TEST, &TestDigitalIoInitializationCallback, &callbackParam,
|
||||
false);
|
||||
ASSERT_TRUE(0 != callbackId);
|
||||
REQUIRE(0 != callbackId);
|
||||
|
||||
int32_t status = 0;
|
||||
int32_t channel = 0;
|
||||
@@ -41,31 +41,31 @@ TEST(DigitalIoSimTest, DigitalIoInitialization) {
|
||||
channel = 8000;
|
||||
gTestDigitalIoCallbackName = "Unset";
|
||||
digitalIoHandle = HAL_InitializeDIOPort(channel, true, nullptr, &status);
|
||||
EXPECT_EQ(HAL_INVALID_HANDLE, digitalIoHandle);
|
||||
EXPECT_EQ(HAL_USE_LAST_ERROR, status);
|
||||
CHECK(HAL_INVALID_HANDLE == digitalIoHandle);
|
||||
CHECK(HAL_USE_LAST_ERROR == status);
|
||||
HAL_GetLastError(&status);
|
||||
EXPECT_EQ(HAL_RESOURCE_OUT_OF_RANGE, status);
|
||||
EXPECT_STREQ("Unset", gTestDigitalIoCallbackName.c_str());
|
||||
CHECK(HAL_RESOURCE_OUT_OF_RANGE == status);
|
||||
CHECK("Unset" == gTestDigitalIoCallbackName);
|
||||
|
||||
// Successful setup
|
||||
status = 0;
|
||||
channel = INDEX_TO_TEST;
|
||||
gTestDigitalIoCallbackName = "Unset";
|
||||
digitalIoHandle = HAL_InitializeDIOPort(channel, true, nullptr, &status);
|
||||
EXPECT_TRUE(HAL_INVALID_HANDLE != digitalIoHandle);
|
||||
EXPECT_EQ(0, status);
|
||||
EXPECT_STREQ("Initialized", gTestDigitalIoCallbackName.c_str());
|
||||
CHECK(HAL_INVALID_HANDLE != digitalIoHandle);
|
||||
CHECK(0 == status);
|
||||
CHECK("Initialized" == gTestDigitalIoCallbackName);
|
||||
|
||||
// Double initialize... should fail
|
||||
status = 0;
|
||||
channel = INDEX_TO_TEST;
|
||||
gTestDigitalIoCallbackName = "Unset";
|
||||
digitalIoHandle = HAL_InitializeDIOPort(channel, true, nullptr, &status);
|
||||
EXPECT_EQ(HAL_INVALID_HANDLE, digitalIoHandle);
|
||||
EXPECT_EQ(HAL_USE_LAST_ERROR, status);
|
||||
CHECK(HAL_INVALID_HANDLE == digitalIoHandle);
|
||||
CHECK(HAL_USE_LAST_ERROR == status);
|
||||
HAL_GetLastError(&status);
|
||||
EXPECT_EQ(HAL_RESOURCE_IS_ALLOCATED, status);
|
||||
EXPECT_STREQ("Unset", gTestDigitalIoCallbackName.c_str());
|
||||
CHECK(HAL_RESOURCE_IS_ALLOCATED == status);
|
||||
CHECK("Unset" == gTestDigitalIoCallbackName);
|
||||
|
||||
// Reset, should allow you to re-register
|
||||
wpi::hal::HandleBase::ResetGlobalHandles();
|
||||
@@ -78,9 +78,9 @@ TEST(DigitalIoSimTest, DigitalIoInitialization) {
|
||||
channel = INDEX_TO_TEST;
|
||||
gTestDigitalIoCallbackName = "Unset";
|
||||
digitalIoHandle = HAL_InitializeDIOPort(channel, true, nullptr, &status);
|
||||
EXPECT_TRUE(HAL_INVALID_HANDLE != digitalIoHandle);
|
||||
EXPECT_EQ(0, status);
|
||||
EXPECT_STREQ("Initialized", gTestDigitalIoCallbackName.c_str());
|
||||
CHECK(HAL_INVALID_HANDLE != digitalIoHandle);
|
||||
CHECK(0 == status);
|
||||
CHECK("Initialized" == gTestDigitalIoCallbackName);
|
||||
HALSIM_CancelDIOInitializedCallback(INDEX_TO_TEST, callbackId);
|
||||
}
|
||||
|
||||
|
||||
@@ -6,14 +6,15 @@
|
||||
|
||||
#include <cstring>
|
||||
|
||||
#include <gtest/gtest.h>
|
||||
#include <catch2/catch_approx.hpp>
|
||||
#include <catch2/catch_test_macros.hpp>
|
||||
|
||||
#include "wpi/hal/DriverStation.h"
|
||||
#include "wpi/util/StringExtras.hpp"
|
||||
|
||||
namespace wpi::hal {
|
||||
|
||||
TEST(DriverStationTest, Joystick) {
|
||||
TEST_CASE("DriverStationTest Joystick", "[hal][mockdata]") {
|
||||
HAL_JoystickAxes axes;
|
||||
HAL_JoystickPOVs povs;
|
||||
HAL_JoystickButtons buttons;
|
||||
@@ -24,18 +25,18 @@ TEST(DriverStationTest, Joystick) {
|
||||
HAL_GetJoystickPOVs(joystickNum, &povs);
|
||||
HAL_GetJoystickButtons(joystickNum, &buttons);
|
||||
|
||||
EXPECT_EQ(0, axes.available);
|
||||
CHECK(0 == axes.available);
|
||||
for (int i = 0; i < HAL_MAX_JOYSTICK_AXES; ++i) {
|
||||
EXPECT_EQ(0, axes.axes[i]);
|
||||
CHECK(0 == axes.axes[i]);
|
||||
}
|
||||
|
||||
EXPECT_EQ(0, povs.available);
|
||||
CHECK(0 == povs.available);
|
||||
for (int i = 0; i < HAL_MAX_JOYSTICK_POVS; ++i) {
|
||||
EXPECT_EQ(0, povs.povs[i]);
|
||||
CHECK(0 == povs.povs[i]);
|
||||
}
|
||||
|
||||
EXPECT_EQ(0llu, buttons.available);
|
||||
EXPECT_EQ(0llu, buttons.buttons);
|
||||
CHECK(0llu == buttons.available);
|
||||
CHECK(0llu == buttons.buttons);
|
||||
}
|
||||
|
||||
HAL_JoystickAxes set_axes;
|
||||
@@ -72,26 +73,28 @@ TEST(DriverStationTest, Joystick) {
|
||||
HAL_GetJoystickPOVs(joystickUnderTest, &povs);
|
||||
HAL_GetJoystickButtons(joystickUnderTest, &buttons);
|
||||
|
||||
EXPECT_EQ(0x1F, axes.available);
|
||||
EXPECT_NEAR(0.000, axes.axes[0], 0.000001);
|
||||
EXPECT_NEAR(0.125, axes.axes[1], 0.000001);
|
||||
EXPECT_NEAR(0.250, axes.axes[2], 0.000001);
|
||||
EXPECT_NEAR(0.375, axes.axes[3], 0.000001);
|
||||
EXPECT_NEAR(0.500, axes.axes[4], 0.000001);
|
||||
EXPECT_NEAR(0, axes.axes[5], 0.000001); // Should not have been set, still 0
|
||||
EXPECT_NEAR(0, axes.axes[6], 0.000001); // Should not have been set, still 0
|
||||
CHECK(0x1F == axes.available);
|
||||
CHECK(axes.axes[0] == Catch::Approx(0.000).margin(0.000001));
|
||||
CHECK(axes.axes[1] == Catch::Approx(0.125).margin(0.000001));
|
||||
CHECK(axes.axes[2] == Catch::Approx(0.250).margin(0.000001));
|
||||
CHECK(axes.axes[3] == Catch::Approx(0.375).margin(0.000001));
|
||||
CHECK(axes.axes[4] == Catch::Approx(0.500).margin(0.000001));
|
||||
CHECK(axes.axes[5] == Catch::Approx(0).margin(
|
||||
0.000001)); // Should not have been set, still 0
|
||||
CHECK(axes.axes[6] == Catch::Approx(0).margin(
|
||||
0.000001)); // Should not have been set, still 0
|
||||
|
||||
EXPECT_EQ(0x7, povs.available);
|
||||
EXPECT_EQ(HAL_JOYSTICK_POV_UP, povs.povs[0]);
|
||||
EXPECT_EQ(HAL_JOYSTICK_POV_RIGHT, povs.povs[1]);
|
||||
EXPECT_EQ(HAL_JOYSTICK_POV_DOWN, povs.povs[2]);
|
||||
EXPECT_EQ(0, povs.povs[3]); // Should not have been set, still 0
|
||||
EXPECT_EQ(0, povs.povs[4]); // Should not have been set, still 0
|
||||
EXPECT_EQ(0, povs.povs[5]); // Should not have been set, still 0
|
||||
EXPECT_EQ(0, povs.povs[6]); // Should not have been set, still 0
|
||||
CHECK(0x7 == povs.available);
|
||||
CHECK(HAL_JOYSTICK_POV_UP == povs.povs[0]);
|
||||
CHECK(HAL_JOYSTICK_POV_RIGHT == povs.povs[1]);
|
||||
CHECK(HAL_JOYSTICK_POV_DOWN == povs.povs[2]);
|
||||
CHECK(0 == povs.povs[3]); // Should not have been set, still 0
|
||||
CHECK(0 == povs.povs[4]); // Should not have been set, still 0
|
||||
CHECK(0 == povs.povs[5]); // Should not have been set, still 0
|
||||
CHECK(0 == povs.povs[6]); // Should not have been set, still 0
|
||||
|
||||
EXPECT_EQ(0xFFllu, buttons.available);
|
||||
EXPECT_EQ(0xDEADBEEFllu, buttons.buttons);
|
||||
CHECK(0xFFllu == buttons.available);
|
||||
CHECK(0xDEADBEEFllu == buttons.buttons);
|
||||
|
||||
// Reset
|
||||
HALSIM_ResetDriverStationData();
|
||||
@@ -103,22 +106,22 @@ TEST(DriverStationTest, Joystick) {
|
||||
HAL_GetJoystickPOVs(joystickNum, &povs);
|
||||
HAL_GetJoystickButtons(joystickNum, &buttons);
|
||||
|
||||
EXPECT_EQ(0, axes.available);
|
||||
CHECK(0 == axes.available);
|
||||
for (int i = 0; i < HAL_MAX_JOYSTICK_AXES; ++i) {
|
||||
EXPECT_EQ(0, axes.axes[i]);
|
||||
CHECK(0 == axes.axes[i]);
|
||||
}
|
||||
|
||||
EXPECT_EQ(0, povs.available);
|
||||
CHECK(0 == povs.available);
|
||||
for (int i = 0; i < HAL_MAX_JOYSTICK_POVS; ++i) {
|
||||
EXPECT_EQ(0, povs.povs[i]);
|
||||
CHECK(0 == povs.povs[i]);
|
||||
}
|
||||
|
||||
EXPECT_EQ(0llu, buttons.available);
|
||||
EXPECT_EQ(0llu, buttons.buttons);
|
||||
CHECK(0llu == buttons.available);
|
||||
CHECK(0llu == buttons.buttons);
|
||||
}
|
||||
}
|
||||
|
||||
TEST(DriverStationTest, EventInfo) {
|
||||
TEST_CASE("DriverStationTest EventInfo", "[hal][mockdata]") {
|
||||
constexpr std::string_view eventName = "UnitTest";
|
||||
HAL_MatchInfo info;
|
||||
wpi::util::format_to_n_c_str(info.eventName, sizeof(info.eventName),
|
||||
@@ -133,10 +136,10 @@ TEST(DriverStationTest, EventInfo) {
|
||||
HAL_MatchInfo dataBack;
|
||||
HAL_GetMatchInfo(&dataBack);
|
||||
|
||||
EXPECT_EQ(eventName, dataBack.eventName);
|
||||
EXPECT_EQ(5, dataBack.matchNumber);
|
||||
EXPECT_EQ(HAL_MatchType::HAL_MATCH_TYPE_QUALIFICATION, dataBack.matchType);
|
||||
EXPECT_EQ(42, dataBack.replayNumber);
|
||||
CHECK(eventName == dataBack.eventName);
|
||||
CHECK(5 == dataBack.matchNumber);
|
||||
CHECK(HAL_MatchType::HAL_MATCH_TYPE_QUALIFICATION == dataBack.matchType);
|
||||
CHECK(42 == dataBack.replayNumber);
|
||||
}
|
||||
|
||||
} // namespace wpi::hal
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
|
||||
#include <string>
|
||||
|
||||
#include <gtest/gtest.h>
|
||||
#include <catch2/catch_test_macros.hpp>
|
||||
|
||||
#include "wpi/hal/I2C.h"
|
||||
|
||||
@@ -21,7 +21,7 @@ void TestI2CInitializationCallback(const char* name, void* param,
|
||||
gTestI2CCallbackValue = *value;
|
||||
}
|
||||
|
||||
TEST(I2CSimTest, I2CInitialization) {
|
||||
TEST_CASE("I2CSimTest I2CInitialization", "[hal][mockdata]") {
|
||||
const int INDEX_TO_TEST = 1;
|
||||
|
||||
int32_t status = 0;
|
||||
@@ -30,12 +30,12 @@ TEST(I2CSimTest, I2CInitialization) {
|
||||
int callbackParam = 0;
|
||||
int callbackId = HALSIM_RegisterI2CInitializedCallback(
|
||||
INDEX_TO_TEST, &TestI2CInitializationCallback, &callbackParam, false);
|
||||
ASSERT_TRUE(0 != callbackId);
|
||||
REQUIRE(0 != callbackId);
|
||||
|
||||
port = HAL_I2C_PORT_1;
|
||||
gTestI2CCallbackName = "Unset";
|
||||
HAL_InitializeI2C(port, &status);
|
||||
EXPECT_STREQ("Initialized", gTestI2CCallbackName.c_str());
|
||||
CHECK("Initialized" == gTestI2CCallbackName);
|
||||
}
|
||||
|
||||
} // namespace wpi::hal
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
|
||||
#include <string>
|
||||
|
||||
#include <gtest/gtest.h>
|
||||
#include <catch2/catch_test_macros.hpp>
|
||||
|
||||
#include "wpi/hal/CTREPCM.h"
|
||||
#include "wpi/hal/Errors.h"
|
||||
@@ -23,14 +23,14 @@ void TestSolenoidInitializationCallback(const char* name, void* param,
|
||||
gTestSolenoidCallbackValue = *value;
|
||||
}
|
||||
|
||||
TEST(PCMDataTest, PCMInitialization) {
|
||||
TEST_CASE("PCMDataTest PCMInitialization", "[hal][mockdata]") {
|
||||
const int MODULE_TO_TEST = 2;
|
||||
|
||||
int callbackParam = 0;
|
||||
int callbackId = HALSIM_RegisterCTREPCMInitializedCallback(
|
||||
MODULE_TO_TEST, &TestSolenoidInitializationCallback, &callbackParam,
|
||||
false);
|
||||
ASSERT_TRUE(0 != callbackId);
|
||||
REQUIRE(0 != callbackId);
|
||||
|
||||
int32_t status = 0;
|
||||
int32_t module;
|
||||
@@ -40,31 +40,31 @@ TEST(PCMDataTest, PCMInitialization) {
|
||||
module = 8000;
|
||||
gTestSolenoidCallbackName = "Unset";
|
||||
pcmHandle = HAL_InitializeCTREPCM(0, module, nullptr, &status);
|
||||
EXPECT_EQ(HAL_INVALID_HANDLE, pcmHandle);
|
||||
EXPECT_EQ(HAL_USE_LAST_ERROR, status);
|
||||
CHECK(HAL_INVALID_HANDLE == pcmHandle);
|
||||
CHECK(HAL_USE_LAST_ERROR == status);
|
||||
HAL_GetLastError(&status);
|
||||
EXPECT_EQ(HAL_RESOURCE_OUT_OF_RANGE, status);
|
||||
EXPECT_STREQ("Unset", gTestSolenoidCallbackName.c_str());
|
||||
CHECK(HAL_RESOURCE_OUT_OF_RANGE == status);
|
||||
CHECK("Unset" == gTestSolenoidCallbackName);
|
||||
|
||||
// Successful setup
|
||||
status = 0;
|
||||
module = MODULE_TO_TEST;
|
||||
gTestSolenoidCallbackName = "Unset";
|
||||
pcmHandle = HAL_InitializeCTREPCM(0, module, nullptr, &status);
|
||||
EXPECT_TRUE(HAL_INVALID_HANDLE != pcmHandle);
|
||||
EXPECT_EQ(0, status);
|
||||
EXPECT_STREQ("Initialized", gTestSolenoidCallbackName.c_str());
|
||||
CHECK(HAL_INVALID_HANDLE != pcmHandle);
|
||||
CHECK(0 == status);
|
||||
CHECK("Initialized" == gTestSolenoidCallbackName);
|
||||
|
||||
// Double initialize... should fail
|
||||
status = 0;
|
||||
module = MODULE_TO_TEST;
|
||||
gTestSolenoidCallbackName = "Unset";
|
||||
pcmHandle = HAL_InitializeCTREPCM(0, module, nullptr, &status);
|
||||
EXPECT_EQ(HAL_INVALID_HANDLE, pcmHandle);
|
||||
EXPECT_EQ(HAL_USE_LAST_ERROR, status);
|
||||
CHECK(HAL_INVALID_HANDLE == pcmHandle);
|
||||
CHECK(HAL_USE_LAST_ERROR == status);
|
||||
HAL_GetLastError(&status);
|
||||
EXPECT_EQ(HAL_RESOURCE_IS_ALLOCATED, status);
|
||||
EXPECT_STREQ("Unset", gTestSolenoidCallbackName.c_str());
|
||||
CHECK(HAL_RESOURCE_IS_ALLOCATED == status);
|
||||
CHECK("Unset" == gTestSolenoidCallbackName);
|
||||
|
||||
// Reset, should allow you to re-register
|
||||
wpi::hal::HandleBase::ResetGlobalHandles();
|
||||
@@ -72,15 +72,15 @@ TEST(PCMDataTest, PCMInitialization) {
|
||||
callbackId = HALSIM_RegisterCTREPCMInitializedCallback(
|
||||
MODULE_TO_TEST, &TestSolenoidInitializationCallback, &callbackParam,
|
||||
false);
|
||||
ASSERT_TRUE(0 != callbackId);
|
||||
REQUIRE(0 != callbackId);
|
||||
|
||||
status = 0;
|
||||
module = MODULE_TO_TEST;
|
||||
gTestSolenoidCallbackName = "Unset";
|
||||
pcmHandle = HAL_InitializeCTREPCM(0, module, nullptr, &status);
|
||||
EXPECT_TRUE(HAL_INVALID_HANDLE != pcmHandle);
|
||||
EXPECT_EQ(0, status);
|
||||
EXPECT_STREQ("Initialized", gTestSolenoidCallbackName.c_str());
|
||||
CHECK(HAL_INVALID_HANDLE != pcmHandle);
|
||||
CHECK(0 == status);
|
||||
CHECK("Initialized" == gTestSolenoidCallbackName);
|
||||
}
|
||||
|
||||
} // namespace wpi::hal
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
|
||||
#include <string>
|
||||
|
||||
#include <gtest/gtest.h>
|
||||
#include <catch2/catch_test_macros.hpp>
|
||||
|
||||
#include "wpi/hal/PowerDistribution.h"
|
||||
#include "wpi/hal/simulation/PowerDistributionData.h"
|
||||
@@ -20,13 +20,13 @@ void TestPdpInitializationCallback(const char* name, void* param,
|
||||
gTestPdpCallbackValue = *value;
|
||||
}
|
||||
|
||||
TEST(PdpSimTest, PdpInitialization) {
|
||||
TEST_CASE("PdpSimTest PdpInitialization", "[hal][mockdata]") {
|
||||
const int INDEX_TO_TEST = 1;
|
||||
|
||||
int callbackParam = 0;
|
||||
int callbackId = HALSIM_RegisterPowerDistributionInitializedCallback(
|
||||
INDEX_TO_TEST, &TestPdpInitializationCallback, &callbackParam, false);
|
||||
ASSERT_TRUE(0 != callbackId);
|
||||
REQUIRE(0 != callbackId);
|
||||
|
||||
int32_t status = 0;
|
||||
|
||||
@@ -34,8 +34,8 @@ TEST(PdpSimTest, PdpInitialization) {
|
||||
gTestPdpCallbackName = "Unset";
|
||||
HAL_InitializePowerDistribution(0, INDEX_TO_TEST, HAL_POWER_DISTRIBUTION_CTRE,
|
||||
nullptr, &status);
|
||||
EXPECT_EQ(0, status);
|
||||
EXPECT_STREQ("Initialized", gTestPdpCallbackName.c_str());
|
||||
CHECK(0 == status);
|
||||
CHECK("Initialized" == gTestPdpCallbackName);
|
||||
}
|
||||
|
||||
} // namespace wpi::hal
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
|
||||
#include <string>
|
||||
|
||||
#include <gtest/gtest.h>
|
||||
#include <catch2/catch_test_macros.hpp>
|
||||
|
||||
#include "wpi/hal/Errors.h"
|
||||
#include "wpi/hal/HAL.h"
|
||||
@@ -24,13 +24,13 @@ void TestPwmInitializationCallback(const char* name, void* param,
|
||||
gTestPwmCallbackValue = *value;
|
||||
}
|
||||
|
||||
TEST(PWMSimTest, PwmInitialization) {
|
||||
TEST_CASE("PWMSimTest PwmInitialization", "[hal][mockdata]") {
|
||||
const int INDEX_TO_TEST = 7;
|
||||
|
||||
int callbackParam = 0;
|
||||
int callbackId = HALSIM_RegisterPWMInitializedCallback(
|
||||
INDEX_TO_TEST, &TestPwmInitializationCallback, &callbackParam, false);
|
||||
ASSERT_TRUE(0 != callbackId);
|
||||
REQUIRE(0 != callbackId);
|
||||
|
||||
int32_t status = 0;
|
||||
int32_t channel = 0;
|
||||
@@ -40,31 +40,31 @@ TEST(PWMSimTest, PwmInitialization) {
|
||||
channel = 8000;
|
||||
gTestPwmCallbackName = "Unset";
|
||||
pwmHandle = HAL_InitializePWMPort(channel, nullptr, &status);
|
||||
EXPECT_EQ(HAL_INVALID_HANDLE, pwmHandle);
|
||||
EXPECT_EQ(HAL_USE_LAST_ERROR, status);
|
||||
CHECK(HAL_INVALID_HANDLE == pwmHandle);
|
||||
CHECK(HAL_USE_LAST_ERROR == status);
|
||||
HAL_GetLastError(&status);
|
||||
EXPECT_EQ(HAL_RESOURCE_OUT_OF_RANGE, status);
|
||||
EXPECT_STREQ("Unset", gTestPwmCallbackName.c_str());
|
||||
CHECK(HAL_RESOURCE_OUT_OF_RANGE == status);
|
||||
CHECK("Unset" == gTestPwmCallbackName);
|
||||
|
||||
// Successful setup
|
||||
status = 0;
|
||||
channel = INDEX_TO_TEST;
|
||||
gTestPwmCallbackName = "Unset";
|
||||
pwmHandle = HAL_InitializePWMPort(channel, nullptr, &status);
|
||||
EXPECT_TRUE(HAL_INVALID_HANDLE != pwmHandle);
|
||||
EXPECT_EQ(0, status);
|
||||
EXPECT_STREQ("Initialized", gTestPwmCallbackName.c_str());
|
||||
CHECK(HAL_INVALID_HANDLE != pwmHandle);
|
||||
CHECK(0 == status);
|
||||
CHECK("Initialized" == gTestPwmCallbackName);
|
||||
|
||||
// Double initialize... should fail
|
||||
status = 0;
|
||||
channel = INDEX_TO_TEST;
|
||||
gTestPwmCallbackName = "Unset";
|
||||
pwmHandle = HAL_InitializePWMPort(channel, nullptr, &status);
|
||||
EXPECT_EQ(HAL_INVALID_HANDLE, pwmHandle);
|
||||
EXPECT_EQ(HAL_USE_LAST_ERROR, status);
|
||||
CHECK(HAL_INVALID_HANDLE == pwmHandle);
|
||||
CHECK(HAL_USE_LAST_ERROR == status);
|
||||
HAL_GetLastError(&status);
|
||||
EXPECT_EQ(HAL_RESOURCE_IS_ALLOCATED, status);
|
||||
EXPECT_STREQ("Unset", gTestPwmCallbackName.c_str());
|
||||
CHECK(HAL_RESOURCE_IS_ALLOCATED == status);
|
||||
CHECK("Unset" == gTestPwmCallbackName);
|
||||
|
||||
// Reset, should allow you to re-register
|
||||
wpi::hal::HandleBase::ResetGlobalHandles();
|
||||
@@ -76,9 +76,9 @@ TEST(PWMSimTest, PwmInitialization) {
|
||||
channel = INDEX_TO_TEST;
|
||||
gTestPwmCallbackName = "Unset";
|
||||
pwmHandle = HAL_InitializePWMPort(channel, nullptr, &status);
|
||||
EXPECT_TRUE(HAL_INVALID_HANDLE != pwmHandle);
|
||||
EXPECT_EQ(0, status);
|
||||
EXPECT_STREQ("Initialized", gTestPwmCallbackName.c_str());
|
||||
CHECK(HAL_INVALID_HANDLE != pwmHandle);
|
||||
CHECK(0 == status);
|
||||
CHECK("Initialized" == gTestPwmCallbackName);
|
||||
HALSIM_CancelPWMInitializedCallback(INDEX_TO_TEST, callbackId);
|
||||
}
|
||||
} // namespace wpi::hal
|
||||
|
||||
@@ -4,21 +4,21 @@
|
||||
|
||||
#include "wpi/hal/simulation/SimDeviceData.h"
|
||||
|
||||
#include <gtest/gtest.h>
|
||||
#include <catch2/catch_test_macros.hpp>
|
||||
|
||||
#include "wpi/hal/SimDevice.h"
|
||||
|
||||
namespace wpi::hal {
|
||||
|
||||
TEST(SimDeviceSimTest, Enabled) {
|
||||
ASSERT_TRUE(HALSIM_IsSimDeviceEnabled("foo"));
|
||||
TEST_CASE("SimDeviceSimTest Enabled", "[hal][mockdata]") {
|
||||
REQUIRE(HALSIM_IsSimDeviceEnabled("foo"));
|
||||
HALSIM_SetSimDeviceEnabled("f", false);
|
||||
HALSIM_SetSimDeviceEnabled("foob", true);
|
||||
ASSERT_FALSE(HALSIM_IsSimDeviceEnabled("foo"));
|
||||
ASSERT_TRUE(HALSIM_IsSimDeviceEnabled("foobar"));
|
||||
ASSERT_TRUE(HALSIM_IsSimDeviceEnabled("bar"));
|
||||
REQUIRE_FALSE(HALSIM_IsSimDeviceEnabled("foo"));
|
||||
REQUIRE(HALSIM_IsSimDeviceEnabled("foobar"));
|
||||
REQUIRE(HALSIM_IsSimDeviceEnabled("bar"));
|
||||
|
||||
ASSERT_EQ(HAL_CreateSimDevice("foo"), 0);
|
||||
REQUIRE(HAL_CreateSimDevice("foo") == 0);
|
||||
}
|
||||
|
||||
} // namespace wpi::hal
|
||||
|
||||
Reference in New Issue
Block a user