* Copyright (c) 2022-2023 Huawei Device Co., Ltd.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#include <gtest/gtest.h>
#include <osal_mem.h>
#include <unistd.h>
#include "hdf_log.h"
#include "idevmgr_hdi.h"
#include "v1_0/ipartition_slot.h"
using namespace testing;
using namespace testing::ext;
using namespace OHOS::HDI::Partitionslot::V1_0;
using OHOS::HDI::DeviceManager::V1_0::IDeviceManager;
class StartupPartitionSlotTest : public testing::Test {
public:
static void SetUpTestCase()
{
auto devmgr = IDeviceManager::Get();
if (devmgr != nullptr) {
devmgr->LoadDevice("partition_slot_service");
} else {
std::cout << "Get devmgr failed" << std::endl;
}
}
static void TearDownTestCase()
{
auto devmgr = IDeviceManager::Get();
if (devmgr != nullptr) {
devmgr->UnloadDevice("partition_slot_service");
} else {
std::cout << "Get devmgr failed" << std::endl;
}
}
void SetUp() {}
void TearDown() {}
};
* @tc.number: StartupPartitionSlotTest_001
* @tc.name: testGetCurrentSlotFun001
* @tc.desc: NA
*/
HWTEST_F(StartupPartitionSlotTest, StartupPartitionSlotTest_001, Function | MediumTest | Level1) {
std::cout << "begin get currentslot by service" << std::endl;
int numOfSlots = 0;
int currentSlot = -1;
sptr<IPartitionSlot> partitionslot = IPartitionSlot::Get();
ASSERT_TRUE(partitionslot != nullptr);
ASSERT_TRUE(partitionslot->GetCurrentSlot(currentSlot, numOfSlots) == 0);
}
* @tc.number: StartupPartitionSlotTest_002
* @tc.name: testGetCurrentSlotFun002
* @tc.desc: NA
*/
HWTEST_F(StartupPartitionSlotTest, StartupPartitionSlotTest_002, Function | MediumTest | Level1)
{
std::cout << "begin get currentslot by service" << std::endl;
int numOfSlots = 1;
int currentSlot = 0;
sptr<IPartitionSlot> partitionslot = IPartitionSlot::Get();
ASSERT_TRUE(partitionslot != nullptr);
ASSERT_TRUE(partitionslot->GetCurrentSlot(currentSlot, numOfSlots) == 0);
}
* @tc.number: StartupPartitionSlotTest_003
* @tc.name: testGetCurrentSlotFun003
* @tc.desc: NA
*/
HWTEST_F(StartupPartitionSlotTest, StartupPartitionSlotTest_003, Function | MediumTest | Level1)
{
std::cout << "begin get currentslot by service" << std::endl;
int numOfSlots = 1;
int currentSlot = 1;
sptr<IPartitionSlot> partitionslot = IPartitionSlot::Get();
ASSERT_TRUE(partitionslot != nullptr);
ASSERT_TRUE(partitionslot->GetCurrentSlot(currentSlot, numOfSlots) == 0);
}
* @tc.number: StartupPartitionSlotTest_004
* @tc.name: testGetCurrentSlotFun004
* @tc.desc: NA
*/
HWTEST_F(StartupPartitionSlotTest, StartupPartitionSlotTest_004, Function | MediumTest | Level1)
{
std::cout << "begin get currentslot by service" << std::endl;
int numOfSlots = 2;
int currentSlot = 2;
sptr<IPartitionSlot> partitionslot = IPartitionSlot::Get();
ASSERT_TRUE(partitionslot != nullptr);
ASSERT_TRUE(partitionslot->GetCurrentSlot(currentSlot, numOfSlots) == 0);
}
* @tc.number: StartupPartitionSlotTest_005
* @tc.name: testGetCurrentSlotFun005
* @tc.desc: NA
*/
HWTEST_F(StartupPartitionSlotTest, StartupPartitionSlotTest_005, Function | MediumTest | Level1)
{
std::cout << "begin get currentslot by service" << std::endl;
int numOfSlots = 3;
int currentSlot = 3;
sptr<IPartitionSlot> partitionslot = IPartitionSlot::Get();
ASSERT_TRUE(partitionslot != nullptr);
ASSERT_TRUE(partitionslot->GetCurrentSlot(currentSlot, numOfSlots) == 0);
}
* @tc.number: StartupPartitionSlotTest_006
* @tc.name: testGetSlotSuffixFun001
* @tc.desc: NA
*/
HWTEST_F(StartupPartitionSlotTest, StartupPartitionSlotTest_006, Function | MediumTest | Level1)
{
std::cout << "begin get suffix by service" << std::endl;
std::string suffix = "";
int slot = -1;
sptr<IPartitionSlot> partitionslot = IPartitionSlot::Get();
ASSERT_TRUE(partitionslot != nullptr);
ASSERT_TRUE(partitionslot->GetSlotSuffix(slot, suffix) == 0);
}
* @tc.number: StartupPartitionSlotTest_007
* @tc.name: testGetSlotSuffixFun002
* @tc.desc: NA
*/
HWTEST_F(StartupPartitionSlotTest, StartupPartitionSlotTest_007, Function | MediumTest | Level1)
{
std::cout << "begin get suffix by service" << std::endl;
std::string suffix = "";
int slot = 0;
sptr<IPartitionSlot> partitionslot = IPartitionSlot::Get();
ASSERT_TRUE(partitionslot != nullptr);
ASSERT_TRUE(partitionslot->GetSlotSuffix(slot, suffix) == 0);
}
* @tc.number: StartupPartitionSlotTest_008
* @tc.name: testGetSlotSuffixFun003
* @tc.desc: NA
*/
HWTEST_F(StartupPartitionSlotTest, StartupPartitionSlotTest_008, Function | MediumTest | Level1)
{
std::cout << "begin get suffix by service" << std::endl;
std::string suffix = "";
int slot = 1;
sptr<IPartitionSlot> partitionslot = IPartitionSlot::Get();
ASSERT_TRUE(partitionslot != nullptr);
ASSERT_TRUE(partitionslot->GetSlotSuffix(slot, suffix) == 0);
}
* @tc.number: StartupPartitionSlotTest_002
* @tc.name: testGetSlotSuffixFun004
* @tc.desc: NA
*/
HWTEST_F(StartupPartitionSlotTest, StartupPartitionSlotTest_009, Function | MediumTest | Level1) {
std::cout << "begin get suffix by service" << std::endl;
std::string suffix = "";
int slot = 2;
sptr<IPartitionSlot> partitionslot = IPartitionSlot::Get();
ASSERT_TRUE(partitionslot != nullptr);
ASSERT_TRUE(partitionslot->GetSlotSuffix(slot, suffix) == 0);
}
* @tc.number: StartupPartitionSlotTest_010
* @tc.name: testGetSlotSuffixFun005
* @tc.desc: NA
*/
HWTEST_F(StartupPartitionSlotTest, StartupPartitionSlotTest_010, Function | MediumTest | Level1)
{
std::cout << "begin get suffix by service" << std::endl;
std::string suffix = "";
int slot = 3;
sptr<IPartitionSlot> partitionslot = IPartitionSlot::Get();
ASSERT_TRUE(partitionslot != nullptr);
ASSERT_TRUE(partitionslot->GetSlotSuffix(slot, suffix) == 0);
}
* @tc.number: StartupPartitionSlotTest_011
* @tc.name: testGetCurrentSlotFun001
* @tc.desc: NA
*/
HWTEST_F(StartupPartitionSlotTest, StartupPartitionSlotTest_011, Function | MediumTest | Level1)
{
std::cout << "begin set active slot by service" << std::endl;
int numOfSlots = 0;
int currentSlot = -1;
sptr<IPartitionSlot> partitionslot = IPartitionSlot::Get();
ASSERT_TRUE(partitionslot != nullptr);
partitionslot->GetCurrentSlot(currentSlot, numOfSlots);
ASSERT_TRUE(partitionslot->SetActiveSlot(-1) != 0);
partitionslot->SetActiveSlot(currentSlot);
}
* @tc.number: StartupPartitionSlotTest_012
* @tc.name: testGetCurrentSlotFun002
* @tc.desc: NA
*/
HWTEST_F(StartupPartitionSlotTest, StartupPartitionSlotTest_012, Function | MediumTest | Level1) {
std::cout << "begin set active slot by service" << std::endl;
int numOfSlots = 0;
int currentSlot = 0;
sptr<IPartitionSlot> partitionslot = IPartitionSlot::Get();
ASSERT_TRUE(partitionslot != nullptr);
partitionslot->GetCurrentSlot(currentSlot, numOfSlots);
ASSERT_TRUE(partitionslot->SetActiveSlot(0) == 0);
partitionslot->SetActiveSlot(currentSlot);
}
* @tc.number: StartupPartitionSlotTest_013
* @tc.name: testGetCurrentSlotFun003
* @tc.desc: NA
*/
HWTEST_F(StartupPartitionSlotTest, StartupPartitionSlotTest_013, Function | MediumTest | Level1)
{
std::cout << "begin set active slot by service" << std::endl;
int numOfSlots = 1;
int currentSlot = 0;
sptr<IPartitionSlot> partitionslot = IPartitionSlot::Get();
ASSERT_TRUE(partitionslot != nullptr);
partitionslot->GetCurrentSlot(currentSlot, numOfSlots);
ASSERT_TRUE(partitionslot->SetActiveSlot(1) == 0);
partitionslot->SetActiveSlot(currentSlot);
}
* @tc.number: StartupPartitionSlotTest_014
* @tc.name: testGetCurrentSlotFun004
* @tc.desc: NA
*/
HWTEST_F(StartupPartitionSlotTest, StartupPartitionSlotTest_014, Function | MediumTest | Level1)
{
std::cout << "begin set active slot by service" << std::endl;
int numOfSlots = 2;
int currentSlot = 0;
sptr<IPartitionSlot> partitionslot = IPartitionSlot::Get();
ASSERT_TRUE(partitionslot != nullptr);
partitionslot->GetCurrentSlot(currentSlot, numOfSlots);
ASSERT_TRUE(partitionslot->SetActiveSlot(2) == 0);
partitionslot->SetActiveSlot(currentSlot);
}
* @tc.number: StartupPartitionSlotTest_015
* @tc.name: testGetCurrentSlotFun005
* @tc.desc: NA
*/
HWTEST_F(StartupPartitionSlotTest, StartupPartitionSlotTest_015, Function | MediumTest | Level1)
{
std::cout << "begin set active slot by service" << std::endl;
int numOfSlots = 3;
int currentSlot = 0;
sptr<IPartitionSlot> partitionslot = IPartitionSlot::Get();
ASSERT_TRUE(partitionslot != nullptr);
partitionslot->GetCurrentSlot(currentSlot, numOfSlots);
ASSERT_TRUE(partitionslot->SetActiveSlot(3) == 0);
partitionslot->SetActiveSlot(currentSlot);
}
* @tc.number: StartupPartitionSlotTest_016
* @tc.name: testSetSlotUnbootableFun001
* @tc.desc: NA
*/
HWTEST_F(StartupPartitionSlotTest, StartupPartitionSlotTest_016, Function | MediumTest | Level1) {
std::cout << "begin set unbootable slot by service" << std::endl;
sptr<IPartitionSlot> partitionslot = IPartitionSlot::Get();
ASSERT_TRUE(partitionslot != nullptr);
ASSERT_TRUE(partitionslot->SetSlotUnbootable(-1) != 0);
}
* @tc.number: StartupPartitionSlotTest_017
* @tc.name: testSetSlotUnbootableFun002
* @tc.desc: NA
*/
HWTEST_F(StartupPartitionSlotTest, StartupPartitionSlotTest_017, Function | MediumTest | Level1)
{
std::cout << "begin set unbootable slot by service" << std::endl;
sptr<IPartitionSlot> partitionslot = IPartitionSlot::Get();
ASSERT_TRUE(partitionslot != nullptr);
ASSERT_TRUE(partitionslot->SetSlotUnbootable(0) == 0);
}
* @tc.number: StartupPartitionSlotTest_018
* @tc.name: testSetSlotUnbootableFun003
* @tc.desc: NA
*/
HWTEST_F(StartupPartitionSlotTest, StartupPartitionSlotTest_018, Function | MediumTest | Level1)
{
std::cout << "begin set unbootable slot by service" << std::endl;
sptr<IPartitionSlot> partitionslot = IPartitionSlot::Get();
ASSERT_TRUE(partitionslot != nullptr);
ASSERT_TRUE(partitionslot->SetSlotUnbootable(1) == 0);
}
* @tc.number: StartupPartitionSlotTest_019
* @tc.name: testSetSlotUnbootableFun004
* @tc.desc: NA
*/
HWTEST_F(StartupPartitionSlotTest, StartupPartitionSlotTest_019, Function | MediumTest | Level1)
{
std::cout << "begin set unbootable slot by service" << std::endl;
sptr<IPartitionSlot> partitionslot = IPartitionSlot::Get();
ASSERT_TRUE(partitionslot != nullptr);
ASSERT_TRUE(partitionslot->SetSlotUnbootable(2) == 0);
}
* @tc.number: StartupPartitionSlotTest_020
* @tc.name: testSetSlotUnbootableFun005
* @tc.desc: NA
*/
HWTEST_F(StartupPartitionSlotTest, StartupPartitionSlotTest_020, Function | MediumTest | Level1)
{
std::cout << "begin set unbootable slot by service" << std::endl;
sptr<IPartitionSlot> partitionslot = IPartitionSlot::Get();
ASSERT_TRUE(partitionslot != nullptr);
ASSERT_TRUE(partitionslot->SetSlotUnbootable(3) == 0);
}