Exemplo n.º 1
0
    def test_high_temp_parse(self):
        gpu_stat = pr2_computer_monitor.parse_smi_output(self.high_temp_data)

        # Check valid
        self.assert_(self.high_temp_data,
                     "Unable to read sample output, no test to run")

        # Check all string fields of message
        self.assert_(gpu_stat.pci_device_id, "No PCI Device ID found")
        self.assert_(gpu_stat.pci_location, "No PCI Location found")
        self.assert_(gpu_stat.display, "No Display found")
        self.assert_(gpu_stat.driver_version, "No Driver Version found")
        self.assert_(gpu_stat.product_name, "No Product Name found")

        self.assert_(
            gpu_stat.temperature > 90,
            "Invalid temperature readings. Temperature: %d" %
            gpu_stat.temperature)
        self.assert_(
            gpu_stat.fan_speed > 0 and gpu_stat.fan_speed < 471,
            "Invalid fan speed readings. Fan Speed %s" % gpu_stat.fan_speed)

        diag_stat = pr2_computer_monitor.gpu_status_to_diag(gpu_stat)

        self.assert_(
            diag_stat.level == 1,
            "Diagnostics didn't report warning for high temp input. Level %d, Message: %s"
            % (diag_stat.level, diag_stat.message))
Exemplo n.º 2
0
 def test_empty_parse(self):
     gpu_stat = pr2_computer_monitor.parse_smi_output('')
     
     self.assert_(gpu_stat.temperature == 0, "Invalid temperature reading. Should be 0. Reading: %d" % gpu_stat.temperature)
     
     diag_stat = pr2_computer_monitor.gpu_status_to_diag(gpu_stat)
     
     self.assert_(diag_stat.level == 2, "Diagnostics didn't reports an error for empty input. Level: %d, Message: %s" % (diag_stat.level, diag_stat.message))
Exemplo n.º 3
0
 def pub_status(self):
     gpu_stat = GPUStatus()
     stat = DiagnosticStatus()
     try:
         card_out = pr2_computer_monitor.get_gpu_status()
         gpu_stat = pr2_computer_monitor.parse_smi_output(card_out)
         stat = pr2_computer_monitor.gpu_status_to_diag(gpu_stat)
     except Exception, e:
         import traceback
         rospy.logerr('Unable to process nVidia GPU data')
         rospy.logerr(traceback.format_exc())
Exemplo n.º 4
0
    def test_empty_parse(self):
        gpu_stat = pr2_computer_monitor.parse_smi_output('')

        self.assert_(
            gpu_stat.temperature == 0,
            "Invalid temperature reading. Should be 0. Reading: %d" %
            gpu_stat.temperature)

        diag_stat = pr2_computer_monitor.gpu_status_to_diag(gpu_stat)

        self.assert_(
            diag_stat.level == 2,
            "Diagnostics didn't reports an error for empty input. Level: %d, Message: %s"
            % (diag_stat.level, diag_stat.message))
Exemplo n.º 5
0
    def test_high_temp_parse(self):
        gpu_stat = pr2_computer_monitor.parse_smi_output(self.high_temp_data)
        
        # Check valid
        self.assert_(self.high_temp_data, "Unable to read sample output, no test to run")

        # Check all string fields of message
        self.assert_(gpu_stat.pci_device_id, "No PCI Device ID found")
        self.assert_(gpu_stat.pci_location, "No PCI Location found")
        self.assert_(gpu_stat.display, "No Display found")
        self.assert_(gpu_stat.driver_version, "No Driver Version found")
        self.assert_(gpu_stat.product_name, "No Product Name found")

        self.assert_(gpu_stat.temperature > 90, "Invalid temperature readings. Temperature: %d" % gpu_stat.temperature)
        self.assert_(gpu_stat.fan_speed > 0 and gpu_stat.fan_speed < 471, "Invalid fan speed readings. Fan Speed %s" % gpu_stat.fan_speed)

        diag_stat = pr2_computer_monitor.gpu_status_to_diag(gpu_stat)
        
        self.assert_(diag_stat.level == 1, "Diagnostics didn't report warning for high temp input. Level %d, Message: %s" % (diag_stat.level, diag_stat.message))