⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tracer.cpp

📁 Pegasus is an open-source implementationof the DMTF CIM and WBEM standards. It is designed to be por
💻 CPP
📖 第 1 页 / 共 2 页
字号:
// Description:// Implements trace call for Tracer::Level3// should log a trace message//// Type:// Positive //// return 0 if the test passed// return 1 if the test failed//Uint32 test14(){    const char* METHOD_NAME = "test14";    Tracer::setTraceComponents("ALL");    Tracer::setTraceLevel(Tracer::LEVEL4);    Tracer::setTraceFile(FILE3);    Tracer::trace(__FILE__,__LINE__,TRC_CONFIG,Tracer::LEVEL3,"%s %s",	"Test Message for Level3 in",METHOD_NAME);    return(compare(FILE3,"Test Message for Level3 in test14"));}//// Description:// Implements trace call for Tracer::Level4// should log a trace message//// Type:// Positive //// return 0 if the test passed// return 1 if the test failed//Uint32 test15(){    const char* METHOD_NAME = "test15";    Tracer::setTraceComponents("ALL");    Tracer::setTraceLevel(Tracer::LEVEL4);    Tracer::trace(__FILE__,__LINE__,TRC_CONFIG,Tracer::LEVEL4,"%s %s",	"Test Message for Level4 in",METHOD_NAME);    return(compare(FILE3,"Test Message for Level4 in test15"));}//// Description:// calls the setTraceComponents with null string// should log a trace message//// Type:// Negative //// return 0 if the test passed// return 1 if the test failed//Uint32 test16(){    const char* METHOD_NAME = "test16";    Tracer::setTraceComponents("");    Tracer::setTraceLevel(Tracer::LEVEL4);    Tracer::trace(__FILE__,__LINE__,TRC_CONFIG,Tracer::LEVEL4,"%s %s",	"This Message should not appear in",METHOD_NAME);    return(compare(FILE3,"Test Message for Level4 in test15"));}//// Description:// calls the setTraceComponents with one valid and another invalid component// should log a trace message//// Type:// Negative //// return 0 if the test passed// return 1 if the test failed//Uint32 test17(){    const char* METHOD_NAME = "test17";    Tracer::setTraceComponents("InvalidComp");    Tracer::setTraceLevel(Tracer::LEVEL4);    Tracer::trace(__FILE__,__LINE__,TRC_CONFIG,Tracer::LEVEL4,"%s %s",	"This Message should not appear in",METHOD_NAME);    return(compare(FILE3,"Test Message for Level4 in test15"));}//// Description:// calls the _traceBuffer call// should log a trace message//// Type:// Positive//// return 0 if the test passed// return 1 if the test failed//Uint32 test18(){    const char* METHOD_NAME = "test18";    Tracer::setTraceComponents("Config,InvalidComp");    Tracer::setTraceLevel(Tracer::LEVEL4);    Tracer::traceBuffer(__FILE__,__LINE__,TRC_CONFIG,Tracer::LEVEL4,        "This Message should appear in",4);    Tracer::traceBuffer(TRC_CONFIG,Tracer::LEVEL4,        "This Message should appear in",4);    return(compare(FILE3,"This"));}//// Description:// calls the isValid call // should not log a trace message//// Type:// Positive//// return 0 if the test passed// return 1 if the test failed//Uint32 test19(){    const char* METHOD_NAME = "test18";    Tracer::setTraceComponents("Config,InvalidComp");    Tracer::setTraceLevel(Tracer::LEVEL4);    Tracer::traceBuffer(__FILE__,__LINE__,TRC_CONFIG,Tracer::LEVEL4,        "This Message should appear in",4);    Tracer::traceBuffer(TRC_CONFIG,Tracer::LEVEL4,        "This Message should appear in",4);    return(compare(FILE3,"This"));}//// Description:// Trace a string.// Calls the _traceString() method// should log a trace message//// Type:// Positive//// return 0 if the test passed// return 1 if the test failed//Uint32 test20(){    const char* METHOD_NAME = "test20";    Tracer::setTraceFile(FILE4);    Tracer::setTraceComponents("ALL");    Tracer::setTraceLevel(Tracer::LEVEL4);    PEG_METHOD_ENTER(TRC_CONFIG, METHOD_NAME);    Tracer::trace(__FILE__,__LINE__,TRC_CONFIG,Tracer::LEVEL4,	"Test Message for Level4 in test20");    return(compare(FILE4,"Test Message for Level4 in test20"));}//// Description:// Trace a CIMException.// Calls the traceCIMException() method// should log a trace message//// Type:// Positive//// return 0 if the test passed// return 1 if the test failed//Uint32 test21(){    const char* METHOD_NAME = "test21";    Tracer::setTraceFile(FILE4);    Tracer::setTraceComponents("ALL");    Tracer::setTraceLevel(Tracer::LEVEL4);    PEG_METHOD_ENTER(TRC_CONFIG, METHOD_NAME);    // test tracing CIMException    try    {        throw PEGASUS_CIM_EXCEPTION(            CIM_ERR_NOT_SUPPORTED,             "CIM Exception Message for Level4 in test21.");    }    catch (CIMException& e)    {        Tracer::traceCIMException(TRC_CONFIG,Tracer::LEVEL4, e);    }    return 0;}//// Description:// Trace a string using macro.// should log a trace message//// Type:// Positive//// return 0 if the test passed// return 1 if the test failed//Uint32 test22(){    const char* METHOD_NAME = "test22";    Tracer::setTraceFile(FILE4);    Tracer::setTraceComponents("ALL");    Tracer::setTraceLevel(Tracer::LEVEL4);    PEG_METHOD_ENTER(TRC_CONFIG, METHOD_NAME);    PEG_TRACE_STRING(TRC_CONFIG,Tracer::LEVEL4,"Test message for Level4 in test22.");    return(compare(FILE4,"Test message for Level4 in test22."));}int main(int argc, char** argv){// Execute the tests only if trace calls are included#ifdef PEGASUS_REMOVE_TRACE    cout << argv[0] << " +++++ passed all tests" << endl;    return 0;#else    const char* tmpDir = getenv ("PEGASUS_TMP");    if (tmpDir == NULL)    {        tmpDir = ".";    }    String f1 (tmpDir);    f1.append("/testtracer1.trace");    FILE1 = f1.getCString();    String f2 (tmpDir);    f2.append("/testtracer2.trace");    FILE2 = f2.getCString();    String f3 (tmpDir);    f3.append("/testtracer3.trace");    FILE3 = f3.getCString();    String f4 (tmpDir);    f4.append("/testtracer4.trace");    FILE4 = f4.getCString();    System::removeFile(FILE1);    System::removeFile(FILE2);    System::removeFile(FILE3);    System::removeFile(FILE4);    if (test1() == 0)    {       cout << "Tracer test (test1) failed" << endl;       exit(1);    }    if (test2() == 0)    {       cout << "Tracer test (test2) failed" << endl;       exit(1);    }    if (test3() == 0)    {       cout << "Tracer test (test3) failed" << endl;       exit(1);    }    if (test4() != 0)    {       cout << "Tracer test (test4) failed" << endl;       exit(1);    }    if (test5() != 0)    {       cout << "Tracer test (test5) failed" << endl;       exit(1);    }    if (test6() != 0)    {       cout << "Tracer test (test6) failed" << endl;       exit(1);    }    if (test7() != 0)    {       cout << "Tracer test (test7) failed" << endl;       exit(1);    }    if (test8() != 0)    {       cout << "Tracer test (test8) failed" << endl;       exit(1);    }    if (test9() != 0)    {       cout << "Tracer test (test9) failed" << endl;       exit(1);    }    /***************************        Test 10 bypassed when tests changed to       use macros.  It did an invalid call which is       not possible with macros    if (test10() != 0)    {       cout << "Tracer test (test10) failed" << endl;       exit(1);    }    ******************************/    if (test11() != 0)    {       cout << "Tracer test (test11) failed" << endl;       exit(1);    }    if (test12() != 0)    {       cout << "Tracer test (test12) failed" << endl;       exit(1);    }    if (test13() != 0)    {       cout << "Tracer test (test13) failed" << endl;       exit(1);    }    if (test14() != 0)    {       cout << "Tracer test (test14) failed" << endl;       exit(1);    }    if (test15() != 0)    {       cout << "Tracer test (test15) failed" << endl;       exit(1);    }    if (test16() != 0)    {       cout << "Tracer test (test16) failed" << endl;       exit(1);    }    if (test17() != 0)    {       cout << "Tracer test (test17) failed" << endl;       exit(1);    }    if (test18() != 0)    {       cout << "Tracer test (test18) failed" << endl;       exit(1);    }    if (test19() != 0)    {       cout << "Tracer test (test19) failed" << endl;       exit(1);    }    if (test20() != 0)    {       cout << "Tracer test (test20) failed" << endl;       exit(1);    }    if (test21() != 0)    {       cout << "Tracer test (test21) failed" << endl;       exit(1);    }    if (test22() != 0)    {       cout << "Tracer test (test22) failed" << endl;       exit(1);    }    cout << argv[0] << " +++++ passed all tests" << endl;    System::removeFile(FILE1);    System::removeFile(FILE2);    System::removeFile(FILE3);    System::removeFile(FILE4);    return 0;#endif}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -