2014-12-01 1 views
0

Простой вопрос: можно ли отображать содержимое переменной, недавно проверенной с помощью теста CUnit? Printf() не отображается во время тестов, и в любом случае я не хочу его использовать. Например, я хотел бы Куните вывести результатОтображать содержимое переменной ASSERTed

(MQUEUE_PRI_MASK & флаг)

Возможно ли это? Ниже приводится выходной ток Куните:

Suite: Message Queue Test 
    Test: mqueue_init ...passed 
    Test: mqueue : Test send & rcv functions ...passed 
    Test: mqueue : Test mqueue priority ...passed 
    Test: mqueue : Test mqueue flags ...0FAILED 
    1. utils/test_mqueue.c:117 - CU_ASSERT_EQUAL((MQUEUE_PRI_MASK & flag),MQUEUE_PRI_HIGH) 
    Test: mqueue_free ...passed 

Ожидаемый результат:

Suite: Message Queue Test 
    Test: mqueue_init ...passed 
    Test: mqueue : Test send & rcv functions ...passed 
    Test: mqueue : Test mqueue priority ...passed 
    Test: mqueue : Test mqueue flags ...0FAILED 
    1. utils/test_mqueue.c:117 - CU_ASSERT_EQUAL(5 ,MQUEUE_PRI_HIGH) 
    Test: mqueue_free ...passed 

Спасибо!

ответ

0

Это невозможно при использовании встроенных макросов assert, но создавать их не сложно. Посмотрите определения макросов в <CUnit/CUnit.h>. Вероятно, вам придется написать свой собственный вариант CU_assertImplementation(). Используйте исходный источник в качестве шаблона.