void CTestApplication::Init(void) { // Set err.-posting and tracing to maximum SetDiagTrace(eDT_Enable); SetDiagPostFlag(eDPF_All); SetDiagPostLevel(eDiag_Info); }
END_NCBI_SCOPE int main(int argc, char* argv[]) { USING_NCBI_SCOPE; // Setup error posting SetDiagTrace(eDT_Enable); SetDiagPostLevel(eDiag_Trace); SetDiagPostAllFlags(SetDiagPostAllFlags(eDPF_Default) | eDPF_All | eDPF_OmitInfoSev); UnsetDiagPostFlag(eDPF_Line); UnsetDiagPostFlag(eDPF_File); UnsetDiagPostFlag(eDPF_Location); UnsetDiagPostFlag(eDPF_LongFilename); SetDiagTraceAllFlags(SetDiagPostAllFlags(eDPF_Default)); // Init the library explicitly (this sets up the log) CONNECT_Init(0); STimeout tmo = { 5, 0 }; EIO_Status status = Soaker(argv[1], "Hello", &tmo, &tmo); cout << "Status = " << IO_StatusStr(status) << endl; return !(status == eIO_Success); }
int main(int argc, const char* argv[]) { int result; SetDiagStream(&NcbiCerr); // send all diagnostic messages to cerr SetDiagPostLevel(eDiag_Warning); // SetupCToolkitErrPost(); // reroute C-toolkit err messages to C++ err streams SetDiagTrace(eDT_Default); // trace messages only when DIAG_TRACE env. var. is set //#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); // Execute main application function const CTime start(CTime::eCurrent); CTime stop; CAlignmentRefiner refiner; result = refiner.AppMain(argc, argv, 0, eDS_Default, 0); // Timing info stop.SetCurrent(); cout << "\n\n**** Elapsed Time = " << stop.DiffSecond(start) << " sec ****" << endl << endl; return result; }
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()); }
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; }
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); }
int Run(void) { CONNECT_Init(&CNcbiApplication::Instance()->GetConfig()); const CNcbiArguments& app_args = GetArguments(); m_Seed = app_args.Size() > 1 ? (unsigned int)atoi(app_args[1].c_str()) : (unsigned int)time(0); // Set error posting and tracing on maximum SetDiagTrace(eDT_Enable); SetDiagPostLevel(eDiag_Info); SetDiagPostAllFlags(SetDiagPostAllFlags(eDPF_Default) | eDPF_All | eDPF_OmitInfoSev); UnsetDiagPostFlag(eDPF_Line); UnsetDiagPostFlag(eDPF_File); UnsetDiagPostFlag(eDPF_Location); UnsetDiagPostFlag(eDPF_LongFilename); SetDiagTraceAllFlags(SetDiagPostAllFlags(eDPF_Default)); string host = "www.ncbi.nlm.nih.gov"; string path = "/Service/bounce.cgi"; string args = kEmptyStr; string uhdr = kEmptyStr; ERR_POST(Info << "Seed = " << m_Seed); srand(m_Seed); ERR_POST(Info << "Creating HTTP connection to " "http://" + host + path + &"?"[args.empty() ? 1 : 0] + args); CConn_HttpStream ios(host, path, args, uhdr); int n = TEST_StreamPushback(ios, false/*no rewind*/); // Manual CONNECT_UnInit (for implicit CONNECT_Init() by HTTP stream ctor) CORE_SetREG(0); CORE_SetLOG(0); CORE_SetLOCK(0); return n; }
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()); }
END_NCBI_SCOPE int main(int argc, char* argv[]) { USING_NCBI_SCOPE; SetDiagTrace(eDT_Enable); SetDiagPostLevel(eDiag_Info); SetDiagPostAllFlags(eDPF_DateTime | eDPF_Severity | eDPF_OmitInfoSev | eDPF_ErrorID); ERR_POST(Info << "Testing NCBI CRWStream API"); int seed; if (argc == 2) { seed = atoi(argv[1]); ERR_POST(Info << "Reusing SEED " << seed); } else { seed = (int(CProcess::GetCurrentPid()) ^ int(CTime(CTime::eCurrent).GetTimeT())); ERR_POST(Info << "Using SEED " << seed); } srand(seed); unsigned char* hugedata = new unsigned char[kHugeBufsize * 3]; ERR_POST(Info << "Generating data: " << kHugeBufsize << " random bytes"); for (size_t n = 0; n < kHugeBufsize; n += 2) { hugedata[n] = (unsigned char)(rand() & 0xFF); hugedata[n + 1] = (unsigned char)(rand() & 0xFF); hugedata[n + kHugeBufsize] = (unsigned char) 0xDE; hugedata[n + kHugeBufsize + 1] = (unsigned char) 0xAD; hugedata[n + kHugeBufsize*2] = (unsigned char) 0xBE; hugedata[n + kHugeBufsize*2 + 1] = (unsigned char) 0xEF; } ERR_POST(Info << "Pumping data with random I/O"); CMyReader* rd = new CMyReader(hugedata, kHugeBufsize); CMyWriter* wr = new CMyWriter(hugedata + kHugeBufsize, kHugeBufsize); CRStream is(rd, kReadBufsize, 0, CRWStreambuf::fOwnReader); CWStream os(wr, kWriteBufsize, 0, CRWStreambuf::fOwnWriter); char* buf = new char[kMaxIOSize]; size_t n_in = 0, n_out = 0; do { size_t x_in = rand() % kMaxIOSize + 1; ERR_POST(Info << "Read: " << setw(8) << x_in); is.read(buf, x_in); if (!(x_in = (size_t) is.gcount())) break; n_in += x_in; size_t x_out = 0; while (x_out < x_in) { size_t xx_out = rand() % (x_in - x_out) + 1; ERR_POST(Info << "Write: " << setw(8) << xx_out << '/' << x_out << '+' << (x_in - x_out)); if (!os.write(buf + x_out, xx_out)) break; x_out += xx_out; } if (x_out < x_in) break; n_out += x_out; } while (is.good()); os.flush(); delete[] buf; ERR_POST(Info << "Read: " << setw(8) << n_in << '/' << kHugeBufsize << "; position: " << rd->GetPosition() << '/' << rd->GetSize()); ERR_POST(Info << "Write: " << setw(8) << n_out << '/' << kHugeBufsize << "; position: " << wr->GetPosition() << '/' << wr->GetSize()); _ASSERT(kHugeBufsize == n_in && kHugeBufsize == rd->GetSize() && kHugeBufsize == rd->GetPosition()); _ASSERT(kHugeBufsize == n_out && kHugeBufsize == wr->GetSize() && kHugeBufsize == wr->GetPosition()); ERR_POST(Info << "Comparing original with collected data"); for (size_t n = 0; n < kHugeBufsize; n++) { if (hugedata[n] != hugedata[n + kHugeBufsize]) ERR_POST(Fatal << "Mismatch @ " << n); } ERR_POST(Info << "Checking tied I/O"); buf = (char*) hugedata + kHugeBufsize; memset(buf, '\xFF', kHugeBufsize); CMyReaderWriter* rw = new CMyReaderWriter(hugedata + kHugeBufsize, kHugeBufsize); CRWStream io(rw, 2*(kReadBufsize + kWriteBufsize), 0, CRWStreambuf::fOwnReader); n_out = n_in = 0; do { if ((rand() % 10 == 2 || n_out == n_in) && n_out < kHugeBufsize) { size_t x_out = rand() % kMaxIOSize + 1; if (x_out + n_out > kHugeBufsize) x_out = kHugeBufsize - n_out; ERR_POST(Info << "Write: " << setw(8) << x_out); if (!io.write(buf - kHugeBufsize + n_out, x_out)) break; n_out += x_out; } if (rand() % 10 == 4 && n_out > n_in) { size_t x_in = (rand() & 1 ? n_out - n_in : rand() % (n_out - n_in) + 1); ERR_POST(Info << "Read: " << setw(8) << x_in); if (!io.read(buf + kHugeBufsize + n_in, x_in)) break; n_in += x_in; } if (n_out >= kHugeBufsize && n_in >= kHugeBufsize) break; } while (io.good()); // io.flush(); // not needed as everything should have been read out ERR_POST(Info << "Read: " << setw(8) << n_in << '/' << kHugeBufsize << "; " << "position: " << rw->GetRPosition() << '/' << rw->GetRSize()); ERR_POST(Info << "Write: " << setw(8) << n_out << '/' << kHugeBufsize << "; " << "position: " << rw->GetWPosition() << '/' << rw->GetWSize()); _ASSERT(kHugeBufsize == n_in && kHugeBufsize == rw->GetRSize() && kHugeBufsize == rw->GetRPosition()); _ASSERT(kHugeBufsize == n_out && kHugeBufsize == rw->GetWSize() && kHugeBufsize == rw->GetWPosition()); ERR_POST(Info << "Comparing original with collected data"); for (size_t n = 0; n < kHugeBufsize; n++) { if (hugedata[n] != hugedata[n + kHugeBufsize] || hugedata[n] != hugedata[n + kHugeBufsize*2]) { ERR_POST(Fatal << "Mismatch @ " << n); } } ERR_POST(Info << "Test completed successfully"); delete[] hugedata; return 0; }
END_NCBI_SCOPE int main(int argc, const char* argv[]) { USING_NCBI_SCOPE; TFTP_Flags flag = 0; SConnNetInfo* net_info; auto_ptr<CNcbiRegistry> reg; size_t i, j, k, l, m, n, size; reg.reset(s_CreateRegistry()); CONNECT_Init(reg.get()); // Set error posting and tracing on maximum SetDiagTrace(eDT_Enable); SetDiagPostLevel(eDiag_Info); SetDiagPostAllFlags(SetDiagPostAllFlags(eDPF_Default) | eDPF_All | eDPF_OmitInfoSev); UnsetDiagPostFlag(eDPF_Line); UnsetDiagPostFlag(eDPF_File); UnsetDiagPostFlag(eDPF_Location); UnsetDiagPostFlag(eDPF_LongFilename); SetDiagTraceAllFlags(SetDiagPostAllFlags(eDPF_Default)); if (argc <= 1) g_NCBI_ConnectRandomSeed = (int) time(0) ^ NCBI_CONNECT_SRAND_ADDEND; else g_NCBI_ConnectRandomSeed = atoi(argv[1]); CORE_LOGF(eLOG_Note, ("Random SEED = %u", g_NCBI_ConnectRandomSeed)); srand(g_NCBI_ConnectRandomSeed); LOG_POST(Info << "Test 0 of 9: Checking error log setup"); ERR_POST(Info << "Test log message using C++ Toolkit posting"); CORE_LOG(eLOG_Note, "Another test message using C Toolkit posting"); LOG_POST(Info << "Test 0 passed\n"); LOG_POST(Info << "Test 1 of 9: Memory stream"); // Testing memory stream out-of-sequence interleaving operations m = (rand() & 0x00FF) + 1; size = 0; const IOS_BASE::iostate ex = IOS_BASE::badbit; for (n = 0; n < m; n++) { CConn_MemoryStream* ms = 0; string data, back; size_t sz = 0; #if 0 LOG_POST(Info << " Micro-test " << (int) n << " of " << (int) m << " start"); #endif k = (rand() & 0x00FF) + 1; for (i = 0; i < k; i++) { l = (rand() & 0x00FF) + 1; string bit; bit.resize(l); for (j = 0; j < l; j++) { bit[j] = "0123456789"[rand() % 10]; } #if 0 LOG_POST(Info << " Data bit at " << (unsigned long) sz << ", " << (unsigned long) l << " byte(s) long: " << bit); #endif sz += l; data += bit; if (ms) assert(*ms << bit); else if (i == 0) { switch (n % 4) { case 0: #if 0 LOG_POST(Info << " CConn_MemoryStream()"); #endif ms = new CConn_MemoryStream; ms->exceptions(ex); assert(*ms << bit); break; case 1: {{ BUF buf = 0; assert(BUF_Write(&buf, bit.data(), l)); #if 0 LOG_POST(Info << " CConn_MemoryStream(BUF)"); #endif ms = new CConn_MemoryStream(buf, eTakeOwnership); ms->exceptions(ex); break; }} default: break; } } } switch (n % 4) { case 2: #if 0 LOG_POST(Info << " CConn_MemoryStream(" << (unsigned long) data.size() << ')'); #endif ms = new CConn_MemoryStream(data.data(),data.size(), eNoOwnership); break; case 3: {{ BUF buf = 0; assert(BUF_Append(&buf, data.data(), data.size())); #if 0 LOG_POST(Info << " CConn_MemoryStream(BUF, " << (unsigned long) data.size() << ')'); #endif ms = new CConn_MemoryStream(buf, eTakeOwnership); break; }} default: break; } assert(ms); if (!(rand() & 1)) { assert(*ms << endl); *ms >> back; IOS_BASE::iostate state = ms->rdstate(); assert(state == IOS_BASE::goodbit); SetDiagTrace(eDT_Disable); ms->exceptions(ex | IOS_BASE::eofbit); try { *ms >> ws; } catch (IOS_BASE::failure& ) { state = ms->rdstate(); } #if defined(NCBI_COMPILER_GCC) # if NCBI_COMPILER_VERSION == 510 && (!defined(_GLIBCXX_USE_CXX11_ABI) || _GLIBCXX_USE_CXX11_ABI != 0) catch (...) { // WORKAROUND: // At least GCC 5.1.0 in optimized mode and using new ABI: // fails to catch "IOS_BASE::failure" above. state = ms->rdstate(); } # endif #endif _ASSERT(state & IOS_BASE::eofbit); SetDiagTrace(eDT_Enable); ms->clear(); } else
END_NCBI_SCOPE int main(int argc, const char* argv[]) { USING_NCBI_SCOPE; CNcbiRegistry* reg; TFTP_Flags flag = 0; SConnNetInfo* net_info; size_t i, j, k, l, m, n, size; reg = s_CreateRegistry(); CONNECT_Init(reg); // Set error posting and tracing on maximum SetDiagTrace(eDT_Enable); SetDiagPostLevel(eDiag_Info); SetDiagPostAllFlags(eDPF_All | eDPF_OmitInfoSev); UnsetDiagPostFlag(eDPF_Line); UnsetDiagPostFlag(eDPF_File); UnsetDiagPostFlag(eDPF_Location); UnsetDiagPostFlag(eDPF_LongFilename); SetDiagTraceAllFlags(SetDiagPostAllFlags(eDPF_Default)); if (argc <= 1) g_NCBI_ConnectRandomSeed = (int) time(0) ^ NCBI_CONNECT_SRAND_ADDEND; else g_NCBI_ConnectRandomSeed = atoi(argv[1]); CORE_LOGF(eLOG_Note, ("Random SEED = %u", g_NCBI_ConnectRandomSeed)); srand(g_NCBI_ConnectRandomSeed); LOG_POST(Info << "Test 0 of 9: Checking error log setup"); ERR_POST(Info << "Test log message using C++ Toolkit posting"); CORE_LOG(eLOG_Note, "Another test message using C Toolkit posting"); LOG_POST(Info << "Test 0 passed\n"); LOG_POST("Test 1 of 9: Memory stream"); // Testing memory stream out-of-sequence interleaving operations m = (rand() & 0x00FF) + 1; size = 0; for (n = 0; n < m; n++) { CConn_MemoryStream* ms = 0; string data, back; size_t sz = 0; #if 0 LOG_POST(" Micro-test " << (int) n << " of " << (int) m << " start"); #endif k = (rand() & 0x00FF) + 1; for (i = 0; i < k; i++) { l = (rand() & 0x00FF) + 1; string bit; bit.resize(l); for (j = 0; j < l; j++) { bit[j] = "0123456789"[rand() % 10]; } #if 0 LOG_POST(" Data bit at " << (unsigned long) sz << ", " << (unsigned long) l << " byte(s) long: " << bit); #endif sz += l; data += bit; if (ms) assert(*ms << bit); else if (i == 0) { switch (n % 4) { case 0: #if 0 LOG_POST(" CConn_MemoryStream()"); #endif ms = new CConn_MemoryStream; assert(*ms << bit); break; case 1: {{ BUF buf = 0; assert(BUF_Write(&buf, bit.data(), l)); #if 0 LOG_POST(" CConn_MemoryStream(BUF)"); #endif ms = new CConn_MemoryStream(buf, eTakeOwnership); break; }} default: break; } } } switch (n % 4) { case 2: #if 0 LOG_POST(" CConn_MemoryStream(" << (unsigned long) data.size() << ')'); #endif ms = new CConn_MemoryStream(data.data(),data.size(), eNoOwnership); break; case 3: {{ BUF buf = 0; assert(BUF_Append(&buf, data.data(), data.size())); #if 0 LOG_POST(" CConn_MemoryStream(BUF, " << (unsigned long) data.size() << ')'); #endif ms = new CConn_MemoryStream(buf, eTakeOwnership); break; }} default: break; } assert(ms); if (!(rand() & 1)) { assert(*ms << endl); *ms >> back; assert(ms->good()); SetDiagTrace(eDT_Disable); *ms >> ws; SetDiagTrace(eDT_Enable); ms->clear(); } else