Add smoke tests for checking the waypoints of each town

This commit is contained in:
nsubiron 2019-03-19 19:27:08 +01:00
parent eff21e2aae
commit e78f9daab2
2 changed files with 49 additions and 13 deletions

View File

@ -4,7 +4,6 @@
# This work is licensed under the terms of the MIT license. # This work is licensed under the terms of the MIT license.
# For a copy, see <https://opensource.org/licenses/MIT>. # For a copy, see <https://opensource.org/licenses/MIT>.
import random
from . import SmokeTest from . import SmokeTest
@ -12,15 +11,3 @@ from . import SmokeTest
class TestClient(SmokeTest): class TestClient(SmokeTest):
def test_version(self): def test_version(self):
self.assertEqual(self.client.get_client_version(), self.client.get_server_version()) self.assertEqual(self.client.get_client_version(), self.client.get_server_version())
def test_reload_world(self):
map_name = self.client.get_world().get_map().name
world = self.client.reload_world()
self.assertEqual(map_name, world.get_map().name)
def test_load_all_maps(self):
map_names = list(self.client.get_available_maps())
random.shuffle(map_names)
for map_name in map_names:
world = self.client.load_world(map_name)
self.assertEqual(map_name.split('/')[-1], world.get_map().name)

View File

@ -0,0 +1,49 @@
# Copyright (c) 2019 Computer Vision Center (CVC) at the Universitat Autonoma de
# Barcelona (UAB).
#
# This work is licensed under the terms of the MIT license.
# For a copy, see <https://opensource.org/licenses/MIT>.
import carla
import random
from . import SmokeTest
class TestMap(SmokeTest):
def test_reload_world(self):
map_name = self.client.get_world().get_map().name
world = self.client.reload_world()
self.assertEqual(map_name, world.get_map().name)
def test_load_all_maps(self):
map_names = list(self.client.get_available_maps())
random.shuffle(map_names)
for map_name in map_names:
if map_name != '/Game/Carla/Maps/BaseMap/BaseMap':
print(map_name)
world = self.client.load_world(map_name)
m = world.get_map()
self.assertEqual(map_name.split('/')[-1], m.name)
self._check_map(m)
def _check_map(self, m):
for spawn_point in m.get_spawn_points():
waypoint = m.get_waypoint(spawn_point.location, project_to_road=False)
self.assertIsNotNone(waypoint)
topology = m.get_topology()
self.assertGreater(len(topology), 0)
waypoints = list(m.generate_waypoints(2))
self.assertGreater(len(waypoints), 0)
random.shuffle(waypoints)
for waypoint in waypoints[:200]:
for _ in range(0, 20):
self.assertGreaterEqual(waypoint.lane_width, 0.0)
_ = waypoint.get_right_lane()
_ = waypoint.get_left_lane()
next_waypoints = waypoint.next(4)
if not next_waypoints:
break
waypoint = random.choice(next_waypoints)
_ = m.transform_to_geolocation(carla.Location())
self.assertTrue(str(m.to_opendrive()))