From e42de77219131385fa958224399c0c56ca08d8f4 Mon Sep 17 00:00:00 2001 From: unknown <stewart@flamingspork.com[stewart]> Date: Wed, 13 Jun 2007 22:54:00 +1000 Subject: [PATCH] [PATCH] BUG#29063 TESTCASE mgmapi: connect timeout set incorrectly Add test to testMgm for Connect timeout. add to autotest. Index: ndb-work/storage/ndb/test/ndbapi/testMgm.cpp =================================================================== storage/ndb/test/ndbapi/testMgm.cpp: BUG#29063 TESTCASE mgmapi: connect timeout set incorrectly storage/ndb/test/run-test/daily-basic-tests.txt: BUG#29063 TESTCASE mgmapi: connect timeout set incorrectly --- storage/ndb/test/ndbapi/testMgm.cpp | 75 +++++++++++++++++++ .../ndb/test/run-test/daily-basic-tests.txt | 4 + 2 files changed, 79 insertions(+) diff --git a/storage/ndb/test/ndbapi/testMgm.cpp b/storage/ndb/test/ndbapi/testMgm.cpp index cc074087bdb..e43972c8c29 100644 --- a/storage/ndb/test/ndbapi/testMgm.cpp +++ b/storage/ndb/test/ndbapi/testMgm.cpp @@ -212,6 +212,76 @@ int runTestApiSession(NDBT_Context* ctx, NDBT_Step* step) } } +int runTestApiConnectTimeout(NDBT_Context* ctx, NDBT_Step* step) +{ + char *mgm= ctx->getRemoteMgm(); + int result= NDBT_FAILED; + int cc= 0; + int mgmd_nodeid= 0; + ndb_mgm_reply reply; + + NdbMgmHandle h; + h= ndb_mgm_create_handle(); + ndb_mgm_set_connectstring(h, mgm); + + ndbout << "TEST connect timeout" << endl; + + ndb_mgm_set_timeout(h, 3000); + + struct timeval tstart, tend; + int secs; + timerclear(&tstart); + timerclear(&tend); + gettimeofday(&tstart,NULL); + + ndb_mgm_connect(h,0,0,0); + + gettimeofday(&tend,NULL); + + secs= tend.tv_sec - tstart.tv_sec; + ndbout << "Took about: " << secs <<" seconds"<<endl; + + if(secs < 4) + result= NDBT_OK; + else + goto done; + + ndb_mgm_set_connectstring(h, mgm); + + ndbout << "TEST connect timeout" << endl; + + ndb_mgm_destroy_handle(&h); + + h= ndb_mgm_create_handle(); + ndb_mgm_set_connectstring(h, "1.1.1.1"); + + ndbout << "TEST connect timeout (invalid host)" << endl; + + ndb_mgm_set_timeout(h, 3000); + + timerclear(&tstart); + timerclear(&tend); + gettimeofday(&tstart,NULL); + + ndb_mgm_connect(h,0,0,0); + + gettimeofday(&tend,NULL); + + secs= tend.tv_sec - tstart.tv_sec; + ndbout << "Took about: " << secs <<" seconds"<<endl; + + if(secs < 4) + result= NDBT_OK; + else + result= NDBT_FAILED; + +done: + ndb_mgm_disconnect(h); + ndb_mgm_destroy_handle(&h); + + return result; +} + int runTestApiTimeoutBasic(NDBT_Context* ctx, NDBT_Step* step) { char *mgm= ctx->getRemoteMgm(); @@ -727,6 +797,11 @@ TESTCASE("ApiSessionFailure", "Test failures in MGMAPI session"){ INITIALIZER(runTestApiSession); +} +TESTCASE("ApiConnectTimeout", + "Connect timeout tests for MGMAPI"){ + INITIALIZER(runTestApiConnectTimeout); + } TESTCASE("ApiTimeoutBasic", "Basic timeout tests for MGMAPI"){ diff --git a/storage/ndb/test/run-test/daily-basic-tests.txt b/storage/ndb/test/run-test/daily-basic-tests.txt index 6ce2da47670..0e1cdfc647e 100644 --- a/storage/ndb/test/run-test/daily-basic-tests.txt +++ b/storage/ndb/test/run-test/daily-basic-tests.txt @@ -898,6 +898,10 @@ max-time: 120 cmd: testMgm args: -n ApiSessionFailure T1 +max-time: 15 +cmd: testMgm +args: -n ApiConnectTimeout T1 + max-time: 120 cmd: testMgm args: -n ApiTimeoutBasic T1 -- 2.30.9