1/* 2 * Copyright (c) 2022 Huawei Device Co., Ltd. 3 * Licensed under the Apache License, Version 2.0 (the "License"); 4 * you may not use this file except in compliance with the License. 5 * You may obtain a copy of the License at 6 * 7 * http://www.apache.org/licenses/LICENSE-2.0 8 * 9 * Unless required by applicable law or agreed to in writing, software 10 * distributed under the License is distributed on an "AS IS" BASIS, 11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 * See the License for the specific language governing permissions and 13 * limitations under the License. 14 */ 15 16#include <signal.h> 17#include <unistd.h> 18#include "functionalext.h" 19 20typedef void (*TEST_FUN)(); 21#define SLEEP_TIME 6 22int time_out = 0; 23void handler() 24{ 25 time_out = 1; 26} 27 28/** 29 * @tc.name : alarm_0100 30 * @tc.desc : Set the alarm time for the process. 31 * @tc.level : Level 0 32 */ 33void alarm_0100() 34{ 35 signal(SIGALRM, handler); 36 unsigned int result = alarm(SLEEP_TIME); 37 EXPECT_EQ("alarm_0100", result, 0); 38} 39 40TEST_FUN G_Fun_Array[] = { 41 alarm_0100, 42}; 43 44int main(int argc, char *argv[]) 45{ 46 int num = sizeof(G_Fun_Array) / sizeof(TEST_FUN); 47 for (int pos = 0; pos < num; ++pos) { 48 G_Fun_Array[pos](); 49 } 50 51 return t_status; 52}