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 <stdio.h> 17#include <string.h> 18#include "test.h" 19 20/** 21 * @tc.name : tempnam_0100 22 * @tc.desc : Call the tempnam method to generate a temporary file 23 * @tc.level : Level 0 24 */ 25void tempnam_0100(void) 26{ 27 char *dir = "/data"; 28 char *pte = "temp"; 29 char *result = tempnam(dir, pte); 30 if (!result) { 31 t_error("%s tempnam error cannot create temp file\n", __func__); 32 } 33 if (!strstr(result, pte)) { 34 t_error("%s tempnam get result not contain %s\n", __func__, pte); 35 } 36} 37 38/** 39 * @tc.name : tempnam_0200 40 * @tc.desc : test tempnam is the result when pfx is empty 41 * @tc.level : Level 1 42 */ 43void tempnam_0200(void) 44{ 45 char *dir = "/data"; 46 char *pte = NULL; 47 char *result = tempnam(dir, pte); 48 if (!result) { 49 t_error("%s tempnam error cannot create temp file\n", __func__); 50 } 51} 52 53/** 54 * @tc.name : tempnam_0300 55 * @tc.desc : Test tempnam results when the dir path does not exist 56 * @tc.level : Level 1 57 */ 58void tempnam_0300(void) 59{ 60 char *dir = "/file"; 61 char *pte = "temp"; 62 char *result = tempnam(dir, pte); 63 if (!result) { 64 t_error("%s tempnam error cannot create temp file\n", __func__); 65 } 66 if (!strstr(result, pte)) { 67 t_error("%s tempnam get result not contain %s\n", __func__, pte); 68 } 69} 70 71/** 72 * @tc.name : tempnam_0400 73 * @tc.desc : Test tempnam when the dir path is a file 74 * @tc.level : Level 1 75 */ 76void tempnam_0400(void) 77{ 78 char *dir = "/file/a.txt"; 79 char *pte = "temp"; 80 char *result = tempnam(dir, pte); 81 if (!result) { 82 t_error("%s tempnam error cannot create temp file\n", __func__); 83 } 84 if (!strstr(result, pte)) { 85 t_error("%s tempnam get result not contain %s\n", __func__, pte); 86 } 87} 88 89/** 90 * @tc.name : tempnam_0500 91 * @tc.desc : Test tempnam when dir path is empty string 92 * @tc.level : Level 1 93 */ 94void tempnam_0500(void) 95{ 96 char *dir = NULL; 97 char *pte = "temp"; 98 char *result = tempnam(dir, pte); 99 if (!result) { 100 t_error("%s tempnam error cannot create temp file\n", __func__); 101 } 102 if (!strstr(result, pte)) { 103 t_error("%s tempnam get result not contain %s\n", __func__, pte); 104 } 105} 106 107int main(int argc, char *argv[]) 108{ 109 // tempnam_0100(); 110 // tempnam_0200(); 111 // tempnam_0300(); 112 // tempnam_0400(); 113 // tempnam_0500(); 114 return t_status; 115}