| // Copyright 2018 The Chromium Authors. All rights reserved. | 
 | // Use of this source code is governed by a BSD-style license that can be | 
 | // found in the LICENSE file. | 
 |  | 
 | #include <stdio.h> | 
 | #include <stdlib.h> | 
 | #include <string.h> | 
 |  | 
 | // Simple testing command, used to exercise child process launcher calls. | 
 | // | 
 | // Usage: | 
 | //        echo_test_helper [-x exit_code] arg0 arg1 arg2... | 
 | //        Prints arg0..n to stdout with space delimiters between args, | 
 | //        returning "exit_code" if -x is specified. | 
 | // | 
 | //        echo_test_helper -e env_var | 
 | //        Prints the environmental variable |env_var| to stdout. | 
 | int main(int argc, char** argv) { | 
 |   if (strcmp(argv[1], "-e") == 0) { | 
 |     if (argc != 3) { | 
 |       return 1; | 
 |     } | 
 |  | 
 |     const char* env = getenv(argv[2]); | 
 |     if (env != NULL) { | 
 |       printf("%s", env); | 
 |     } | 
 |   } else { | 
 |     int return_code = 0; | 
 |     int start_idx = 1; | 
 |  | 
 |     if (strcmp(argv[1], "-x") == 0) { | 
 |       return_code = atoi(argv[2]); | 
 |       start_idx = 3; | 
 |     } | 
 |  | 
 |     for (int i = start_idx; i < argc; ++i) { | 
 |       printf((i < argc - 1 ? "%s " : "%s"), argv[i]); | 
 |     } | 
 |  | 
 |     return return_code; | 
 |   } | 
 | } |