summaryrefslogtreecommitdiff
path: root/test/navigation/script/test-route-calculation.py
diff options
context:
space:
mode:
Diffstat (limited to 'test/navigation/script/test-route-calculation.py')
-rwxr-xr-xtest/navigation/script/test-route-calculation.py75
1 files changed, 29 insertions, 46 deletions
diff --git a/test/navigation/script/test-route-calculation.py b/test/navigation/script/test-route-calculation.py
index f0a5221..29dcfd5 100755
--- a/test/navigation/script/test-route-calculation.py
+++ b/test/navigation/script/test-route-calculation.py
@@ -6,6 +6,7 @@
* SPDX-License-Identifier: MPL-2.0
*
* \copyright Copyright (C) 2014, XS Embedded GmbH, PCA Peugeot Citroen
+* \copyright Copyright (C) 2017, PSA GROUP
*
* \file test-route-calculation.py
*
@@ -30,35 +31,17 @@
import dbus
import gobject
import dbus.mainloop.glib
-from collections import namedtuple,defaultdict
-from _dbus_bindings import Int32
-from PIL.GimpGradientFile import SEGMENTS
-from xml.dom.minidom import parse
import xml.dom.minidom
import argparse
import sys
import errno
+import genivi
#import pdb;pdb.set_trace()
-from pip import locations
from dltTrigger import *
#name of the test
test_name = "route calculation"
-#constants as defined in the Navigation API
-GENIVI_NAVIGATIONCORE_LATITUDE = 0x00a0
-GENIVI_NAVIGATIONCORE_LONGITUDE = 0x00a1
-GENIVI_NAVIGATIONCORE_TOTAL_TIME = 0x018e
-GENIVI_NAVIGATIONCORE_TOTAL_DISTANCE = 0x018f
-GENIVI_NAVIGATIONCORE_ROAD_NAME = 0x0147
-GENIVI_NAVIGATIONCORE_START_LATITUDE = 0x0141
-GENIVI_NAVIGATIONCORE_END_LATITUDE = 0x0142
-GENIVI_NAVIGATIONCORE_START_LONGITUDE = 0x0143
-GENIVI_NAVIGATIONCORE_END_LONGITUDE = 0x0144
-GENIVI_NAVIGATIONCORE_DISTANCE = 0x0148
-GENIVI_NAVIGATIONCORE_TIME = 0x0149
-GENIVI_NAVIGATIONCORE_SPEED = 0x00a4
-
#constants used into the script
TIME_OUT = 10000
@@ -100,30 +83,30 @@ bus = dbus.SessionBus()
#add signal receivers
def catchall_route_calculation_signals_handler(routeHandle, status, percentage):
- print 'Route Calculation: ' + str(int(percentage)) + ' %'
+ print ('Route Calculation: ' + str(int(percentage)) + ' %')
if int(percentage) == 100:
#get route overview
- overview = g_routing_interface.GetRouteOverview(dbus.UInt32(g_route_handle),dbus.Array([dbus.Int32(GENIVI_NAVIGATIONCORE_TOTAL_DISTANCE),dbus.Int32(GENIVI_NAVIGATIONCORE_TOTAL_TIME)]))
+ overview = g_routing_interface.GetRouteOverview(dbus.UInt32(g_route_handle),dbus.Array([dbus.Int32(genivi.TOTAL_DISTANCE),dbus.Int32(genivi.TOTAL_TIME)]))
#retrieve distance
- totalDistance = dbus.Struct(overview[dbus.Int32(GENIVI_NAVIGATIONCORE_TOTAL_DISTANCE)])
- print 'Total Distance: ' + str(totalDistance[1]/1000) + ' km'
- totalTime = dbus.Struct(overview[dbus.Int32(GENIVI_NAVIGATIONCORE_TOTAL_TIME)])
+ totalDistance = dbus.Struct(overview[dbus.Int32(genivi.TOTAL_DISTANCE)])
+ print ('Total Distance: ' + str(totalDistance[1]/1000) + ' km')
+ totalTime = dbus.Struct(overview[dbus.Int32(genivi.TOTAL_TIME)])
m, s = divmod(totalTime[1], 60)
h, m = divmod(m, 60)
- print "Total Time: %d:%02d:%02d" % (h, m, s)
+ print ("Total Time: %d:%02d:%02d" % (h, m, s))
#get route segments GetRouteSegments(const uint32_t& routeHandle, const int16_t& detailLevel, const std::vector< DBusCommonAPIEnumeration >& valuesToReturn, const uint32_t& numberOfSegments, const uint32_t& offset, uint32_t& totalNumberOfSegments, std::vector< std::map< DBusCommonAPIEnumeration, DBusCommonAPIVariant > >& routeSegments)
- valuesToReturn = [dbus.Int32(GENIVI_NAVIGATIONCORE_ROAD_NAME),
- dbus.Int32(GENIVI_NAVIGATIONCORE_START_LATITUDE),
- dbus.Int32(GENIVI_NAVIGATIONCORE_END_LATITUDE),
- dbus.Int32(GENIVI_NAVIGATIONCORE_START_LONGITUDE),
- dbus.Int32(GENIVI_NAVIGATIONCORE_END_LONGITUDE),
- dbus.Int32(GENIVI_NAVIGATIONCORE_DISTANCE),
- dbus.Int32(GENIVI_NAVIGATIONCORE_TIME),
- dbus.Int32(GENIVI_NAVIGATIONCORE_SPEED)]
+ valuesToReturn = [dbus.Int32(genivi.ROAD_NAME),
+ dbus.Int32(genivi.START_LATITUDE),
+ dbus.Int32(genivi.END_LATITUDE),
+ dbus.Int32(genivi.START_LONGITUDE),
+ dbus.Int32(genivi.END_LONGITUDE),
+ dbus.Int32(genivi.DISTANCE),
+ dbus.Int32(genivi.TIME),
+ dbus.Int32(genivi.SPEED)]
ret = g_routing_interface.GetRouteSegments(dbus.UInt32(g_route_handle),dbus.Int16(0),dbus.Array(valuesToReturn),dbus.UInt32(500),dbus.UInt32(0))
- print "Total number of segments: " + str(ret[0])
+ print ("Total number of segments: " + str(ret[0]) )
#len(ret[1]) is size
- #ret[1][0][GENIVI_NAVIGATIONCORE_START_LATITUDE] is the start latitude
+ #ret[1][0][genivi.START_LATITUDE] is the start latitude
# pdb.set_trace()
route = g_current_route + 1
if route < routes.length:
@@ -136,9 +119,9 @@ def catchall_route_calculation_signals_handler(routeHandle, status, percentage):
def catchall_session_signals_handler(sessionHandle):
print('Session handle deleted: '+str(sessionHandle))
if sessionHandle == g_session_handle:
- print 'Test PASSED'
+ print ('Test PASSED')
else:
- print 'Test FAILED'
+ print ('Test FAILED')
exit()
def catchall_route_deleted_signals_handler(routeHandle):
@@ -158,8 +141,8 @@ bus.add_signal_receiver(catchall_session_signals_handler, \
#timeout
def timeout():
- print 'Timeout Expired'
- print '\nTest FAILED'
+ print ('Timeout Expired')
+ print ('\nTest FAILED')
exit()
def exit():
@@ -172,24 +155,24 @@ def launch_route_calculation(route):
global g_routing_interface
global g_session_handle
g_current_route = route
- print 'Route name: '+routes[g_current_route].getElementsByTagName("name")[0].childNodes[0].data
+ print ('Route name: '+routes[g_current_route].getElementsByTagName("name")[0].childNodes[0].data)
#get route handle
ret = g_routing_interface.CreateRoute(dbus.UInt32(g_session_handle))
g_route_handle=ret[1]
routes[g_current_route].getElementsByTagName("handle")[0].childNodes[0].data = g_route_handle
- print 'Route handle: ' + str(g_route_handle)
+ print ('Route handle: ' + str(g_route_handle))
start = routes[g_current_route].getElementsByTagName("start")[0].childNodes[0].data
dest = routes[g_current_route].getElementsByTagName("destination")[0].childNodes[0].data
- print 'Calculating route from \
+ print ('Calculating route from \
'+start+'(' + str(locations[routes[g_current_route].getElementsByTagName("start")[0].childNodes[0].data][0]) + ',' + str(locations[routes[g_current_route].getElementsByTagName("start")[0].childNodes[0].data][1]) + ') to \
-'+dest+'(' + str(locations[routes[g_current_route].getElementsByTagName("destination")[0].childNodes[0].data][0]) + ',' + str(locations[routes[g_current_route].getElementsByTagName("destination")[0].childNodes[0].data][1]) + ')'
+'+dest+'(' + str(locations[routes[g_current_route].getElementsByTagName("destination")[0].childNodes[0].data][0]) + ',' + str(locations[routes[g_current_route].getElementsByTagName("destination")[0].childNodes[0].data][1]) + ')')
#set waypoints
g_routing_interface.SetWaypoints(dbus.UInt32(g_session_handle), \
dbus.UInt32(g_route_handle), \
dbus.Boolean(0), \
dbus.Array([ \
- dbus.Dictionary({dbus.UInt16(GENIVI_NAVIGATIONCORE_LATITUDE):dbus.Struct([0,dbus.Double(locations[routes[g_current_route].getElementsByTagName("start")[0].childNodes[0].data][0])]),dbus.UInt16(GENIVI_NAVIGATIONCORE_LONGITUDE):dbus.Struct([0,dbus.Double(locations[routes[g_current_route].getElementsByTagName("start")[0].childNodes[0].data][1])])}), \
- dbus.Dictionary({dbus.UInt16(GENIVI_NAVIGATIONCORE_LATITUDE):dbus.Struct([0,dbus.Double(locations[routes[g_current_route].getElementsByTagName("destination")[0].childNodes[0].data][0])]),dbus.UInt16(GENIVI_NAVIGATIONCORE_LONGITUDE):dbus.Struct([0,dbus.Double(locations[routes[g_current_route].getElementsByTagName("destination")[0].childNodes[0].data][1])])}) \
+ dbus.Dictionary({dbus.UInt16(genivi.LATITUDE):dbus.Struct([0,dbus.Double(locations[routes[g_current_route].getElementsByTagName("start")[0].childNodes[0].data][0])]),dbus.UInt16(genivi.LONGITUDE):dbus.Struct([0,dbus.Double(locations[routes[g_current_route].getElementsByTagName("start")[0].childNodes[0].data][1])])}), \
+ dbus.Dictionary({dbus.UInt16(genivi.LATITUDE):dbus.Struct([0,dbus.Double(locations[routes[g_current_route].getElementsByTagName("destination")[0].childNodes[0].data][0])]),dbus.UInt16(genivi.LONGITUDE):dbus.Struct([0,dbus.Double(locations[routes[g_current_route].getElementsByTagName("destination")[0].childNodes[0].data][1])])}) \
]) \
)
#calculate route
@@ -203,7 +186,7 @@ g_session_interface = dbus.Interface(session, dbus_interface='org.genivi.navigat
#get session handle
ret = g_session_interface.CreateSession(dbus.String("test route calculation"))
g_session_handle=ret[1]
-print 'Session handle: ' + str(g_session_handle)
+print ('Session handle: ' + str(g_session_handle))
routing_obj = bus.get_object('org.genivi.navigation.navigationcore.Routing','/org/genivi/navigationcore')
g_routing_interface = dbus.Interface(routing_obj, dbus_interface='org.genivi.navigation.navigationcore.Routing')