Project
Loading...
Searching...
No Matches
catch_amalgamated.cxx File Reference
#include "catch_amalgamated.hpp"
#include <exception>
#include <cassert>
#include <cstddef>
#include <numeric>
#include <random>
#include <cmath>
#include <limits>
#include <fstream>
#include <stack>
#include <algorithm>
#include <iomanip>
#include <set>
#include <cctype>
#include <string>
#include <vector>
#include <ostream>
#include <chrono>
#include <utility>
#include <stdexcept>
#include <cerrno>
#include <signal.h>
#include <cstring>
#include <cstdlib>
#include <cstdio>
#include <sstream>
#include <ctime>
#include <iostream>
#include <cstdint>
#include <iterator>
#include <type_traits>
#include <regex>
#include <cfloat>
#include <map>

Go to the source code of this file.

Classes

struct  Catch::Benchmark::Detail::optimized_away_error
 
struct  Catch::SignalDefs
 
struct  Catch::ReporterRegistry::ReporterRegistryImpl
 
struct  Catch::StringStreams
 

Namespaces

namespace  Catch
 
namespace  Catch::Benchmark
 
namespace  Catch::Benchmark::Detail
 
namespace  Catch::literals
 
namespace  Catch::Detail
 
namespace  Catch::Generators
 
namespace  Catch::Generators::Detail
 
namespace  Catch::Clara
 
namespace  Catch::Clara::Detail
 
namespace  Catch::TestCaseTracking
 
namespace  Catch::TextFlow
 
namespace  Catch::Matchers
 
namespace  Catch::Matchers::Detail
 

Macros

#define CATCH_WINDOWS_H_PROXY_HPP_INCLUDED
 

Typedefs

using Catch::RegistryHubSingleton = Singleton< RegistryHub, IRegistryHub, IMutableRegistryHub >
 

Enumerations

enum class  Catch::Matchers::Detail::FloatingPointKind : uint8_t { Catch::Matchers::Detail::Float , Catch::Matchers::Detail::Double }
 

Functions

void Catch::Benchmark::Detail::throw_optimized_away_error ()
 
bool Catch::Benchmark::Detail::directCompare (double lhs, double rhs)
 
double Catch::Benchmark::Detail::weighted_average_quantile (int k, int q, std::vector< double >::iterator first, std::vector< double >::iterator last)
 
OutlierClassification Catch::Benchmark::Detail::classify_outliers (std::vector< double >::const_iterator first, std::vector< double >::const_iterator last)
 
double Catch::Benchmark::Detail::mean (std::vector< double >::const_iterator first, std::vector< double >::const_iterator last)
 
double Catch::Benchmark::Detail::erfc_inv (double x)
 
double Catch::Benchmark::Detail::normal_quantile (double p)
 
bootstrap_analysis Catch::Benchmark::Detail::analyse_samples (double confidence_level, unsigned int n_resamples, std::vector< double >::iterator first, std::vector< double >::iterator last)
 
Approx Catch::literals::operator""_a (long double val)
 
Approx Catch::literals::operator""_a (unsigned long long val)
 
bool Catch::operator== (ProcessedReporterSpec const &lhs, ProcessedReporterSpec const &rhs)
 
std::uint32_t Catch::getSeed ()
 
IRegistryHub const & Catch::getRegistryHub ()
 
IMutableRegistryHub & Catch::getMutableRegistryHub ()
 
void Catch::cleanUp ()
 
std::string Catch::translateActiveException ()
 
void Catch::Detail::registerTranslatorImpl (Detail::unique_ptr< IExceptionTranslator > &&translator)
 
std::ostream & Catch::operator<< (std::ostream &os, Version const &version)
 
Version const & Catch::libraryVersion ()
 
void Catch::Generators::Detail::throw_generator_exception (char const *msg)
 
IGeneratorTracker * Catch::Generators::acquireGeneratorTracker (StringRef generatorName, SourceLineInfo const &lineInfo)
 
IGeneratorTracker * Catch::Generators::createGeneratorTracker (StringRef generatorName, SourceLineInfo lineInfo, GeneratorBasePtr &&generator)
 
void Catch::handleExceptionMatchExpr (AssertionHandler &handler, std::string const &str)
 
ParserResult Catch::Clara::Detail::convertInto (std::string const &source, std::string &target)
 
ParserResult Catch::Clara::Detail::convertInto (std::string const &source, bool &target)
 
Clara::Parser Catch::makeCommandLineParser (ConfigData &config)
 
uint32_t Catch::Detail::convertToBits (float f)
 
uint64_t Catch::Detail::convertToBits (double d)
 
char const * Catch::Detail::getEnv (char const *varName)
 
auto Catch::makeStream (std::string const &filename) -> Detail::unique_ptr< IStream >
 
auto Catch::operator<< (std::ostream &os, LazyExpression const &lazyExpr) -> std::ostream &
 
bool Catch::list (IEventListener &reporter, Config const &config)
 
int main (int argc, char *argv[])
 
Optional< unsigned intCatch::parseUInt (std::string const &input, int base)
 
bool Catch::isnan (float f)
 
bool Catch::isnan (double d)
 
bool Catch::operator== (SimplePcg32 const &lhs, SimplePcg32 const &rhs)
 
bool Catch::operator!= (SimplePcg32 const &lhs, SimplePcg32 const &rhs)
 
std::uint32_t Catch::generateRandomSeed (GenerateFrom from)
 
std::vector< std::string > Catch::Detail::splitReporterSpec (StringRef reporterSpec)
 
Optional< ColourMode > Catch::Detail::stringToColourMode (StringRef colourMode)
 
bool Catch::operator== (ReporterSpec const &lhs, ReporterSpec const &rhs)
 
Optional< ReporterSpec > Catch::parseReporterSpec (StringRef reporterSpec)
 
bool Catch::isOk (ResultWas::OfType resultType)
 
bool Catch::isJustInfo (int flags)
 
ResultDisposition::Flags Catch::operator| (ResultDisposition::Flags lhs, ResultDisposition::Flags rhs)
 
bool Catch::shouldContinueOnFailure (int flags)
 
bool Catch::shouldSuppressFailure (int flags)
 
IResultCapture & Catch::getResultCapture ()
 
void Catch::seedRng (IConfig const &config)
 
unsigned int Catch::rngSeed ()
 
void Catch::addSingleton (ISingleton *singleton)
 
void Catch::cleanupSingletons ()
 
std::ostream & Catch::operator<< (std::ostream &os, SourceLineInfo const &info)
 
std::ostream & Catch::cout ()
 
std::ostream & Catch::cerr ()
 
std::ostream & Catch::clog ()
 
bool Catch::startsWith (std::string const &s, std::string const &prefix)
 
bool Catch::startsWith (StringRef s, char prefix)
 
bool Catch::endsWith (std::string const &s, std::string const &suffix)
 
bool Catch::endsWith (std::string const &s, char suffix)
 
bool Catch::contains (std::string const &s, std::string const &infix)
 
void Catch::toLowerInPlace (std::string &s)
 
std::string Catch::toLower (std::string const &s)
 
char Catch::toLower (char c)
 
std::string Catch::trim (std::string const &str)
 
StringRef Catch::trim (StringRef ref)
 
bool Catch::replaceInPlace (std::string &str, std::string const &replaceThis, std::string const &withThis)
 
std::vector< StringRef > Catch::splitStringRef (StringRef str, char delimiter)
 
std::ostream & Catch::operator<< (std::ostream &os, pluralise const &pluraliser)
 
auto Catch::operator<< (std::ostream &os, StringRef str) -> std::ostream &
 
std::string Catch::operator+ (StringRef lhs, StringRef rhs)
 
auto Catch::operator+= (std::string &lhs, StringRef rhs) -> std::string &
 
std::vector< TestCaseHandle > Catch::sortTests (IConfig const &config, std::vector< TestCaseHandle > const &unsortedTestCases)
 
bool Catch::isThrowSafe (TestCaseHandle const &testCase, IConfig const &config)
 
std::vector< TestCaseHandle > Catch::filterTests (std::vector< TestCaseHandle > const &testCases, TestSpec const &testSpec, IConfig const &config)
 
std::vector< TestCaseHandle > const & Catch::getAllTestCasesSorted (IConfig const &config)
 
void Catch::throw_test_failure_exception ()
 
void Catch::throw_test_skip_exception ()
 
Detail::unique_ptr< ITestInvoker > Catch::makeTestInvoker (void(*testAsFunction)())
 
std::ostream & Catch::TextFlow::operator<< (std::ostream &os, Column const &col)
 
Column Catch::TextFlow::Spacer (size_t spaceWidth)
 
std::ostream & Catch::TextFlow::operator<< (std::ostream &os, Columns const &cols)
 
bool Catch::uncaught_exceptions ()
 
XmlFormatting Catch::operator| (XmlFormatting lhs, XmlFormatting rhs)
 
XmlFormatting Catch::operator& (XmlFormatting lhs, XmlFormatting rhs)
 
std::ostream & Catch::operator<< (std::ostream &os, XmlEncode const &xmlEncode)
 
IsEmptyMatcher Catch::Matchers::IsEmpty ()
 
HasSizeMatcher Catch::Matchers::SizeIs (std::size_t sz)
 
ExceptionMessageMatcher Catch::Matchers::Message (std::string const &message)
 
WithinUlpsMatcher Catch::Matchers::WithinULP (double target, uint64_t maxUlpDiff)
 
WithinUlpsMatcher Catch::Matchers::WithinULP (float target, uint64_t maxUlpDiff)
 
WithinAbsMatcher Catch::Matchers::WithinAbs (double target, double margin)
 
WithinRelMatcher Catch::Matchers::WithinRel (double target, double eps)
 
WithinRelMatcher Catch::Matchers::WithinRel (double target)
 
WithinRelMatcher Catch::Matchers::WithinRel (float target, float eps)
 
WithinRelMatcher Catch::Matchers::WithinRel (float target)
 
IsNaNMatcher Catch::Matchers::IsNaN ()
 
AllTrueMatcher Catch::Matchers::AllTrue ()
 
NoneTrueMatcher Catch::Matchers::NoneTrue ()
 
AnyTrueMatcher Catch::Matchers::AnyTrue ()
 
StringEqualsMatcher Catch::Matchers::Equals (std::string const &str, CaseSensitive caseSensitivity)
 
StringContainsMatcher Catch::Matchers::ContainsSubstring (std::string const &str, CaseSensitive caseSensitivity)
 
EndsWithMatcher Catch::Matchers::EndsWith (std::string const &str, CaseSensitive caseSensitivity)
 
StartsWithMatcher Catch::Matchers::StartsWith (std::string const &str, CaseSensitive caseSensitivity)
 
RegexMatcher Catch::Matchers::Matches (std::string const &regex, CaseSensitive caseSensitivity)
 
std::string Catch::Matchers::Detail::describe_multi_matcher (StringRef combine, std::string const *descriptions_begin, std::string const *descriptions_end)
 
void Catch::handleExceptionMatchExpr (AssertionHandler &handler, StringMatcher const &matcher)
 

Detailed Description

This file provides platform specific implementations of FatalConditionHandler

This means that there is a lot of conditional compilation, and platform specific code. Currently, Catch2 supports a dummy handler (if no handler is desired), and 2 platform specific handlers:

  • Windows' SEH
  • POSIX signals

Consequently, various pieces of code below are compiled if either of the platform specific handlers is enabled, or if none of them are enabled. It is assumed that both cannot be enabled at the same time, and doing so should cause a compilation error.

If another platform specific handler is added, the compile guards below will need to be updated taking these assumptions into account.

Definition in file catch_amalgamated.cxx.

Macro Definition Documentation

◆ CATCH_WINDOWS_H_PROXY_HPP_INCLUDED

#define CATCH_WINDOWS_H_PROXY_HPP_INCLUDED

Definition at line 19 of file catch_amalgamated.cxx.

Function Documentation

◆ main()

int main ( int  argc,
char argv[] 
)

Definition at line 4443 of file catch_amalgamated.cxx.

Variable Documentation

◆ justification

Justification justification

Definition at line 8460 of file catch_amalgamated.cxx.

◆ key

StringRef key

Definition at line 4853 of file catch_amalgamated.cxx.

◆ m_generator

GeneratorBasePtr m_generator

Definition at line 5094 of file catch_amalgamated.cxx.

◆ name

Definition at line 8458 of file catch_amalgamated.cxx.

◆ shardCount

unsigned int shardCount

Definition at line 598 of file catch_amalgamated.cxx.

◆ shardFilePath

std::string shardFilePath

Definition at line 599 of file catch_amalgamated.cxx.

◆ shardIndex

unsigned int shardIndex

Definition at line 598 of file catch_amalgamated.cxx.

◆ value

StringRef value

Definition at line 4853 of file catch_amalgamated.cxx.

◆ width

std::size_t width

Definition at line 8459 of file catch_amalgamated.cxx.