示例#1
0
void LogHandlerTest()
{
    OriginalLogHandler = GetLogHandler();
    dummyAddCleanup(
        []( void* _ ){ SetLogHandler(OriginalLogHandler); },
        NULL);

    SetLogHandler([]( LogLevel level, const char* line ){
        dummyLog("level=%d line='%s'", level, line);
        CallCount++;
        switch(CallCount)
        {
            case 1:
                Require(level == LOG_INFO);
                Require(strcmp(line, "foo") == 0);
                break;

            case 2:
                Require(level == LOG_ERROR);
                Require(strcmp(line, "bar") == 0);
                break;

            case 3:
                Require(level == LOG_INFO);
                Require(strcmp(line, "aaa") == 0);
                break;

            case 4:
                Require(level == LOG_INFO);
                Require(strcmp(line, "bbb") == 0);
                break;

            case 5:
                Require(level == LOG_INFO);
                Require(strcmp(line, "ccc") == 0);
                break;

            case 6:
                Require(level == LOG_INFO);
                Require(strcmp(line, "") == 0);
                break;

            default:
                dummyAbortTest(DUMMY_FAIL_TEST,
                    "Invalid log handler call count: %d", CallCount);
        }
    });

    CallCount = 0;

    Log("foo");
    Error("bar");
    Log("aaa\nbbb");
    Log("ccc\n");

    Require(CallCount == 6);
}
示例#2
0
文件: sandbox.cpp 项目: henry4k/dummy
void Level1()
{
    dummyLog("Level1 called!");
    level2Sandbox(Level2, NULL);
    dummyRequire(2+2 == 5);
}
示例#3
0
文件: sandbox.cpp 项目: henry4k/dummy
void Level2()
{
    dummyLog("Level2 called!");
}