1484543d1Sopenharmony_ci/*
2484543d1Sopenharmony_ci * Copyright (c) 2023 Huawei Device Co., Ltd.
3484543d1Sopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License");
4484543d1Sopenharmony_ci * you may not use this file except in compliance with the License.
5484543d1Sopenharmony_ci * You may obtain a copy of the License at
6484543d1Sopenharmony_ci *
7484543d1Sopenharmony_ci *     http://www.apache.org/licenses/LICENSE-2.0
8484543d1Sopenharmony_ci *
9484543d1Sopenharmony_ci * Unless required by applicable law or agreed to in writing, software
10484543d1Sopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS,
11484543d1Sopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12484543d1Sopenharmony_ci * See the License for the specific language governing permissions and
13484543d1Sopenharmony_ci * limitations under the License.
14484543d1Sopenharmony_ci */
15484543d1Sopenharmony_ci#include <gtest/gtest.h>
16484543d1Sopenharmony_ci#include <thread>
17484543d1Sopenharmony_ci#include "eu/execute_unit.h"
18484543d1Sopenharmony_ci#include "eu/thread_group.h"
19484543d1Sopenharmony_ci#include "internal_inc/types.h"
20484543d1Sopenharmony_ci#include "util/ffrt_facade.h"
21484543d1Sopenharmony_ci#include "common.h"
22484543d1Sopenharmony_ci
23484543d1Sopenharmony_cinamespace OHOS {
24484543d1Sopenharmony_cinamespace FFRT_TEST {
25484543d1Sopenharmony_ciusing namespace testing;
26484543d1Sopenharmony_ci#ifdef HWTEST_TESTING_EXT_ENABLE
27484543d1Sopenharmony_ciusing namespace testing::ext;
28484543d1Sopenharmony_ci#endif
29484543d1Sopenharmony_ciusing namespace OHOS::FFRT_TEST;
30484543d1Sopenharmony_ciusing namespace ffrt;
31484543d1Sopenharmony_ciusing namespace std;
32484543d1Sopenharmony_ci
33484543d1Sopenharmony_ci
34484543d1Sopenharmony_ciclass ExecuteUnitTest : public testing::Test {
35484543d1Sopenharmony_ciprotected:
36484543d1Sopenharmony_ci    static void SetUpTestCase()
37484543d1Sopenharmony_ci    {
38484543d1Sopenharmony_ci    }
39484543d1Sopenharmony_ci
40484543d1Sopenharmony_ci    static void TearDownTestCase()
41484543d1Sopenharmony_ci    {
42484543d1Sopenharmony_ci    }
43484543d1Sopenharmony_ci
44484543d1Sopenharmony_ci    virtual void SetUp()
45484543d1Sopenharmony_ci    {
46484543d1Sopenharmony_ci    }
47484543d1Sopenharmony_ci
48484543d1Sopenharmony_ci    virtual void TearDown()
49484543d1Sopenharmony_ci    {
50484543d1Sopenharmony_ci    }
51484543d1Sopenharmony_ci};
52484543d1Sopenharmony_ci
53484543d1Sopenharmony_ci/**
54484543d1Sopenharmony_ci * @tc.name: NotifyTaskAdded
55484543d1Sopenharmony_ci * @tc.desc: Test whether the NotifyTaskAdded interface are normal.
56484543d1Sopenharmony_ci * @tc.type: FUNC
57484543d1Sopenharmony_ci */
58484543d1Sopenharmony_ciHWTEST_F(ExecuteUnitTest, NotifyTaskAdded, TestSize.Level1)
59484543d1Sopenharmony_ci{
60484543d1Sopenharmony_ci    FFRTFacade::GetEUInstance().NotifyTaskAdded(QoS(qos(5)));
61484543d1Sopenharmony_ci}
62484543d1Sopenharmony_ci
63484543d1Sopenharmony_ci/**
64484543d1Sopenharmony_ci * @tc.name: BindWG
65484543d1Sopenharmony_ci * @tc.desc: Test whether the BindWG interface are normal.
66484543d1Sopenharmony_ci * @tc.type: FUNC
67484543d1Sopenharmony_ci */
68484543d1Sopenharmony_ciHWTEST_F(ExecuteUnitTest, BindWG, TestSize.Level1)
69484543d1Sopenharmony_ci{
70484543d1Sopenharmony_ci    QoS *qos1 = new QoS();
71484543d1Sopenharmony_ci    FFRTFacade::GetEUInstance().BindWG(DevType(0), *qos1);
72484543d1Sopenharmony_ci}
73484543d1Sopenharmony_ci
74484543d1Sopenharmony_ci/**
75484543d1Sopenharmony_ci * @tc.name: UnbindTG
76484543d1Sopenharmony_ci * @tc.desc: Test whether the UnbindTG interface are normal.
77484543d1Sopenharmony_ci * @tc.type: FUNC
78484543d1Sopenharmony_ci */
79484543d1Sopenharmony_ciHWTEST_F(ExecuteUnitTest, UnbindTG, TestSize.Level1)
80484543d1Sopenharmony_ci{
81484543d1Sopenharmony_ci    QoS *qos1 = new QoS();
82484543d1Sopenharmony_ci    FFRTFacade::GetEUInstance().UnbindTG(DevType(0), *qos1);
83484543d1Sopenharmony_ci}
84484543d1Sopenharmony_ci
85484543d1Sopenharmony_ci/**
86484543d1Sopenharmony_ci * @tc.name: BindTG
87484543d1Sopenharmony_ci * @tc.desc: Test whether the BindTG interface are normal.
88484543d1Sopenharmony_ci * @tc.type: FUNC
89484543d1Sopenharmony_ci */
90484543d1Sopenharmony_ciHWTEST_F(ExecuteUnitTest, BindTG, TestSize.Level1)
91484543d1Sopenharmony_ci{
92484543d1Sopenharmony_ci    QoS *qos1 = new QoS();
93484543d1Sopenharmony_ci    ThreadGroup* it = FFRTFacade::GetEUInstance().BindTG(DevType(0), *qos1);
94484543d1Sopenharmony_ci}
95484543d1Sopenharmony_ci
96484543d1Sopenharmony_ci}
97484543d1Sopenharmony_ci}
98