butil_unittest_main.cpp 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. // Licensed to the Apache Software Foundation (ASF) under one
  2. // or more contributor license agreements. See the NOTICE file
  3. // distributed with this work for additional information
  4. // regarding copyright ownership. The ASF licenses this file
  5. // to you under the Apache License, Version 2.0 (the
  6. // "License"); you may not use this file except in compliance
  7. // with the License. You may obtain a copy of the License at
  8. //
  9. // http://www.apache.org/licenses/LICENSE-2.0
  10. //
  11. // Unless required by applicable law or agreed to in writing,
  12. // software distributed under the License is distributed on an
  13. // "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
  14. // KIND, either express or implied. See the License for the
  15. // specific language governing permissions and limitations
  16. // under the License.
  17. #include <sys/resource.h>
  18. #include <gtest/gtest.h>
  19. #include <gflags/gflags.h>
  20. #include "butil/at_exit.h"
  21. #include "butil/logging.h"
  22. #include "multiprocess_func_list.h"
  23. DEFINE_bool(disable_coredump, false, "Never core dump");
  24. int main(int argc, char** argv) {
  25. butil::AtExitManager at_exit;
  26. testing::InitGoogleTest(&argc, argv);
  27. GFLAGS_NS::ParseCommandLineFlags(&argc, &argv, true);
  28. if (FLAGS_disable_coredump) {
  29. rlimit core_limit;
  30. core_limit.rlim_cur = 0;
  31. core_limit.rlim_max = 0;
  32. setrlimit(RLIMIT_CORE, &core_limit);
  33. }
  34. #if !BRPC_WITH_GLOG
  35. CHECK(!GFLAGS_NS::SetCommandLineOption("crash_on_fatal_log", "true").empty());
  36. #endif
  37. return RUN_ALL_TESTS();
  38. }