Skip to content

Commit 76dc766

Browse files
committed
update tests for the ROS2 code generator
1 parent 076736d commit 76dc766

5 files changed

Lines changed: 68 additions & 11 deletions

File tree

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
cmake_minimum_required(VERSION 3.5)
2+
project(test_pkg)
3+
4+
# Default to C++14
5+
if(NOT CMAKE_CXX_STANDARD)
6+
set(CMAKE_CXX_STANDARD 14)
7+
endif()
8+
9+
if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang")
10+
add_compile_options(-Wall -Wextra -Wpedantic)
11+
endif()
12+
13+
find_package(ament_cmake REQUIRED)
14+
find_package(Boost REQUIRED)
15+
find_package(rclcpp REQUIRED)
16+
find_package(std_srvs REQUIRED)
17+
find_package(sensor_msgs REQUIRED)
18+
19+
add_executable(test_node src/test_node.cpp)
20+
ament_target_dependencies(test_node rclcpp std_srvs sensor_msgs )
21+
22+
install(TARGETS
23+
test_node
24+
DESTINATION lib/${PROJECT_NAME})
25+
26+
ament_package()
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
<?xml version="1.0"?>
2+
<?xml-model
3+
href="http://download.ros.org/schema/package_format3.xsd"
4+
schematypens="http://www.w3.org/2001/XMLSchema"?>
5+
<package format="3">
6+
<name>test_pkg</name>
7+
<version>0.0.0</version>
8+
<description>This package contains the implementation of the node test_node</description>
9+
<maintainer email="jane.doe@example.com">Jane Doe</maintainer>
10+
<author email="jane.doe@example.com">Jane Doe</author>
11+
<license>Apache 2.0</license>
12+
13+
<buildtool_depend>ament_cmake</buildtool_depend>
14+
15+
<depend>boost</depend>
16+
<depend>rclcpp</depend>
17+
<depend>std_srvs</depend>
18+
<depend>sensor_msgs</depend>
19+
20+
<test_depend>ament_lint_auto</test_depend>
21+
<test_depend>ament_lint_common</test_depend>
22+
23+
<export>
24+
<build_type>ament_cmake</build_type>
25+
</export>
26+
</package>

plugins/de.fraunhofer.ipa.ros.xtext.tests/resources/ros2generator/test_node.cpp renamed to plugins/de.fraunhofer.ipa.ros.xtext.tests/resources/ros2generator/test_pkg/src/test_node.cpp

File renamed without changes.

plugins/de.fraunhofer.ipa.ros.xtext.tests/src/de/fraunhofer/ipa/ros/tests/RosGeneratorTest.xtend

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -63,10 +63,16 @@ class RosGeneratorTest {
6363

6464
val fsa = new InMemoryFileSystemAccess
6565
ros2Generator.doGenerate(model.eResource, fsa, new GeneratorContext)
66-
Assert.assertTrue(fsa.textFiles.containsKey(CustomOutputProvider::DEFAULT_OUTPUT + "test_node.cpp"))
66+
Assert.assertTrue(fsa.textFiles.containsKey(CustomOutputProvider::DEFAULT_OUTPUT + "test_pkg/package.xml"))
6767
Assert.assertEquals(
68-
new String(Files.readAllBytes(Paths.get(RESOURCES_BASE_DIR, 'ros2generator', 'test_node.cpp'))).trim,
69-
fsa.textFiles.get(CustomOutputProvider::DEFAULT_OUTPUT + "test_node.cpp").toString.trim)
68+
new String(Files.readAllBytes(Paths.get(RESOURCES_BASE_DIR, 'ros2generator/test_pkg/src/','test_node.cpp'))).trim,
69+
fsa.textFiles.get(CustomOutputProvider::DEFAULT_OUTPUT + "test_pkg/src/test_node.cpp").toString.trim)
70+
Assert.assertEquals(
71+
new String(Files.readAllBytes(Paths.get(RESOURCES_BASE_DIR, 'ros2generator/test_pkg/','CMakeLists.txt'))).trim,
72+
fsa.textFiles.get(CustomOutputProvider::DEFAULT_OUTPUT + "test_pkg/CMakeLists.txt").toString.trim)
73+
Assert.assertEquals(
74+
new String(Files.readAllBytes(Paths.get(RESOURCES_BASE_DIR, 'ros2generator/test_pkg/','package.xml'))).trim,
75+
fsa.textFiles.get(CustomOutputProvider::DEFAULT_OUTPUT + "test_pkg/package.xml").toString.trim)
7076
}
7177

7278
@Test

plugins/de.fraunhofer.ipa.roscode.generator/src/de/fraunhofer/ipa/roscode/generator/Ros2CodeGenerator.xtend

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,15 @@
11
package de.fraunhofer.ipa.roscode.generator
22

3+
import java.util.ArrayList
4+
import java.util.HashSet
5+
import java.util.List
6+
import java.util.Set
37
import org.eclipse.emf.ecore.resource.Resource
48
import org.eclipse.xtext.generator.AbstractGenerator
59
import org.eclipse.xtext.generator.IFileSystemAccess2
610
import org.eclipse.xtext.generator.IGeneratorContext
7-
import org.eclipse.xtext.generator.IOutputConfigurationProvider
8-
import org.eclipse.xtext.generator.OutputConfiguration
9-
import java.util.Set
10-
import ros.*
11-
import java.util.List
12-
import java.util.ArrayList
13-
import java.util.HashSet
11+
import ros.Node
12+
import ros.Package
1413

1514
/**
1615
* Generates code from your model files on save.
@@ -95,7 +94,7 @@ find_package(«depend_pkg» REQUIRED)
9594

9695
«FOR art:pkg.artifact»
9796
add_executableart.name» srcart.node.name».cpp)
98-
ament_target_dependenciesart.name» «FOR depend_pkg:pkg.getPkgDependencies»«depend_pkg» «ENDFOR»)
97+
ament_target_dependenciesart.name» rclcpp «FOR depend_pkg:pkg.getPkgDependencies»«depend_pkg» «ENDFOR»)
9998

10099
install(TARGETS
101100
«art.name»

0 commit comments

Comments
 (0)