blob: 1a94730b371389bbb3aa410199999a36b3199f8b [file] [log] [blame]
// Copyright 2016 The Fuchsia 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 <stdlib.h>
#include <string.h>
#include <unittest/unittest.h>
#include "inferior.h"
#include "utils.h"
namespace {
void scan_argv(int argc, char** argv) {
for (int i = 1; i < argc; ++i) {
if (strncmp(argv[i], "v=", 2) == 0) {
int verbosity = atoi(argv[i] + 2);
unittest_set_verbosity_level(verbosity);
}
}
}
} // namespace
int main(int argc, char** argv) {
g_program_path = argv[0];
scan_argv(argc, argv);
if (argc >= 2) {
if (strcmp(argv[1], kTestInferiorChildName) == 0) {
return test_inferior();
}
if (strcmp(argv[1], kTestSegfaultChildName) == 0) {
return test_segfault();
}
if (strcmp(argv[1], kTestSwbreakChildName) == 0) {
return test_sw_break();
}
if (strcmp(argv[1], kTestSuspendOnStart) == 0) {
return test_suspend_on_start();
}
if (strcmp(argv[1], kTestDynBreakOnLoad) == 0) {
return test_dyn_break_on_load();
}
}
bool success = unittest_run_all_tests(argc, argv);
return success ? 0 : -1;
}