Skip to content
Snippets Groups Projects
Select Git revision
  • fe851b1cd6bfdad68feef191b68be9fbe2c1ccfc
  • master default protected
  • release/202005
  • release/202001
  • release/201912
  • release/201911
  • release/releaseWindowsTestOne
  • release/windowsReleaseTest
  • release/releaseTest
  • release/releaseWindowsTest
  • release/201910
  • release/qt/201910
  • release/windows-test/201910
  • release/201908
  • release/201906
  • release/201905
  • release/201904
  • release/201903
  • release/201902
  • release/201901
  • release/201812
  • 4.0.0
  • 2.2.0
  • 2.1.0
  • 2.0.1
  • 2.0.0
  • 1.4.1
  • 1.4.0
  • 1.3.0
  • 1.2.0
  • 1.1.0
31 results

test_runner.h

Blame
  • Mohamed Chibani's avatar
    Mohamed Chibani authored
    Add a media negotiation unit test for auto-answer mode
    
    Gitlab: #645
    
    Change-Id: I37f768ce48e078fbd95a2c9b28997877a4dc468d
    38981578
    History
    Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    test_runner.h 1.65 KiB
    #include <iostream>
    
    #include <cppunit/extensions/TestFactoryRegistry.h>
    #include <cppunit/ui/text/TestRunner.h>
    #include <cppunit/CompilerOutputter.h>
    
    #define RING_TEST_RUNNER(suite_name) \
        int main() \
        { \
            CppUnit::TestFactoryRegistry& registry = CppUnit::TestFactoryRegistry::getRegistry( \
                suite_name); \
            CppUnit::Test* suite = registry.makeTest(); \
            if (suite->countTestCases() == 0) { \
                std::cout << "No test cases specified for suite \"" << suite_name << "\"\n"; \
                return 1; \
            } \
            CppUnit::TextUi::TestRunner runner; \
            runner.addTest(suite); \
            return runner.run() ? 0 : 1; \
        }
    
    // This version of the test runner is similar to RING_TEST_RUNNER but
    // can take multiple unit tests.
    // It's practical to run a test for diffrent configs, for instance when
    // running the same test for both Jami and SIP accounts.
    
    // The test will abort if a test fails.
    #define JAMI_TEST_RUNNER(...) \
        int main() \
        { \
            std::vector<std::string> suite_names {__VA_ARGS__}; \
            for (const std::string& name : suite_names) { \
                CppUnit::TestFactoryRegistry& registry = CppUnit::TestFactoryRegistry::getRegistry( \
                    name); \
                CppUnit::Test* suite = registry.makeTest(); \
                if (suite->countTestCases() == 0) { \
                    std::cout << "No test cases specified for suite \"" << name << "\"\n"; \
                    continue; \
                } \
                CppUnit::TextUi::TestRunner runner; \
                runner.addTest(suite); \
                if (not runner.run()) \
                    return 1; \
            } \
            return 0; \
        }