示例#1
0
void CBDB_TestThreads::Init(void)
{
    SetDiagTrace(eDT_Enable);

    SetDiagPostLevel(eDiag_Warning);
    SetDiagPostFlag(eDPF_File);
    SetDiagPostFlag(eDPF_Line);
    SetDiagPostFlag(eDPF_Trace);


    auto_ptr<CArgDescriptions> arg_desc(new CArgDescriptions);
    arg_desc->SetUsageContext("test_bdb_threads",
                              "test BDB library with threads");

    arg_desc->AddOptionalKey("recs",
                             "recs",
                             "Number of records to load per thread",
                             CArgDescriptions::eInteger);

    arg_desc->AddOptionalKey("threads",
                             "threads",
                             "Number of concurrent threads",
                             CArgDescriptions::eInteger);

    SetupArgDescriptions(arg_desc.release());
}
示例#2
0
void CDBAPI_CacheTest::Init(void)
{
    SetDiagPostLevel(eDiag_Warning);
    SetDiagPostFlag(eDPF_File);
    SetDiagPostFlag(eDPF_Line);
    auto_ptr<CArgDescriptions> d(new CArgDescriptions);
    d->SetUsageContext("test_bdb", "test BDB library");
    SetupArgDescriptions(d.release());
}
示例#3
0
void CBDB_PhoneBookDemo1::Init(void)
{
    SetDiagPostLevel(eDiag_Warning);
    SetDiagPostFlag(eDPF_File);
    SetDiagPostFlag(eDPF_Line);
    auto_ptr<CArgDescriptions> d(new CArgDescriptions);
    d->SetUsageContext("bdb demo1",
                       "Demo1 application for BDB library");
    SetupArgDescriptions(d.release());
}
示例#4
0
void CCgiApplication::Init(void)
{
    if ( TMergeLogLines::GetDefault() ) {
        // Convert multi-line diagnostic messages into one-line ones by default.
        SetDiagPostFlag(eDPF_PreMergeLines);
        SetDiagPostFlag(eDPF_MergeLines);
    }

    CParent::Init();

    m_Resource.reset(LoadResource());

    m_DiagPrefixEnv = GetConfig().Get("CGI", "DiagPrefixEnv");
}
示例#5
0
CCgiApplication::CCgiApplication(void) 
 : m_RequestFlags(0),
   m_HostIP(0), 
   m_Iteration(0),
   m_ArgContextSync(false),
   m_OutputBroken(false),
   m_IsResultReady(true),
   m_ShouldExit(false),
   m_RequestStartPrinted(false),
   m_ErrorStatus(false)
{
    // CGI applications should use /log for logging by default
    CDiagContext::SetUseRootLog();
    // Disable system popup messages
    SuppressSystemMessageBox();

    // Turn on iteration number
    SetDiagPostFlag(eDPF_RequestId);
    SetDiagTraceFlag(eDPF_RequestId);

    SetStdioFlags(fBinaryCin | fBinaryCout);
    DisableArgDescriptions();
    RegisterDiagFactory("stderr", new CStderrDiagFactory);
    RegisterDiagFactory("asbody", new CAsBodyDiagFactory(this));
    cerr.tie(0);
}
示例#6
0
void CTestApplication::Init(void)
{
    // Set err.-posting and tracing to maximum
    SetDiagTrace(eDT_Enable);
    SetDiagPostFlag(eDPF_All);
    SetDiagPostLevel(eDiag_Info);
}
示例#7
0
void Cn3DNoWin::Init(void)
{
    // turn off some Mesa-related env vars, irrelevant to off-screen rendering and not platform-indepdendent
    setenv("MESA_NO_3DNOW", "true", 1);
    setenv("MESA_NO_SSE", "true", 1);
    
    // setup the diagnostic stream
    SetDiagHandler(DisplayDiagnostic, NULL, NULL);
    SetDiagPostLevel(eDiag_Info);   // report all messages
    SetDiagTrace(eDT_Default);      // trace messages only when DIAG_TRACE env. var. is set
    UnsetDiagTraceFlag(eDPF_Location);
#ifdef _DEBUG
    SetDiagPostFlag(eDPF_File);
    SetDiagPostFlag(eDPF_Line);
#else
    UnsetDiagTraceFlag(eDPF_File);
    UnsetDiagTraceFlag(eDPF_Line);
#endif

    // C++ object verification
    CSerialObject::SetVerifyDataGlobal(eSerialVerifyData_Always);
    CObjectIStream::SetVerifyDataGlobal(eSerialVerifyData_Always);
    CObjectOStream::SetVerifyDataGlobal(eSerialVerifyData_Always);

    // set up argument processing
    CArgDescriptions *argDescr = new CArgDescriptions(false);
    argDescr->SetUsageContext(GetArguments().GetProgramName(), "No-Window Cn3D");
    
    // get data from file or network
    argDescr->AddOptionalKey("f", "file", "Ncbi-mime-asn1, Biostruc, or Cdd ASN.1 data file", argDescr->eString);
    argDescr->AddOptionalKey("d", "id", "MMDB or PDB ID", argDescr->eString);
    
    // model, for network or Biostruc load
    argDescr->AddOptionalKey("o", "model", "Model type to use for coordinates", argDescr->eString);
    argDescr->SetConstraint("o", (new CArgAllow_Strings)->Allow("alpha")->Allow("single")->Allow("PDB"));
    
    // controls for output
    argDescr->AddKey("p", "pngfile", "Output PNG file name", argDescr->eString);
    argDescr->AddKey("w", "width", "Output width in pixels", argDescr->eInteger);
    argDescr->AddKey("h", "height", "Output height in pixels", argDescr->eInteger);
    argDescr->AddFlag("i", "Create interlaced PNG");
    
    // use favorite style
    argDescr->AddOptionalKey("s", "style", "Favorite style", argDescr->eString);
    
    SetupArgDescriptions(argDescr);
}
示例#8
0
bool CTestDiagApp::TestApp_Init(void)
{
    // Get arguments
    const CArgs& args = GetArgs();
    SetCase( args["case_number"].AsInteger() );

    NcbiCout << NcbiEndl
             << "Testing NCBIDIAG FILTERING case ("
             << m_Case << ") with "
             << NStr::IntToString(s_NumThreads)
             << " threads..."
             << NcbiEndl;

    SetDiagPostFlag(eDPF_Location);
    SetDiagPostFlag(eDPF_MergeLines);
    // Output to the string stream -- to verify the result
    SetDiagStream(&s_Sout);

    return true;
}
示例#9
0
bool CTestRegApp::TestApp_Init(void)
{
    LOG_POST("Testing NCBITIME " +
             NStr::UIntToString(s_NumThreads) + " threads...");

    // Set err.-posting and tracing to maximum
    SetDiagTrace(eDT_Enable);
    SetDiagPostFlag(eDPF_All);
    SetDiagPostLevel(eDiag_Info);

    return true;
}
示例#10
0
void CTestApp::Init(void)
{
    SetDiagPostLevel(eDiag_Warning);
    SetDiagPostFlag(eDPF_All);
    
    auto_ptr<CArgDescriptions> d(new CArgDescriptions);
    d->SetUsageContext("test_strdbl",
                       "test string <-> double conversion");
    d->AddFlag("speed",
               "Run conversion speed benchmark");
    d->AddOptionalKey("precision", "precision",
                      "Run conversion precision benchmark",
                      CArgDescriptions::eString);
    d->SetConstraint("precision",
                     &(*new CArgAllow_Strings,
                       "Posix", "PosixOld", "strtod"));
    d->AddDefaultKey("count", "count",
                     "Number of test iterations to run",
                     CArgDescriptions::eInteger, "1000000");
    d->AddOptionalKey("test_strings", "test_strings",
                      "List of test strings to run",
                      CArgDescriptions::eString);
    d->AddDefaultKey("verbose", "verbose",
                     "Verbose level",
                     CArgDescriptions::eInteger, "0");
    d->AddDefaultKey("threshold", "threshold",
                     "Close match threshold",
                     CArgDescriptions::eDouble, "0.01");

    d->AddFlag("randomize",
               "Randomize test data (for precision and double-to-string tests)");
    d->AddOptionalKey("seed", "Randomization",
                             "Randomization seed value",
                             CArgDescriptions::eInt8);
    d->AddDefaultKey("digits", "significantDigits",
                     "The number of significant digits in double-to-string conversion",
                     CArgDescriptions::eInteger, NStr::NumericToString(DBL_DIG));
    d->SetConstraint("digits", new CArgAllow_Integers(1, DBL_DIG));

    d->AddDefaultKey("mode", "testmode",
                     "Test string-to-doube, or double-to-string",
                     CArgDescriptions::eString, "both");
    d->SetConstraint( "mode", &(*new CArgAllow_Strings,
            "str2dbl", "dbl2str", "both"));

    SetupArgDescriptions(d.release());
}
void CTestNetScheduleClient::Init(void)
{
    InitOutputBuffer();

    CONNECT_Init();
    SetDiagPostFlag(eDPF_Trace);
    SetDiagPostLevel(eDiag_Info);

    // Setup command line arguments and parameters

    // Create command-line argument descriptions class
    auto_ptr<CArgDescriptions> arg_desc(new CArgDescriptions);

    // Specify USAGE context
    arg_desc->SetUsageContext(GetArguments().GetProgramBasename(),
                              "NetSchedule client");

    arg_desc->AddKey("service", "ServiceName",
        "NetSchedule service name (format: host:port or servcie_name)",
        CArgDescriptions::eString);

    arg_desc->AddKey("queue", "QueueName",
        "NetSchedule queue name",
        CArgDescriptions::eString);

    arg_desc->AddOptionalKey("ilen", "InputLength", "Average input length",
                             CArgDescriptions::eInteger);

    arg_desc->AddOptionalKey("maxruntime", "MaxRunTime",
            "Maximum run time of this test", CArgDescriptions::eInteger);

    arg_desc->AddOptionalKey("input", "InputString", "Input string",
                             CArgDescriptions::eString);

    arg_desc->AddOptionalKey("jobs", "jobs", "Number of jobs to submit",
                             CArgDescriptions::eInteger);

    arg_desc->AddOptionalKey("naff", "AffinityTokens",
        "Number of different affinities", CArgDescriptions::eInteger);


    // Setup arg.descriptions for this application
    SetupArgDescriptions(arg_desc.release());
}
NCBITEST_AUTO_INIT()
{
    // Using old log format ...
    // Show time (no msec.) ...
    SetDiagPostFlag(eDPF_DateTime);

    try {
        CSDB_ConnectionParam params;
        params.Set(CSDB_ConnectionParam::eService,  GetArgs().GetServerName());
        params.Set(CSDB_ConnectionParam::eUsername, GetArgs().GetUserName());
        params.Set(CSDB_ConnectionParam::ePassword, GetArgs().GetUserPassword());
        params.Set(CSDB_ConnectionParam::eDatabase, GetArgs().GetDatabaseName());
        s_Conn.reset(new CDatabase(params));
        s_ResetConnection();
    }
    catch (CSDB_Exception& ex) {
        LOG_POST(Warning << "Error connecting to database: " << ex);
        NcbiTestSetGlobalDisabled();
        return;
    }
    _ASSERT(s_Conn.get());
}
void CTestApplication::Init(void)
{
    // Set error posting and tracing on maximum
    SetDiagTrace(eDT_Enable);
    SetDiagPostFlag(eDPF_All);
    SetDiagPostLevel(eDiag_Info);

    // Create command-line argument descriptions class
    auto_ptr<CArgDescriptions> arg_desc(new CArgDescriptions);
    
    // Specify USAGE context
    arg_desc->SetUsageContext(GetArguments().GetProgramBasename(), "Test inter-process locks");
    
    // Specific to multi-process configuration test
    arg_desc->AddDefaultKey("test", "number", "test case number (internal use only)",
                            CArgDescriptions::eInteger, "0");
    arg_desc->AddDefaultKey("lock", "name", "parent's lock (internal use only)",
                            CArgDescriptions::eString, kEmptyStr);
    
    // Setup arg.descriptions for this application
    SetupArgDescriptions(arg_desc.release());
}
示例#14
0
void CDBAPI_CacheAdmin::Init(void)
{
    SetDiagPostLevel(eDiag_Warning);
    SetDiagPostFlag(eDPF_File);
    SetDiagPostFlag(eDPF_Line);
    unique_ptr<CArgDescriptions> arg_desc(new CArgDescriptions);
    arg_desc->SetUsageContext(GetArguments().GetProgramBasename(),
                              "DBAPI cache admin library");

    arg_desc->AddDefaultKey("s",
                             "server",
                             "Database server name (default: MSSQL10)",
                             CArgDescriptions::eString,
                             "MSSQL10");

    arg_desc->AddDefaultKey("d",
                             "database",
                             "Database name (default: NCBI_Cache)",
                             CArgDescriptions::eString,
                             "NCBI_Cache");

    arg_desc->AddDefaultKey("u",
                             "username",
                             "Login name (default: cwrite)",
                             CArgDescriptions::eString,
                             "cwrite");

    arg_desc->AddDefaultKey("p",
                            "password",
                            "Password",
                            CArgDescriptions::eString,
                            "allowed");

    arg_desc->AddFlag("m",
                      "Run cache maintenance (Timeout based BLOB removal).");



    arg_desc->AddDefaultKey("st",
                      "stimeout",
                      "BLOB expiration timeout in seconds",
                      CArgDescriptions::eInteger, 
                      "0");

    arg_desc->AddDefaultKey("mt",
                            "mtimeout",
                            "BLOB expiration timeout in minutes",
                            CArgDescriptions::eInteger,
                            "0");

    arg_desc->AddDefaultKey("ht",
                            "htimeout",
                            "BLOB expiration timeout in hours",
                            CArgDescriptions::eInteger,
                            "0");

    arg_desc->AddDefaultKey("dt",
                            "dtimeout",
                            "BLOB expiration timeout in days",
                            CArgDescriptions::eInteger,
                            "0");

    SetupArgDescriptions(arg_desc.release());
}
示例#15
0
int main(int argc, const char* argv[])
{
    CDiagContext::SetLogTruncate(true);
    SetDiagPostFlag(eDPF_DateTime);
    return CThreadPoolTester().AppMain(argc, argv, 0, eDS_Default, 0);
}