testrunner.cc revision faac2a5b491605d400d89cbe2054474c7aba6452
149fdf1889b965be25f929eeebc5b60cd40b9043rspangler@google.com// Copyright (c) 2009 The Chromium OS Authors. All rights reserved.
249fdf1889b965be25f929eeebc5b60cd40b9043rspangler@google.com// Use of this source code is governed by a BSD-style license that can be
349fdf1889b965be25f929eeebc5b60cd40b9043rspangler@google.com// found in the LICENSE file.
449fdf1889b965be25f929eeebc5b60cd40b9043rspangler@google.com
549fdf1889b965be25f929eeebc5b60cd40b9043rspangler@google.com// based on pam_google_testrunner.cc
649fdf1889b965be25f929eeebc5b60cd40b9043rspangler@google.com
79c0baf82049efd95230a8389769e1b3e5d001209Darin Petkov#include <base/at_exit.h>
89c0baf82049efd95230a8389769e1b3e5d001209Darin Petkov#include <base/command_line.h>
9c702078734db27d1fd712b02b686a75becbb5c9dAndrew de los Reyes#include <dbus/dbus-glib.h>
10c702078734db27d1fd712b02b686a75becbb5c9dAndrew de los Reyes#include <dbus/dbus-glib-bindings.h>
11c702078734db27d1fd712b02b686a75becbb5c9dAndrew de los Reyes#include <dbus/dbus-glib-lowlevel.h>
12c98a7edf648aad88b3f66df3b5a7d43d6a6d7fa9adlr@google.com#include <glib.h>
13c702078734db27d1fd712b02b686a75becbb5c9dAndrew de los Reyes#include <glib-object.h>
1449fdf1889b965be25f929eeebc5b60cd40b9043rspangler@google.com#include <gtest/gtest.h>
159c0baf82049efd95230a8389769e1b3e5d001209Darin Petkov
16c98a7edf648aad88b3f66df3b5a7d43d6a6d7fa9adlr@google.com#include "update_engine/subprocess.h"
179c0baf82049efd95230a8389769e1b3e5d001209Darin Petkov#include "update_engine/terminator.h"
18c98a7edf648aad88b3f66df3b5a7d43d6a6d7fa9adlr@google.com
1949fdf1889b965be25f929eeebc5b60cd40b9043rspangler@google.comint main(int argc, char **argv) {
20c702078734db27d1fd712b02b686a75becbb5c9dAndrew de los Reyes  ::g_type_init();
21c98a7edf648aad88b3f66df3b5a7d43d6a6d7fa9adlr@google.com  g_thread_init(NULL);
22c702078734db27d1fd712b02b686a75becbb5c9dAndrew de los Reyes  dbus_g_thread_init();
235c0a8afa879886800d82b195e3164e5a580a2cc7Darin Petkov  base::AtExitManager exit_manager;
249c0baf82049efd95230a8389769e1b3e5d001209Darin Petkov  chromeos_update_engine::Terminator::Init();
25c98a7edf648aad88b3f66df3b5a7d43d6a6d7fa9adlr@google.com  chromeos_update_engine::Subprocess::Init();
26c702078734db27d1fd712b02b686a75becbb5c9dAndrew de los Reyes  CommandLine::Init(argc, argv);
2749fdf1889b965be25f929eeebc5b60cd40b9043rspangler@google.com  ::testing::InitGoogleTest(&argc, argv);
28faac2a5b491605d400d89cbe2054474c7aba6452Gilad Arnold  int test_result = RUN_ALL_TESTS();
29faac2a5b491605d400d89cbe2054474c7aba6452Gilad Arnold  LOG(INFO) << "unittest return value: " << test_result;
30faac2a5b491605d400d89cbe2054474c7aba6452Gilad Arnold  return test_result;
3149fdf1889b965be25f929eeebc5b60cd40b9043rspangler@google.com}
32