Arcane  4.1.12.0
Developer documentation
Loading...
Searching...
No Matches
TestTraceMng.cc
1// -*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
2//-----------------------------------------------------------------------------
3// Copyright 2000-2026 CEA (www.cea.fr) IFPEN (www.ifpenergiesnouvelles.com)
4// See the top-level COPYRIGHT file for details.
5// SPDX-License-Identifier: Apache-2.0
6//-----------------------------------------------------------------------------
7#include <gtest/gtest.h>
8
9#include "arccore/base/String.h"
10#include "arccore/base/ReferenceCounter.h"
11#include "arccore/base/FatalErrorException.h"
12#include "arccore/trace/ITraceMng.h"
13#include "arccore/trace/TraceAccessor.h"
14#include "arccore/trace/StandaloneTraceMessage.h"
15
16#include <memory>
17#include <sstream>
18
19using namespace Arccore;
20
21TEST(TraceMng, FatalMessage)
22{
23 ReferenceCounter<ITraceMng> tm(arccoreCreateDefaultTraceMng());
24 TraceAccessor tr(tm.get());
25 // Checks that FatalErrorException has the correct message.
26 String message = "TestFatalError in utils";
27 String new_message;
28 bool is_ok = false;
29 try {
30 tr.fatal() << message;
31 }
32 catch (const FatalErrorException& ex) {
33 new_message = ex.message();
34 is_ok = true;
35 }
36 ASSERT_TRUE(is_ok) << "Exception not caught";
37
38 ASSERT_TRUE(new_message == message) << String::format("Bad message(wanted='{0}' current='{1}'", message, new_message);
39}
40
41TEST(TraceMng, FatalMessage2)
42{
43 ReferenceCounter<ITraceMng> tm(arccoreCreateDefaultTraceMng());
44 TraceAccessor tr(tm.get());
45 String message = "TestFatalErrorMessage in utils";
46 String new_message;
47 bool is_ok = false;
48 try {
49 tr.fatalMessage(StandaloneTraceMessage{} << message);
50 }
51 catch (const FatalErrorException& ex) {
52 new_message = ex.message();
53 is_ok = true;
54 }
55 ASSERT_TRUE(is_ok) << "Exception not caught";
56
57 ASSERT_TRUE(new_message == message) << String::format("Bad message(wanted='{0}' current='{1}'", message, new_message);
58}
#define ASSERT_TRUE(condition)
Checks that condition is true.
Definition Assertion.h:128
const String & message() const
Exception message.
Encapsulation of a pointer with a reference counter.
Namespace of Arccore.