1*49cdfc7eSAndroid Build Coastguard Worker // SPDX-License-Identifier: GPL-2.0-only 2*49cdfc7eSAndroid Build Coastguard Worker /* 3*49cdfc7eSAndroid Build Coastguard Worker * Copyright (c) 2000 Silicon Graphics, Inc. All Rights Reserved. 4*49cdfc7eSAndroid Build Coastguard Worker * AUTHOR : William Roske 5*49cdfc7eSAndroid Build Coastguard Worker * CO-PILOT : Dave Fenner 6*49cdfc7eSAndroid Build Coastguard Worker */ 7*49cdfc7eSAndroid Build Coastguard Worker 8*49cdfc7eSAndroid Build Coastguard Worker /*\ 9*49cdfc7eSAndroid Build Coastguard Worker * [Description] 10*49cdfc7eSAndroid Build Coastguard Worker * 11*49cdfc7eSAndroid Build Coastguard Worker * Call getgid() and expects that the gid returned correctly. 12*49cdfc7eSAndroid Build Coastguard Worker */ 13*49cdfc7eSAndroid Build Coastguard Worker 14*49cdfc7eSAndroid Build Coastguard Worker #include <pwd.h> 15*49cdfc7eSAndroid Build Coastguard Worker #include "tst_test.h" 16*49cdfc7eSAndroid Build Coastguard Worker #include "compat_tst_16.h" 17*49cdfc7eSAndroid Build Coastguard Worker 18*49cdfc7eSAndroid Build Coastguard Worker static struct passwd *ltpuser; 19*49cdfc7eSAndroid Build Coastguard Worker run(void)20*49cdfc7eSAndroid Build Coastguard Workerstatic void run(void) 21*49cdfc7eSAndroid Build Coastguard Worker { 22*49cdfc7eSAndroid Build Coastguard Worker TEST(GETGID()); 23*49cdfc7eSAndroid Build Coastguard Worker if (TST_RET != ltpuser->pw_gid) 24*49cdfc7eSAndroid Build Coastguard Worker tst_res(TFAIL, "getgid failed, returned %ld", TST_RET); 25*49cdfc7eSAndroid Build Coastguard Worker else 26*49cdfc7eSAndroid Build Coastguard Worker tst_res(TPASS, "getgid returned as expectedly"); 27*49cdfc7eSAndroid Build Coastguard Worker } 28*49cdfc7eSAndroid Build Coastguard Worker setup(void)29*49cdfc7eSAndroid Build Coastguard Workerstatic void setup(void) 30*49cdfc7eSAndroid Build Coastguard Worker { 31*49cdfc7eSAndroid Build Coastguard Worker ltpuser = SAFE_GETPWNAM("nobody"); 32*49cdfc7eSAndroid Build Coastguard Worker SAFE_SETGID(ltpuser->pw_gid); 33*49cdfc7eSAndroid Build Coastguard Worker } 34*49cdfc7eSAndroid Build Coastguard Worker 35*49cdfc7eSAndroid Build Coastguard Worker static struct tst_test test = { 36*49cdfc7eSAndroid Build Coastguard Worker .needs_root = 1, 37*49cdfc7eSAndroid Build Coastguard Worker .test_all = run, 38*49cdfc7eSAndroid Build Coastguard Worker .setup = setup, 39*49cdfc7eSAndroid Build Coastguard Worker }; 40