00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036 import roslib
00037 roslib.load_manifest('qualification')
00038
00039 from pr2_self_test_msgs.srv import TestResult, TestResultRequest
00040
00041 import rospy
00042
00043 NAME = 'config_ctr'
00044
00045 import os
00046 import sys
00047 from StringIO import StringIO
00048 import subprocess
00049
00050 if __name__ == "__main__":
00051 rospy.init_node(NAME)
00052
00053 essid = rospy.myargv()[1]
00054
00055 r = TestResultRequest()
00056 r.plots = []
00057
00058 ctr350_config_cmd = ['ctr350','-l','/usr/lib/ctr350/willow_default.gws','-n',essid]
00059 ctr350_config = subprocess.Popen(ctr350_config_cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
00060 (o,e) = ctr350_config.communicate()
00061 if ctr350_config.returncode != 0:
00062 r.html_result = "<p>Invocation of ctr350 on 192.168.0.1 failed with: %s</p>\n<p>Trying 10.68.0.250...</p>\n"%e
00063 ctr350_config_cmd = ['ctr350','-l','/usr/lib/ctr350/willow_default.gws','-i','10.68.0.250','-p','willow','-n',essid]
00064 ctr350_config = subprocess.Popen(ctr350_config_cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
00065 (o,e) = ctr350_config.communicate()
00066
00067 if ctr350_config.returncode != 0:
00068 r.html_result = r.html_result + "<p>Invocation of ctr350 on 10.68.0.250 failed with: %s</p>\n"%e
00069 r.result = TestResultRequest.RESULT_FAIL
00070 r.text_summary = "Utility failed"
00071 elif 'WAP has resumed successfully on: 10.68.0.250' not in o:
00072 r.html_result = "<pre>%s</pre>"%o
00073 r.result = TestResultRequest.RESULT_FAIL
00074 r.text_summary = "Resume failed"
00075 else:
00076 r.html_result = "<pre>%s</pre>"%o
00077 r.result = TestResultRequest.RESULT_PASS
00078 r.text_summary = "Configured"
00079
00080
00081 rospy.wait_for_service('test_result')
00082 result_service = rospy.ServiceProxy('test_result', TestResult)
00083 result_service.call(r)
00084
00085 rospy.spin()