ArmNN
 22.02
UnitTests.cpp
Go to the documentation of this file.
1 //
2 // Copyright © 2017 Arm Ltd and Contributors. All rights reserved.
3 // SPDX-License-Identifier: MIT
4 //
5 
6 #ifndef DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN
7 #define DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN
8 #endif
9 #include <doctest/doctest.h>
10 
11 #include "UnitTests.hpp"
12 
13 struct ConfigureLoggingFixture
14 {
15  ConfigureLoggingFixture()
16  {
18  }
19 };
20 
21 
22 
23 TEST_SUITE("LoggerSuite")
24 {
25 TEST_CASE_FIXTURE(ConfigureLoggingFixture, "LoggerTest")
26 {
27  std::stringstream ss;
28  {
29  struct StreamRedirector
30  {
31  public:
32  StreamRedirector(std::ostream& stream, std::streambuf* newStreamBuffer)
33  : m_Stream(stream)
34  , m_BackupBuffer(m_Stream.rdbuf(newStreamBuffer))
35  {}
36  ~StreamRedirector() { m_Stream.rdbuf(m_BackupBuffer); }
37 
38  private:
39  std::ostream& m_Stream;
40  std::streambuf* m_BackupBuffer;
41  };
42 
43  StreamRedirector redirect(std::cout, ss.rdbuf());
44 
45  using namespace armnn;
46  SetLogFilter(LogSeverity::Trace);
47  SetAllLoggingSinks(true, false, false);
48 
49  ARMNN_LOG(trace) << "My trace message; " << -2;
50  ARMNN_LOG(debug) << "My debug message; " << -1;
51  ARMNN_LOG(info) << "My info message; " << 0;
52  ARMNN_LOG(warning) << "My warning message; " << 1;
53  ARMNN_LOG(error) << "My error message; " << 2;
54  ARMNN_LOG(fatal) << "My fatal message; " << 3;
55 
56  SetLogFilter(LogSeverity::Fatal);
57  }
58 
59  CHECK(ss.str().find("Trace: My trace message; -2") != std::string::npos);
60  CHECK(ss.str().find("Debug: My debug message; -1") != std::string::npos);
61  CHECK(ss.str().find("Info: My info message; 0") != std::string::npos);
62  CHECK(ss.str().find("Warning: My warning message; 1") != std::string::npos);
63  CHECK(ss.str().find("Error: My error message; 2") != std::string::npos);
64  CHECK(ss.str().find("Fatal: My fatal message; 3") != std::string::npos);
65 }
66 
67 }
void ConfigureLoggingTest()
Definition: UnitTests.hpp:22
void SetAllLoggingSinks(bool standardOut, bool debugOut, bool coloured)
Definition: Logging.cpp:191
#define ARMNN_LOG(severity)
Definition: Logging.hpp:205
Copyright (c) 2021 ARM Limited and Contributors.
TEST_CASE_FIXTURE(ClContextControlFixture, "CopyBetweenNeonAndGpu")
void SetLogFilter(LogSeverity level)
Definition: Logging.cpp:73
TEST_SUITE("LoggerSuite")
Definition: UnitTests.cpp:23