1*6777b538SAndroid Build Coastguard Worker // Copyright 2018 The Chromium Authors 2*6777b538SAndroid Build Coastguard Worker // Use of this source code is governed by a BSD-style license that can be 3*6777b538SAndroid Build Coastguard Worker // found in the LICENSE file. 4*6777b538SAndroid Build Coastguard Worker 5*6777b538SAndroid Build Coastguard Worker #include <stdio.h> 6*6777b538SAndroid Build Coastguard Worker #include <stdlib.h> 7*6777b538SAndroid Build Coastguard Worker #include <string.h> 8*6777b538SAndroid Build Coastguard Worker 9*6777b538SAndroid Build Coastguard Worker // Simple testing command, used to exercise child process launcher calls. 10*6777b538SAndroid Build Coastguard Worker // 11*6777b538SAndroid Build Coastguard Worker // Usage: 12*6777b538SAndroid Build Coastguard Worker // echo_test_helper [-x exit_code] arg0 arg1 arg2... 13*6777b538SAndroid Build Coastguard Worker // Prints arg0..n to stdout with space delimiters between args, 14*6777b538SAndroid Build Coastguard Worker // returning "exit_code" if -x is specified. 15*6777b538SAndroid Build Coastguard Worker // 16*6777b538SAndroid Build Coastguard Worker // echo_test_helper -e env_var 17*6777b538SAndroid Build Coastguard Worker // Prints the environmental variable |env_var| to stdout. main(int argc,char ** argv)18*6777b538SAndroid Build Coastguard Workerint main(int argc, char** argv) { 19*6777b538SAndroid Build Coastguard Worker if (strcmp(argv[1], "-e") == 0) { 20*6777b538SAndroid Build Coastguard Worker if (argc != 3) { 21*6777b538SAndroid Build Coastguard Worker return 1; 22*6777b538SAndroid Build Coastguard Worker } 23*6777b538SAndroid Build Coastguard Worker 24*6777b538SAndroid Build Coastguard Worker const char* env = getenv(argv[2]); 25*6777b538SAndroid Build Coastguard Worker if (env != NULL) { 26*6777b538SAndroid Build Coastguard Worker printf("%s", env); 27*6777b538SAndroid Build Coastguard Worker } 28*6777b538SAndroid Build Coastguard Worker } else { 29*6777b538SAndroid Build Coastguard Worker int return_code = 0; 30*6777b538SAndroid Build Coastguard Worker int start_idx = 1; 31*6777b538SAndroid Build Coastguard Worker 32*6777b538SAndroid Build Coastguard Worker if (strcmp(argv[1], "-x") == 0) { 33*6777b538SAndroid Build Coastguard Worker return_code = atoi(argv[2]); 34*6777b538SAndroid Build Coastguard Worker start_idx = 3; 35*6777b538SAndroid Build Coastguard Worker } 36*6777b538SAndroid Build Coastguard Worker 37*6777b538SAndroid Build Coastguard Worker for (int i = start_idx; i < argc; ++i) { 38*6777b538SAndroid Build Coastguard Worker printf((i < argc - 1 ? "%s " : "%s"), argv[i]); 39*6777b538SAndroid Build Coastguard Worker } 40*6777b538SAndroid Build Coastguard Worker 41*6777b538SAndroid Build Coastguard Worker return return_code; 42*6777b538SAndroid Build Coastguard Worker } 43*6777b538SAndroid Build Coastguard Worker } 44