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 16484543d1Sopenharmony_ci#include <gtest/gtest.h> 17484543d1Sopenharmony_ci#include "ffrt_inner.h" 18484543d1Sopenharmony_ci#include <cstdlib> 19484543d1Sopenharmony_ci#include "../common.h" 20484543d1Sopenharmony_ci 21484543d1Sopenharmony_ciusing namespace testing; 22484543d1Sopenharmony_ci#ifdef HWTEST_TESTING_EXT_ENABLE 23484543d1Sopenharmony_ciusing namespace testing::ext; 24484543d1Sopenharmony_ci#endif 25484543d1Sopenharmony_ci 26484543d1Sopenharmony_ciclass InitTest : public testing::Test { 27484543d1Sopenharmony_ciprotected: 28484543d1Sopenharmony_ci static void SetUpTestCase() 29484543d1Sopenharmony_ci { 30484543d1Sopenharmony_ci } 31484543d1Sopenharmony_ci 32484543d1Sopenharmony_ci static void TearDownTestCase() 33484543d1Sopenharmony_ci { 34484543d1Sopenharmony_ci } 35484543d1Sopenharmony_ci 36484543d1Sopenharmony_ci virtual void SetUp() 37484543d1Sopenharmony_ci { 38484543d1Sopenharmony_ci } 39484543d1Sopenharmony_ci 40484543d1Sopenharmony_ci virtual void TearDown() 41484543d1Sopenharmony_ci { 42484543d1Sopenharmony_ci } 43484543d1Sopenharmony_ci}; 44484543d1Sopenharmony_ci 45484543d1Sopenharmony_ciclass Env { 46484543d1Sopenharmony_cipublic: 47484543d1Sopenharmony_ci Env() 48484543d1Sopenharmony_ci { 49484543d1Sopenharmony_ci putenv("FFRT_PATH_HARDWARE=1"); 50484543d1Sopenharmony_ci } 51484543d1Sopenharmony_ci ~Env() 52484543d1Sopenharmony_ci { 53484543d1Sopenharmony_ci putenv("FFRT_PATH_HARDWARE=0"); 54484543d1Sopenharmony_ci } 55484543d1Sopenharmony_ci}; 56484543d1Sopenharmony_ci 57484543d1Sopenharmony_ciEnv g_env __attribute__ ((init_priority(102))); 58484543d1Sopenharmony_ciHWTEST_F(InitTest, hardware_test, TestSize.Level1) 59484543d1Sopenharmony_ci{ 60484543d1Sopenharmony_ci int x = 0; 61484543d1Sopenharmony_ci auto h = ffrt::submit_h( 62484543d1Sopenharmony_ci [&]() { 63484543d1Sopenharmony_ci x++; 64484543d1Sopenharmony_ci }, {}, {}); 65484543d1Sopenharmony_ci ffrt::wait({h}); 66484543d1Sopenharmony_ci EXPECT_EQ(x, 1); 67484543d1Sopenharmony_ci}