| // 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; |
| } |
| } |