SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed -pie")
SET(src ${CMAKE_SOURCE_DIR}/haltest/main.cpp
- ${CMAKE_SOURCE_DIR}/haltest/display.cpp)
+ ${CMAKE_SOURCE_DIR}/haltest/display.cpp
+ ${CMAKE_SOURCE_DIR}/haltest/battery.cpp)
ADD_EXECUTABLE(${PROJECT_NAME} ${src})
TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${gtest_LDFLAGS} ${gtest_pkgs_LDFLAGS} -ldl ${HALAPI_LIBRARY})
INSTALL(TARGETS ${PROJECT_NAME} DESTINATION /usr/bin/hal)
--- /dev/null
+#include <system_info.h>
+
+#include "haltest.h"
+#include "hal-battery.h"
+
+class BATTERY : public testing::Test {
+ protected:
+ void SetUp() override {
+ int ret;
+
+ ret = system_info_get_platform_bool(FEATURE_BATTERY, &battery_supported);
+ ASSERT_EQ(ret, SYSTEM_INFO_ERROR_NONE) << "Failed to get battery feature";
+ }
+
+ void TearDown() override {}
+
+ bool battery_supported;
+};
+
+// dummy
+static void __changed_cb(struct battery_info *info, void *data) {}
+
+TEST_F(BATTERY, GetBackendP)
+{
+ int ret;
+
+ if (!battery_supported) {
+ SKIP_MESSAGE("Battery not supported");
+ return;
+ }
+
+ ret = hal_device_battery_get_backend();
+ EXPECT_EQ(ret, 0) << "Failed to get battery device (" << ret << ")";
+}
+
+TEST_F(BATTERY, RegisterChangedEventP)
+{
+ int ret;
+
+ if (!battery_supported) {
+ SKIP_MESSAGE("Battery not supported");
+ return;
+ }
+
+ ret = hal_device_battery_register_changed_event(__changed_cb, NULL);
+ EXPECT_EQ(ret, 0) << "Failed to register changed callback";
+}
+
+TEST_F(BATTERY, UnregisterChangedEventP)
+{
+ int ret;
+
+ if (!battery_supported) {
+ SKIP_MESSAGE("Battery not supported");
+ return;
+ }
+
+ ret = hal_device_battery_register_changed_event(__changed_cb, NULL);
+ ASSERT_EQ(ret, 0) << "Failed to register changed callback";
+
+ if (ret == 0) {
+ ret = hal_device_battery_unregister_changed_event(__changed_cb);
+ EXPECT_EQ(ret, 0) << "Failed to unregister changed callback";
+ }
+}
+
+TEST_F(BATTERY, GetCurrentStateP)
+{
+ int ret;
+
+ if (!battery_supported) {
+ SKIP_MESSAGE("Battery not supported");
+ return;
+ }
+
+ ret = hal_device_battery_get_current_state(__changed_cb, NULL);
+ EXPECT_EQ(ret, 0) << "Failed to get current state";
+}