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