1*49cdfc7eSAndroid Build Coastguard Worker // SPDX-License-Identifier: GPL-2.0-or-later 2*49cdfc7eSAndroid Build Coastguard Worker /* 3*49cdfc7eSAndroid Build Coastguard Worker * Copyright (c) 2018 Linux Test Project 4*49cdfc7eSAndroid Build Coastguard Worker * Copyright (C) 2015 Cyril Hrubis <[email protected]> 5*49cdfc7eSAndroid Build Coastguard Worker * Copyright (c) 2000 Silicon Graphics, Inc. All Rights Reserved. 6*49cdfc7eSAndroid Build Coastguard Worker * AUTHOR : William Roske 7*49cdfc7eSAndroid Build Coastguard Worker * CO-PILOT : Dave Fenner 8*49cdfc7eSAndroid Build Coastguard Worker */ 9*49cdfc7eSAndroid Build Coastguard Worker 10*49cdfc7eSAndroid Build Coastguard Worker #include <sys/types.h> 11*49cdfc7eSAndroid Build Coastguard Worker #include <sys/wait.h> 12*49cdfc7eSAndroid Build Coastguard Worker #include <errno.h> 13*49cdfc7eSAndroid Build Coastguard Worker #include <string.h> 14*49cdfc7eSAndroid Build Coastguard Worker #include <signal.h> 15*49cdfc7eSAndroid Build Coastguard Worker #include <stdlib.h> 16*49cdfc7eSAndroid Build Coastguard Worker 17*49cdfc7eSAndroid Build Coastguard Worker #include "tst_test.h" 18*49cdfc7eSAndroid Build Coastguard Worker verify_execvp(void)19*49cdfc7eSAndroid Build Coastguard Workerstatic void verify_execvp(void) 20*49cdfc7eSAndroid Build Coastguard Worker { 21*49cdfc7eSAndroid Build Coastguard Worker pid_t pid; 22*49cdfc7eSAndroid Build Coastguard Worker char *const args[] = {"execvp01_child", "canary", NULL}; 23*49cdfc7eSAndroid Build Coastguard Worker 24*49cdfc7eSAndroid Build Coastguard Worker pid = SAFE_FORK(); 25*49cdfc7eSAndroid Build Coastguard Worker if (pid == 0) { 26*49cdfc7eSAndroid Build Coastguard Worker execvp("execvp01_child", args); 27*49cdfc7eSAndroid Build Coastguard Worker tst_brk(TFAIL | TERRNO, 28*49cdfc7eSAndroid Build Coastguard Worker "Failed to execute execvp01_child"); 29*49cdfc7eSAndroid Build Coastguard Worker } 30*49cdfc7eSAndroid Build Coastguard Worker } 31*49cdfc7eSAndroid Build Coastguard Worker 32*49cdfc7eSAndroid Build Coastguard Worker static struct tst_test test = { 33*49cdfc7eSAndroid Build Coastguard Worker .forks_child = 1, 34*49cdfc7eSAndroid Build Coastguard Worker .child_needs_reinit = 1, 35*49cdfc7eSAndroid Build Coastguard Worker .test_all = verify_execvp, 36*49cdfc7eSAndroid Build Coastguard Worker }; 37