1//
2// Copyright (C) 2011 The Android Open Source Project
3//
4// Licensed under the Apache License, Version 2.0 (the "License");
5// you may not use this file except in compliance with the License.
6// You may obtain a copy of the License at
7//
8//      http://www.apache.org/licenses/LICENSE-2.0
9//
10// Unless required by applicable law or agreed to in writing, software
11// distributed under the License is distributed on an "AS IS" BASIS,
12// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13// See the License for the specific language governing permissions and
14// limitations under the License.
15//
16
17#include <base/at_exit.h>
18#include <base/command_line.h>
19#include <brillo/syslog_logging.h>
20#include <gtest/gtest.h>
21
22#include "shill/logging.h"
23
24namespace switches {
25
26static const char kHelp[] = "help";
27
28static const char kHelpMessage[] = "\n"
29    "Additional (non-gtest) switches:\n"
30    "  --log-level=N\n"
31    "    Logging level:\n"
32    "      0 = LOG(INFO), 1 = LOG(WARNING), 2 = LOG(ERROR),\n"
33    "      -1 = SLOG(..., 1), -2 = SLOG(..., 2), etc.\n"
34    "  --log-scopes=\"*scope1+scope2\".\n"
35    "    Scopes to enable for SLOG()-based logging.\n";
36
37}  // namespace switches
38
39int main(int argc, char** argv) {
40  base::AtExitManager exit_manager;
41  base::CommandLine::Init(argc, argv);
42  base::CommandLine* cl = base::CommandLine::ForCurrentProcess();
43  brillo::InitLog(brillo::kLogToStderr);
44  shill::SetLogLevelFromCommandLine(cl);
45  ::testing::InitGoogleTest(&argc, argv);
46
47  if (cl->HasSwitch(switches::kHelp)) {
48    std::cerr << switches::kHelpMessage;
49  }
50
51  return RUN_ALL_TESTS();
52}
53