Lines Matching full:argv
42 // as it parses things (which is normally permissible with argv).
43 int parse_args_(const std::vector<std::string>& argv, int *exit_immediately,
45 // Make sure we reset the getopts state when scanning a new argv. Setting
52 for (const std::string& arg : argv)
66 int parse_args_(const std::vector<std::string>& argv) {
67 return parse_args_(argv, &exit_immediately_, &elftype_);
79 std::vector<std::string> argv = {};
80 ASSERT_EXIT(parse_args_(argv), testing::ExitedWithCode(1), "");
85 std::vector<std::string> argv = {"-h"};
86 ASSERT_EXIT(parse_args_(argv), testing::ExitedWithCode(0), "");
88 argv = {"--help"};
89 ASSERT_EXIT(parse_args_(argv), testing::ExitedWithCode(0), "");
91 argv = {"-H"};
92 ASSERT_EXIT(parse_args_(argv), testing::ExitedWithCode(0), "");
97 std::vector<std::string> argv = {"/bin/sh"};
98 ASSERT_TRUE(parse_args_(argv));
103 std::vector<std::string> argv = {"-u", "", "/bin/sh"};
105 argv[1] = kValidUser;
106 ASSERT_TRUE(parse_args_(argv));
108 argv[1] = kValidUid;
109 ASSERT_TRUE(parse_args_(argv));
114 std::vector<std::string> argv = {"-u", "", "/bin/sh"};
115 ASSERT_EXIT(parse_args_(argv), testing::ExitedWithCode(1), "");
117 argv[1] = "j;lX:J*Pj;oijfs;jdlkjC;j";
118 ASSERT_EXIT(parse_args_(argv), testing::ExitedWithCode(1), "");
120 argv[1] = "1000x";
121 ASSERT_EXIT(parse_args_(argv), testing::ExitedWithCode(1), "");
126 std::vector<std::string> argv = {"-g", "", "/bin/sh"};
128 argv[1] = kValidGroup;
129 ASSERT_TRUE(parse_args_(argv));
131 argv[1] = kValidGid;
132 ASSERT_TRUE(parse_args_(argv));
137 std::vector<std::string> argv = {"-g", "", "/bin/sh"};
138 ASSERT_EXIT(parse_args_(argv), testing::ExitedWithCode(1), "");
140 argv[1] = "j;lX:J*Pj;oijfs;jdlkjC;j";
141 ASSERT_EXIT(parse_args_(argv), testing::ExitedWithCode(1), "");
143 argv[1] = "1000x";
144 ASSERT_EXIT(parse_args_(argv), testing::ExitedWithCode(1), "");
150 std::vector<std::string> argv = {"-B", "", "/bin/sh"};
151 ASSERT_TRUE(parse_args_(argv));
153 argv[1] = "0xAB";
154 ASSERT_TRUE(parse_args_(argv));
156 argv[1] = "1234";
157 ASSERT_TRUE(parse_args_(argv));
162 std::vector<std::string> argv = {"-B", "", "/bin/sh"};
164 argv[1] = "xja";
165 ASSERT_EXIT(parse_args_(argv), testing::ExitedWithCode(1), "");
171 std::vector<std::string> argv = {"-c", "", "/bin/sh"};
172 ASSERT_TRUE(parse_args_(argv));
174 argv[1] = "0xAB";
175 ASSERT_TRUE(parse_args_(argv));
177 argv[1] = "1234";
178 ASSERT_TRUE(parse_args_(argv));
183 std::vector<std::string> argv = {"-c", "", "/bin/sh"};
185 argv[1] = "xja";
186 ASSERT_EXIT(parse_args_(argv), testing::ExitedWithCode(1), "");
191 std::vector<std::string> argv = {"--logging", "", "/bin/sh"};
200 argv[1] = profile;
201 ASSERT_TRUE(parse_args_(argv));
207 std::vector<std::string> argv = {"--logging", "", "/bin/sh"};
208 ASSERT_EXIT(parse_args_(argv), testing::ExitedWithCode(1), "");
210 argv[1] = "stdout";
211 ASSERT_EXIT(parse_args_(argv), testing::ExitedWithCode(1), "");
216 std::vector<std::string> argv = {"-R", "", "/bin/sh"};
218 argv[1] = "0,1,2";
219 ASSERT_TRUE(parse_args_(argv));
221 argv[1] = "1,1,unlimited";
222 ASSERT_TRUE(parse_args_(argv));
224 argv[1] = "2,unlimited,2";
225 ASSERT_TRUE(parse_args_(argv));
230 std::vector<std::string> argv = {"-R", "", "/bin/sh"};
231 ASSERT_EXIT(parse_args_(argv), testing::ExitedWithCode(1), "");
234 argv[1] = "0";
235 ASSERT_EXIT(parse_args_(argv), testing::ExitedWithCode(1), "");
238 argv[1] = "0,0";
239 ASSERT_EXIT(parse_args_(argv), testing::ExitedWithCode(1), "");
242 argv[1] = "0,0,0,0";
243 ASSERT_EXIT(parse_args_(argv), testing::ExitedWithCode(1), "");
246 argv[1] = "0,0,invalid-limit";
247 ASSERT_EXIT(parse_args_(argv), testing::ExitedWithCode(1), "");
249 argv[1] = "0,0,0j";
250 ASSERT_EXIT(parse_args_(argv), testing::ExitedWithCode(1), "");
255 std::vector<std::string> argv = {"--profile", "", "/bin/sh"};
263 argv[1] = profile;
264 ASSERT_TRUE(parse_args_(argv));
270 std::vector<std::string> argv = {"--profile", "", "/bin/sh"};
271 ASSERT_EXIT(parse_args_(argv), testing::ExitedWithCode(1), "");
273 argv[1] = "random-unknown-profile";
274 ASSERT_EXIT(parse_args_(argv), testing::ExitedWithCode(1), "");
279 std::vector<std::string> argv = {"-C", "/", "/bin/sh"};
280 ASSERT_TRUE(parse_args_(argv));
285 std::vector<std::string> argv = {"-P", "/", "/bin/sh"};
286 ASSERT_TRUE(parse_args_(argv));
291 std::vector<std::string> argv;
294 argv = {"-C", "/", "-P", "/", "/bin/sh"};
295 ASSERT_EXIT(parse_args_(argv), testing::ExitedWithCode(1), "");
298 argv = {"-C", "/", "--profile", "minimalistic-mountns", "/bin/sh"};
299 ASSERT_EXIT(parse_args_(argv), testing::ExitedWithCode(1), "");
302 argv = {"-P", "/", "--profile", "minimalistic-mountns", "/bin/sh"};
303 ASSERT_EXIT(parse_args_(argv), testing::ExitedWithCode(1), "");
308 std::vector<std::string> argv = {"-m", "/bin/sh"};
310 ASSERT_TRUE(parse_args_(argv));
313 argv = {"-m0 0 1", "/bin/sh"};
314 ASSERT_TRUE(parse_args_(argv));
317 argv = {"-m0 0 1,100 100 1", "/bin/sh"};
318 ASSERT_TRUE(parse_args_(argv));
323 std::vector<std::string> argv = {"-M", "/bin/sh"};
325 ASSERT_TRUE(parse_args_(argv));
328 argv = {"-M0 0 1", "/bin/sh"};
329 ASSERT_TRUE(parse_args_(argv));
332 argv = {"-M0 0 1,100 100 1", "/bin/sh"};
333 ASSERT_TRUE(parse_args_(argv));
343 std::vector<std::string> argv = {"-v", "-b", "", "/bin/sh"};
346 argv[1] = "/";
347 ASSERT_TRUE(parse_args_(argv));
350 argv[1] = "/,/";
351 ASSERT_TRUE(parse_args_(argv));
354 argv[1] = "/,/,0";
355 ASSERT_TRUE(parse_args_(argv));
356 argv[1] = "/,/,1";
357 ASSERT_TRUE(parse_args_(argv));
360 argv[1] = "/,,0";
361 ASSERT_TRUE(parse_args_(argv));
366 std::vector<std::string> argv = {"-v", "-b", "", "/bin/sh"};
369 argv[2] = "";
370 ASSERT_EXIT(parse_args_(argv), testing::ExitedWithCode(1), "");
373 argv[2] = "/,/,0,what";
374 ASSERT_EXIT(parse_args_(argv), testing::ExitedWithCode(1), "");
377 argv = {"-b", "/", "/bin/sh"};
378 ASSERT_EXIT(parse_args_(argv), testing::ExitedWithCode(1), "");
383 std::vector<std::string> argv = {"-v", "-k", "", "/bin/sh"};
386 argv[2] = "none,/,none";
387 ASSERT_TRUE(parse_args_(argv));
390 argv[2] = "none,/,none,0xe";
391 ASSERT_TRUE(parse_args_(argv));
394 argv[2] = "none,/,none,,mode=755";
395 ASSERT_TRUE(parse_args_(argv));
398 argv[2] = "none,/,none,0xe,mode=755,uid=0,gid=10";
399 ASSERT_TRUE(parse_args_(argv));
404 std::vector<std::string> argv = {"-v", "-k", "", "/bin/sh"};
407 argv[2] = "";
408 ASSERT_EXIT(parse_args_(argv), testing::ExitedWithCode(1), "");
411 argv[2] = "none";
412 ASSERT_EXIT(parse_args_(argv), testing::ExitedWithCode(1), "");
415 argv[2] = "none,/";
416 ASSERT_EXIT(parse_args_(argv), testing::ExitedWithCode(1), "");
421 std::vector<std::string> argv = {"-v", "", "/bin/sh"};
424 argv[1] = "-K";
425 ASSERT_TRUE(parse_args_(argv));
436 argv[1] = "-K" + mode;
437 ASSERT_TRUE(parse_args_(argv));
443 std::vector<std::string> argv = {"-v", "", "/bin/sh"};
446 argv[1] = "-Kfoo";
447 ASSERT_EXIT(parse_args_(argv), testing::ExitedWithCode(1), "");