Распространение спама на выходе Boost Test с отключением при запуске именованного теста - PullRequest
3 голосов
/ 14 июля 2020

Я запускаю тест / пакет Boost Test по имени, используя:

./MyTestExe --run_test=my_test

К сожалению, я получаю сотни:

"Test case "bla" is skipped because disabled"

Но я не отключал я просто решил не запускать его.

Есть ли способ удалить все эти сообщения? Однако, если возможно, я хотел бы сохранить их на случай, если я все запустил, а тест фактически отключен?

1 Ответ

1 голос
/ 15 июля 2020

Было бы неплохо сделать репродукцию.

Итак, я сделал самый простой:

#define BOOST_TEST_MODULE test module name
#include <boost/test/included/unit_test.hpp>

BOOST_AUTO_TEST_SUITE(Suite)
    
    BOOST_AUTO_TEST_CASE(A) {
        BOOST_TEST_MESSAGE("Yo A");
        BOOST_TEST(1 == 3);
    }

    BOOST_AUTO_TEST_CASE(B) {
        BOOST_TEST_MESSAGE("Yo B");
        BOOST_TEST(1 == 1);
    }

    BOOST_AUTO_TEST_CASE(C) {
        BOOST_TEST_MESSAGE("Yo C");
        BOOST_TEST(3 == 3);
    }

BOOST_AUTO_TEST_SUITE_END()

который печатает Live On Coliru

enter image description here

Now let's run only test case C: ./a.out -t Suite/C: Live On Coliru

enter image description here

In order to actually see the informational messages you mention, you have to ask for it:

a.out -t Suite/C -l all Live On Coliru

enter image description here

The options are:

  log_level
    Specifies the logging level of the test execution.
    --log_level=
    -l 

Turns out you need at leat unit_scope or test_suite to see it. If you just want to see your own informationals, use -l message: Live On Coliru

введите описание изображения здесь

Вывод:

Просто не включайте подробное ведение журнала.

Примечание возможно, что конфигурация журнала где-то сделано неявно. Например, в пользовательской точке входа runner или при чтении из файла конфигурации. Кроме того, если это на каком-то сервере CI, проверьте свои сценарии сборки / CI.

...