(file) Return to testSnmpHandler.cpp CVS log (file) (dir) Up to [Pegasus] / pegasus / src / Pegasus / Handler / snmpIndicationHandler / tests / testclient

Diff for /pegasus/src/Pegasus/Handler/snmpIndicationHandler/tests/testclient/testSnmpHandler.cpp between version 1.12 and 1.13

version 1.12, 2008/02/13 20:49:23 version 1.13, 2008/06/05 21:31:21
Line 604 
Line 604 
     return t.release();     return t.release();
 } }
  
 String _getLogFile()  Uint32 _getReceivedTrapCount(Uint16 snmpVersion, const String& logFile)
 {  
     return("trapLogFile");  
 }  
   
 Uint32 _getReceivedTrapCount(Uint16 snmpVersion)  
 { {
     String trap1 = "Trap Info: TRAP, SNMP v1, community public";     String trap1 = "Trap Info: TRAP, SNMP v1, community public";
     String trap2 = "Trap Info: TRAP2, SNMP v2c, community public";     String trap2 = "Trap Info: TRAP2, SNMP v2c, community public";
Line 617 
Line 612 
     Uint32 receivedTrap1Count = 0;     Uint32 receivedTrap1Count = 0;
     Uint32 receivedTrap2Count = 0;     Uint32 receivedTrap2Count = 0;
  
     ifstream ifs(_getLogFile().getCString());      ifstream ifs(logFile.getCString());
     if (!ifs)     if (!ifs)
     {     {
         return (0);         return (0);
Line 660 
Line 655 
 // Stop snmptrapd process if it is running and remove // Stop snmptrapd process if it is running and remove
 // procIdFile file if it exists // procIdFile file if it exists
 // //
 void _stopSnmptrapd()  void _stopSnmptrapd(const String& processIdFile)
 { {
     String procIdFileName = "procIdFile";  
   
     Uint32 receiverPid;     Uint32 receiverPid;
     FILE *fd;     FILE *fd;
     if ((fd = fopen(procIdFileName.getCString(), "r")) != NULL)      if ((fd = fopen(processIdFile.getCString(), "r")) != NULL)
     {     {
         if (fscanf(fd, "%d\n", &receiverPid) != 1)         if (fscanf(fd, "%d\n", &receiverPid) != 1)
         {         {
Line 678 
Line 671 
         fclose(fd);         fclose(fd);
     }     }
  
     if (FileSystem::exists(procIdFileName))      if (FileSystem::exists(processIdFile))
     {     {
         FileSystem::removeFile(procIdFileName);          FileSystem::removeFile(processIdFile);
     }     }
 } }
  
 static Boolean _startSnmptrapd( static Boolean _startSnmptrapd(
     FILE **trapInfo)      FILE **trapInfo,
       const String& processIdFile,
       const String& logFile)
 { {
     String snmptrapdCmd;     String snmptrapdCmd;
  
Line 700 
Line 695 
     // Specify logging incoming traps to trapLogFile     // Specify logging incoming traps to trapLogFile
     // Save the process ID of the snmptrapd in procIdFile     // Save the process ID of the snmptrapd in procIdFile
     snmptrapdCmd.append(     snmptrapdCmd.append(
         "/usr/sbin/snmptrapd -f -Lf trapLogFile -p procIdFile");          "/usr/sbin/snmptrapd -f -Lf ");
       snmptrapdCmd.append(logFile);
       snmptrapdCmd.append(" -p ");
       snmptrapdCmd.append(processIdFile);
  
     // Specify incoming trap format     // Specify incoming trap format
     snmptrapdCmd.append( " -F \"\nTrap Info: %P\nVariable: %v\n\"");     snmptrapdCmd.append( " -F \"\nTrap Info: %P\nVariable: %v\n\"");
Line 732 
Line 730 
     while (iterations < MAX_ITERATIONS)     while (iterations < MAX_ITERATIONS)
     {     {
         iterations++;         iterations++;
         if (FileSystem::exists("procIdFile"))          if (FileSystem::exists(processIdFile))
         {         {
             return (true);             return (true);
         }         }
Line 747 
Line 745 
 } }
 #endif #endif
  
 void _removeTrapLogFile ()  void _removeTrapLogFile(const String& logFile)
 { {
     String logFile = _getLogFile();  
   
     // if trapLogFile exists, remove it     // if trapLogFile exists, remove it
     if (FileSystem::exists(logFile))     if (FileSystem::exists(logFile))
     {     {
Line 761 
Line 757 
 void _receiveExpectedTraps( void _receiveExpectedTraps(
     CIMClient& workClient,     CIMClient& workClient,
     Uint32 indicationSendCount,     Uint32 indicationSendCount,
     Uint32 runClientThreadCount)      Uint32 runClientThreadCount,
       const String& logFile)
 { {
     Uint32 indicationTrapV1SendCount = 0;     Uint32 indicationTrapV1SendCount = 0;
     Uint32 indicationTrapV2SendCount = 0;     Uint32 indicationTrapV2SendCount = 0;
Line 854 
Line 851 
     {     {
         totalIterations++;         totalIterations++;
  
         currentReceivedTrap1Count = _getReceivedTrapCount(_SNMPV1_TRAP);          currentReceivedTrap1Count =
         currentReceivedTrap2Count = _getReceivedTrapCount(_SNMPV2C_TRAP);              _getReceivedTrapCount(_SNMPV1_TRAP, logFile);
           currentReceivedTrap2Count =
               _getReceivedTrapCount(_SNMPV2C_TRAP, logFile);
  
         if (totalIterations % COUT_TIME_INTERVAL == 1 &&         if (totalIterations % COUT_TIME_INTERVAL == 1 &&
             !(receivedTrapCountComplete))             !(receivedTrapCountComplete))
Line 927 
Line 926 
  
 int _beginTest(CIMClient& workClient, int _beginTest(CIMClient& workClient,
     Uint32 indicationSendCount,     Uint32 indicationSendCount,
     Uint32 runClientThreadCount)      Uint32 runClientThreadCount,
       const String& processIdFile,
       const String& logFile)
 { {
  
 #ifdef PEGASUS_USE_NET_SNMP #ifdef PEGASUS_USE_NET_SNMP
  
     // Stop snmptrapd process if it is running     // Stop snmptrapd process if it is running
     _stopSnmptrapd();      _stopSnmptrapd(processIdFile);
  
     // if trapLogFile exists, remove it     // if trapLogFile exists, remove it
     _removeTrapLogFile();      _removeTrapLogFile(logFile);
  
     FILE * trapInfo;     FILE * trapInfo;
  
     try     try
     {     {
         _startSnmptrapd(&trapInfo);          _startSnmptrapd(&trapInfo, processIdFile, logFile);
     }     }
     catch (Exception & e)     catch (Exception & e)
     {     {
Line 952 
Line 953 
  
     // Extended for all snmp implementation     // Extended for all snmp implementation
     _receiveExpectedTraps(workClient, indicationSendCount,     _receiveExpectedTraps(workClient, indicationSendCount,
         runClientThreadCount);          runClientThreadCount, logFile);
  
     // Stop snmptrapd process if it is running and remove procIdFile     // Stop snmptrapd process if it is running and remove procIdFile
     _stopSnmptrapd();      _stopSnmptrapd(processIdFile);
  
     pclose(trapInfo);     pclose(trapInfo);
  
Line 986 
Line 987 
     {     {
         workClient.connectLocal();         workClient.connectLocal();
  
           String processIdFile = TRAP_DIR;
           processIdFile.append("/procIdFile");
   
           String logFile = TRAP_DIR;
           logFile.append("/trapLogFile");
   
         if (argc <= 1 || argc > 4)         if (argc <= 1 || argc > 4)
         {         {
             cerr << "Invalid argument count: " << argc << endl;             cerr << "Invalid argument count: " << argc << endl;
Line 1033 
Line 1040 
             }             }
  
             int rc = _beginTest(workClient, indicationSendCount,             int rc = _beginTest(workClient, indicationSendCount,
                 runClientThreadCount);                  runClientThreadCount, processIdFile, logFile);
             return rc;             return rc;
         }         }
         else if (String::equalNoCase(argv[1], "cleanup"))         else if (String::equalNoCase(argv[1], "cleanup"))
Line 1059 
Line 1066 
                 return -1;                 return -1;
             }             }
  
             _removeTrapLogFile ();              _removeTrapLogFile(logFile);
             cout << "+++++ removelog completed successfully" << endl;             cout << "+++++ removelog completed successfully" << endl;
             return 0;             return 0;
         }         }


Legend:
Removed from v.1.12  
changed lines
  Added in v.1.13

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2