Ejemplo n.º 1
0
static void showTestHelp (void)
{
    int TestNr;
    int i;
   
    if ( TestName[0]=='\0' )
    {
	puts("Use `-H' with a test name to get a description of the test!\n");
	puts("List of available test:");
	i=0;
	while ( Tests[i].TestName[0] != '\0' )
	{
	    printf("\t`%s'\n",Tests[i].TestName);
	    ++i;
	}
	return;
    }

    TestNr=findTest();
    if ( TestNr==(-1) )
	return;
    puts("Test description:\n");
    puts(Tests[TestNr].TestDesc);
    puts("");
}
Ejemplo n.º 2
0
Archivo: ut.c Proyecto: parix/ojc
void
ut_reportTest(const char *testName) {
    Test	t = findTest(testName);
    const char	*result;

    if (0 == t) {
	if (0 != testName) {
	    return;
	}
	t = currentTest;
	if (0 == t) {
	    return;
	}
    }
    switch (t->pass) {
    case -1:
	result = "Skipped";
	break;
    case 0:
	result = "FAILED";
	break;
    case 1:
    default:
	result = "Passed";
	break;
    }
    ut_print("%s: %s", t->name, result);
}
Ejemplo n.º 3
0
int 
NDBT_TestSuite::executeOneCtx(Ndb_cluster_connection& con,
                              const NdbDictionary::Table *ptab,
                              const char* _testname)
{

  testSuiteTimer.doStart();
  do{
    if(tests.size() == 0)
      break;

    if (opt_stop_on_error != 0 && numTestsFail > 0)
      break;

    Ndb ndb(&con, "TEST_DB");
    ndb.init(1024);

    Ndb_internal::setForceShortRequests(&ndb, m_forceShort);

    int result = ndb.waitUntilReady(300); // 5 minutes
    if (result != 0){
      g_err << name <<": Ndb was not ready" << endl;
      break;
    }

    char buf[64]; // For timestamp string
    ndbout << name
           << " started [" << getDate(buf, sizeof(buf)) << "]" << endl;
    ndbout << "|- " << ptab->getName() << endl;

    if (_testname == NULL)
    {
      for (unsigned t = 0; t < tests.size(); t++)
      {
        if (opt_stop_on_error != 0 && numTestsFail > 0)
          break;

        execute(con, tests[t], ptab);
      }

      if (numTestsFail > 0)
        break;
    }
    else
    {
      NDBT_TestCase * pt = findTest(_testname);
      if (pt != NULL)
      {
        execute(con, pt, ptab);
      }
    }
  } while(0);
  testSuiteTimer.doStop();
  int res = report(_testname);
  return NDBT_ProgramExit(res);
}
Ejemplo n.º 4
0
Archivo: ut.c Proyecto: parix/ojc
void
ut_resetTest(const char *testName) {
    Test	t = findTest(testName);

    if (0 == t) {
	if (0 != testName) {
	    return;
	}
	t = currentTest;
	if (0 == t) {
	    return;
	}
    }
    t->pass = -1;
}
Ejemplo n.º 5
0
int NDBT_TestSuite::executeAll(Ndb_cluster_connection& con,
			       const char* _testname){

  if(tests.size() == 0)
  {
    g_err << "Size of test == 0" << endl;
    return NDBT_FAILED;
  }

  char buf[64]; // For timestamp string
  ndbout << name << " started [" << getDate(buf, sizeof(buf)) << "]" << endl;

  testSuiteTimer.doStart();
  if(!runonce)
  {
    for (int t=0; t < NDBT_Tables::getNumTables(); t++){
      const NdbDictionary::Table* ptab = NDBT_Tables::getTable(t);
      ndbout << "|- " << ptab->getName() << endl;
      execute(con, ptab, _testname);
    }
  }
  else
  {
    NdbDictionary::Table * pTab = 0;
    if (_testname == NULL)
    {
      for (unsigned i = 0; i < tests.size(); i++)
      {
        if (opt_stop_on_error != 0 && numTestsFail > 0)
          break;

        execute(con, tests[i], pTab);
      }
    }
    else
    {
      NDBT_TestCase * pt = findTest(_testname);
      if (pt != 0)
        execute(con, pt, pTab);
    }
  }
  testSuiteTimer.doStop();
  return reportAllTables(_testname);
}
Ejemplo n.º 6
0
void NDBT_TestSuite::execute(Ndb_cluster_connection& con,
			     const NdbDictionary::Table* pTab, 
			     const char* _testname){

  if (_testname == NULL)
  {
    for (unsigned t = 0; t < tests.size(); t++)
    {
      if (opt_stop_on_error != 0 && numTestsFail > 0)
        break;

      if (tests[t]->m_all_tables && tests[t]->m_has_run)
      {
        continue;
      }

      if (tests[t]->isVerify(pTab) == false) {
        continue;
      }

      execute(con, tests[t], pTab);
    }
  }
  else
  {
    do
    {
      NDBT_TestCase * pt = findTest(_testname);
      if (pt == NULL)
        break;

      if (pt->m_all_tables && pt->m_has_run)
        break;

      if (pt->isVerify(pTab) == false)
        break;

      execute(con, pt, pTab);

    } while(0);
  }
}
Ejemplo n.º 7
0
int main()
{
	int all = 0;
	if (sortTest()){all++;}
	else{std::cout<<"sortTest failed\n";}

	if(reverseSortTest()){all++;}
	else{std::cout<<"reverseSortTest failed\n";}

	if(bogoSortTest()){all++;}
	else{std::cout<<"bogoSortTest failed\n";}

	if(findTest()){all++;}
	else{std::cout<<"findTest failed\n";}

	if(replaceTest()){all++;}
	else{std::cout<<"replaceTest failed\n";}

	if(all == 5){std::cout<<"All Tests Passed! :)\n";}
}
Ejemplo n.º 8
0
int main( int argc, char* argv[] )
{
    int HelpOnly=0;
    int TestNr;
    int Done=0;
    int rc;

    fprintf(stderr,"ezV24 library -- simple test application\ncompiled: "__DATE__"\n\n");
    optind=1;     /* start without prog-name */
    do
    {
        switch( getopt(argc,argv,"lnHNrxdhwp:t:") )
        {
	    case 'p':
		if ( optarg )
		{
		    strncpy(MyPortName,optarg,V24_SZ_PORTNAME);
		    MyPortName[V24_SZ_PORTNAME]='\0';
		    fprintf(stderr,"info: use port `%s'\n",MyPortName);
		}
		break;
	    case 't':
		if ( optarg )
		{
		    MyTimeOut=atoi(optarg);
		    if ( MyTimeOut==0 && *optarg!='0' )
			fputs("warning: invalid timeout parm ingnored!\n",stderr);
		}
		break;
	    case 'l':
		MyOpenFlags |= V24_LOCK;
		fputs("info: open with V24_LOCK\n",stderr);
		break;
	    case 'n':
		MyOpenFlags |= V24_NO_DELAY;
		fputs("info: open with V24_NO_DELAY\n",stderr);
		break;
	    case 'r':
		MyOpenFlags |= V24_RTS_CTS;
		fputs("info: open with V24_RTS_CTS\n",stderr);
		break;
	    case 'x':
		MyOpenFlags |= V24_XON_XOFF;
		fputs("info: open with V24_XON_XOFF\n",stderr);
		break;
	    case 'd':
		MyOpenFlags |= V24_DEBUG_ON;
		fputs("info: open with V24_DEBUG_ON\n",stderr);
		break;
	    case 'H':
		HelpOnly=1;
		break;
	    case 'N':
		ExecutionEnabled=0;
		fputs("info: test execution disabled.\n",stderr);
		break;
	    case 'w':
		WantWait=1;
		fputs("info: test specific wait enabled.\n",stderr);
		break;
            case 'h':     // user want's help
            case '?':     // getopt3() reports invalid option 
                usage();
                exit(1);
            default:
                Done=1;
	}
    } while (!Done);


    if ( optind < argc )
    {
	strncpy(TestName,argv[optind],sizeof(TestName)-2);
	TestName[sizeof(TestName)-2]='\0';
    }
    else
    {
	if ( !HelpOnly )
	{
	    fputs("error: you have to select a test.\n",stderr);
	    return 2;
	}
    }
    if ( HelpOnly )
    {
	showTestHelp();
	return 0;
    }
    
    TestNr=findTest();
    if ( TestNr < 0 )
	return 2;

    if ( *MyPortName=='\0' )
    {
	fputs("error: you have to specify a portname using parm `-p'!\n",stderr);
	return 1;
    }
    installSignalhandler();

    /* First we have to open the port.
     */
    if ( MyPortName[0]=='\0' )
    {
	fputs("error: use option -p to specify a valid port!\n",stderr);
	return 1;
    }
    UsedPort=v24OpenPort(MyPortName,MyOpenFlags);
    if ( UsedPort==NULL )
    {
	fputs("error: sorry, open failed!\n",stderr);
	return 1;
    }
    fputs("info: port opened!\n",stderr);
    
    /* than we have to configure the port.
     */
    rc=v24SetParameters(UsedPort,V24_B9600,V24_8BIT,V24_NONE);
    if ( rc!=V24_E_OK )
    {
	dumpErrorMessage(rc);
	v24ClosePort(UsedPort);
	return 1;
    }
    fputs("info: parameter set to 9600,8,N,1\n",stderr);

    if ( MyTimeOut > 0 )
    {
	rc=v24SetTimeouts(UsedPort,MyTimeOut*10);
	if ( rc==V24_E_NOT_IMPLEMENTED )
	    fputs("info: setup of timeout is not available!\n",stderr);
	else if ( rc!=V24_E_OK )
	{
	    dumpErrorMessage(rc);
	    v24ClosePort(UsedPort);
	    return 1;
	}
	else
	    fprintf(stderr,"info: timeout is set to %dsec\n",MyTimeOut);
    }
    

    if ( TestNr>=0 && ExecutionEnabled )
    {
	rc = Tests[TestNr].theTest();
	if ( rc!=V24_E_OK )
	    fprintf(stderr,"error: test returns #%d\n",rc);
    }
    

    /* At the end of all the stuff, we have close the port. ;-)
     */
    rc=v24ClosePort(UsedPort);
    if ( rc!=V24_E_OK )
	dumpErrorMessage(rc);
    else
	fputs("info: port closed!\n",stderr);
    return 0;
}
Ejemplo n.º 9
0
Archivo: ut.c Proyecto: parix/ojc
void
ut_init(int argc, char **argv, const char *groupName, Test allTests) {
    Test	t;
    char	*appName = *argv;
    char	*a;
    int		runAll = 1;

    ut_out = stdout;
    tests = allTests;
    group = groupName;
    for (t = tests; t->name != 0; t++) {
	t->pass = -1;
	t->run = 0;
    }
    argc--;
    argv++;
    for (; 0 < argc; argc--, argv++) {
	a = *argv;
	if (0 == strcmp("-o", a)) {
	    argc--;
	    argv++;
	    if (0 == (ut_out = fopen(*argv, "a"))) {
		printf("Failed to open %s\n", *argv);
		usage(appName);
	    }
	} else if (0 == strcmp("-c", a)) {
	    argc--;
	    argv++;
	    if (0 == (ut_out = fopen(*argv, "w"))) {
		printf("Failed to open %s\n", *argv);
		usage(appName);
	    }
	} else if (0 == strcmp("-v", a)) {
	    ut_verbose += 1;
	} else {
	    if (0 == (t = findTest(a))) {
		printf("%s does not contain test %s\n", group, a);
		usage(appName);
	    }
	    t->run = 1;
	    runAll = 0;
	}
    }
    if (runAll) {
	for (t = tests; t->name != 0; t++) {
	    t->run = 1;
	}
    }
    ut_print("%s tests started\n", group);

    for (currentTest = tests; currentTest->name != 0; currentTest++) {
	if (currentTest->run) {
	    if (2 <= ut_verbose) {
		printf(">>> %s\n", currentTest->name);
	    }
	    currentTest->func();
	    if (2 <= ut_verbose) {
		printf("<<< %s\n", currentTest->name);
	    }
	}
    }
}
Ejemplo n.º 10
0
bool UGUITestBase::isNewTest(HI::GUITest *test, TestType testType) {

    return test && !findTest(test->getFullName(), testType);
}