Skip to content

Commit

Permalink
Merge pull request #265 from fprime-community/revise-check-xml
Browse files Browse the repository at this point in the history
Revise check-xml
  • Loading branch information
bocchino committed Jun 20, 2023
2 parents be731d8 + f1f61f0 commit b94b847
Show file tree
Hide file tree
Showing 22 changed files with 130 additions and 78 deletions.
14 changes: 7 additions & 7 deletions compiler/tools/fpp-to-xml/test/array/ArrayEnum2ArrayAi.ref.xml
Original file line number Diff line number Diff line change
Expand Up @@ -4,16 +4,16 @@
ArrayEnum2ArrayAi.xml
Generated by fpp-to-xml
====================================================================== -->
<array name="ArrayEnum2">
<array namespace="N" name="ArrayEnum2">
<import_enum_type>ArrayEnumE2EnumAi.xml</import_enum_type>
<type>ArrayEnumE2</type>
<type>M::ArrayEnumE2</type>
<size>5</size>
<format>%s</format>
<default>
<value>ArrayEnumE2::A</value>
<value>ArrayEnumE2::A</value>
<value>ArrayEnumE2::A</value>
<value>ArrayEnumE2::A</value>
<value>ArrayEnumE2::A</value>
<value>M::ArrayEnumE2::A</value>
<value>M::ArrayEnumE2::A</value>
<value>M::ArrayEnumE2::A</value>
<value>M::ArrayEnumE2::A</value>
<value>M::ArrayEnumE2::A</value>
</default>
</array>
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
ArrayEnumE2EnumAi.xml
Generated by fpp-to-xml
====================================================================== -->
<enum name="ArrayEnumE2" serialize_type="I32" default="A">
<enum namespace="M" name="ArrayEnumE2" serialize_type="I32" default="A">
<item name="A" value="10"/>
<item name="B" value="20"/>
<item name="C" value="30"/>
Expand Down
4 changes: 2 additions & 2 deletions compiler/tools/fpp-to-xml/test/array/ArrayOK3ArrayAi.ref.xml
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,12 @@
ArrayOK3ArrayAi.xml
Generated by fpp-to-xml
====================================================================== -->
<array name="ArrayOK3">
<array namespace="M2" name="ArrayOK3">
<type size="80">string</type>
<size>2</size>
<format>%s</format>
<default>
<value>"\"\\"</value>
<value>"abc\ndef"</value>
<value>"abc\ndef\n"</value>
</default>
</array>
10 changes: 5 additions & 5 deletions compiler/tools/fpp-to-xml/test/array/ArrayOK4ArrayAi.ref.xml
Original file line number Diff line number Diff line change
Expand Up @@ -9,13 +9,13 @@ Generated by fpp-to-xml
<comment>
Array with array arg
</comment>
<type>ArrayOK3</type>
<type>M2::ArrayOK3</type>
<size>4</size>
<format>%s</format>
<default>
<value>ArrayOK3("\"\\", "abc\ndef")</value>
<value>ArrayOK3("\"\\", "abc\ndef")</value>
<value>ArrayOK3("\"\\", "abc\ndef")</value>
<value>ArrayOK3("\"\\", "abc\ndef")</value>
<value>M2::ArrayOK3("\"\\", "abc\ndef\n")</value>
<value>M2::ArrayOK3("\"\\", "abc\ndef\n")</value>
<value>M2::ArrayOK3("\"\\", "abc\ndef\n")</value>
<value>M2::ArrayOK3("\"\\", "abc\ndef\n")</value>
</default>
</array>
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
ArrayOK5ArrayAi.xml
Generated by fpp-to-xml
====================================================================== -->
<array name="ArrayOK5">
<array namespace="M4" name="ArrayOK5">
<include_header>T.hpp</include_header>
<type>T</type>
<size>3</size>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
BuiltInTypeArrayAi.xml
Generated by fpp-to-xml
====================================================================== -->
<array name="BuiltInType">
<array namespace="M" name="BuiltInType">
<type>FwOpcodeType</type>
<size>3</size>
<format>%s</format>
Expand Down
18 changes: 10 additions & 8 deletions compiler/tools/fpp-to-xml/test/array/array_enum.fpp
Original file line number Diff line number Diff line change
Expand Up @@ -6,17 +6,19 @@ module M {
Z = 9
}

}
enum ArrayEnumE2 {
A = 10
B = 20
C = 30
D = 40
}

enum ArrayEnumE2 {
A = 10
B = 20
C = 30
D = 40
}

module N {

array ArrayEnum1 = [2] M.ArrayEnumE1 @< Array with enum argument
}

array ArrayEnum2 = [5] ArrayEnumE2
array ArrayEnum2 = [5] M.ArrayEnumE2

}
19 changes: 12 additions & 7 deletions compiler/tools/fpp-to-xml/test/array/array_ok.fpp
Original file line number Diff line number Diff line change
Expand Up @@ -3,17 +3,22 @@ module M1 {
}

module M2 {

array ArrayOK2 = [3] M1.ArrayOK1
}

array ArrayOK3 = [2] string default ["\"\\", """
abc
def
"""]
array ArrayOK3 = [2] string default ["\"\\", """
abc
def
"""]
}
module M3 {
array ArrayOK4 = [4] ArrayOK3 @< Array with array arg
array ArrayOK4 = [4] M2.ArrayOK3 @< Array with array arg
}
type T
array ArrayOK5 = [3] T
module M4 {
array ArrayOK5 = [3] T
}
6 changes: 5 additions & 1 deletion compiler/tools/fpp-to-xml/test/array/built_in_type.fpp
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
type FwOpcodeType

array BuiltInType = [3] FwOpcodeType
module M {

array BuiltInType = [3] FwOpcodeType

}
11 changes: 10 additions & 1 deletion compiler/tools/fpp-to-xml/test/array/check-xml
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,18 @@

export COMPILER_ROOT=$PWD/../../../..

# F Prime ode generation is broken for built-in types
skip_xml_names="
ArrayStruct1Array
"

for name in $skip_xml_names
do
export SKIP_XML_FOR_$name=1
done

skip_cpp_names="
BuiltInTypeArray
ArrayStruct1Array
"

for name in $skip_cpp_names
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,11 @@
TypesComponentAi.xml
Generated by fpp-to-xml
====================================================================== -->
<component name="Types" kind="passive">
<component namespace="M" name="Types" kind="passive">

<import_array_type>Types_AArrayAi.xml</import_array_type>
<import_enum_type>Types_EEnumAi.xml</import_enum_type>
<import_serializable_type>Types_SSerializableAi.xml</import_serializable_type>
<include_header>Types_T.hpp</include_header>

</component>
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
Types_AArrayAi.xml
Generated by fpp-to-xml
====================================================================== -->
<array name="Types_A">
<array namespace="M" name="Types_A">
<type>U32</type>
<size>3</size>
<format>%u</format>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,14 @@
Types_AUseArrayAi.xml
Generated by fpp-to-xml
====================================================================== -->
<array name="Types_AUse">
<array namespace="M" name="Types_AUse">
<import_array_type>Types_AArrayAi.xml</import_array_type>
<type>Types_A</type>
<type>M::Types_A</type>
<size>3</size>
<format>%s</format>
<default>
<value>Types_A(0, 0, 0)</value>
<value>Types_A(0, 0, 0)</value>
<value>Types_A(0, 0, 0)</value>
<value>M::Types_A(0, 0, 0)</value>
<value>M::Types_A(0, 0, 0)</value>
<value>M::Types_A(0, 0, 0)</value>
</default>
</array>
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,6 @@
Types_EEnumAi.xml
Generated by fpp-to-xml
====================================================================== -->
<enum name="Types_E" serialize_type="I32" default="X">
<enum namespace="M" name="Types_E" serialize_type="I32" default="X">
<item name="X" value="0"/>
</enum>
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,14 @@
Types_EUseArrayAi.xml
Generated by fpp-to-xml
====================================================================== -->
<array name="Types_EUse">
<array namespace="M" name="Types_EUse">
<import_enum_type>Types_EEnumAi.xml</import_enum_type>
<type>Types_E</type>
<type>M::Types_E</type>
<size>3</size>
<format>%s</format>
<default>
<value>Types_E::X</value>
<value>Types_E::X</value>
<value>Types_E::X</value>
<value>M::Types_E::X</value>
<value>M::Types_E::X</value>
<value>M::Types_E::X</value>
</default>
</array>
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
Types_SSerializableAi.xml
Generated by fpp-to-xml
====================================================================== -->
<serializable name="Types_S">
<serializable namespace="M" name="Types_S">
<members>
<member name="x" type="U32" format="%u">
<default>0</default>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,14 @@
Types_SUseArrayAi.xml
Generated by fpp-to-xml
====================================================================== -->
<array name="Types_SUse">
<array namespace="M" name="Types_SUse">
<import_serializable_type>Types_SSerializableAi.xml</import_serializable_type>
<type>Types_S</type>
<type>M::Types_S</type>
<size>3</size>
<format>%s</format>
<default>
<value>Types_S(0, 0.0f)</value>
<value>Types_S(0, 0.0f)</value>
<value>Types_S(0, 0.0f)</value>
<value>M::Types_S(0, 0.0f)</value>
<value>M::Types_S(0, 0.0f)</value>
<value>M::Types_S(0, 0.0f)</value>
</default>
</array>
4 changes: 4 additions & 0 deletions compiler/tools/fpp-to-xml/test/component/Types_T.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@

#include "Fw/Types/Serializable.hpp"

namespace M {

//! C++ interface for type Types_T
//! This simulates a handwritten C++ serializable class
//! that is represented as an abstract type in an FPP model.
Expand Down Expand Up @@ -31,4 +33,6 @@ class Types_T :

};

}

#endif
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,14 @@
Types_TUseArrayAi.xml
Generated by fpp-to-xml
====================================================================== -->
<array name="Types_TUse">
<array namespace="M" name="Types_TUse">
<include_header>Types_T.hpp</include_header>
<type>Types_T</type>
<type>M::Types_T</type>
<size>3</size>
<format>%s</format>
<default>
<value>Types_T()</value>
<value>Types_T()</value>
<value>Types_T()</value>
<value>M::Types_T()</value>
<value>M::Types_T()</value>
<value>M::Types_T()</value>
</default>
</array>
18 changes: 13 additions & 5 deletions compiler/tools/fpp-to-xml/test/component/check-xml
Original file line number Diff line number Diff line change
Expand Up @@ -2,16 +2,24 @@

export COMPILER_ROOT=$PWD/../../../..

skip_xml_names="
"

for name in $skip_xml_names
do
export SKIP_XML_FOR_$name=1
done

skip_cpp_names="
Commands
Events
Parameters
Telemetry
CommandsComponent
EventsComponent
ParametersComponent
TelemetryComponent
"

for name in $skip_cpp_names
do
export SKIP_CPP_FOR_$name'Component'=1
export SKIP_CPP_FOR_$name=1
done

export FPRIME_GCC_FLAGS="-Wno-zero-length-array -Wno-vla-extension -Wno-sign-conversion"
Expand Down
24 changes: 14 additions & 10 deletions compiler/tools/fpp-to-xml/test/component/types.fpp
Original file line number Diff line number Diff line change
@@ -1,16 +1,20 @@
passive component Types {
module M {

array A = [3] U32
passive component Types {

enum E { X }
array A = [3] U32

struct S { x: U32, y: F32 }
enum E { X }

type T
struct S { x: U32, y: F32 }

}
type T

array AUse = [3] Types.A
array EUse = [3] Types.E
array SUse = [3] Types.S
array TUse = [3] Types.T

array Types_AUse = [3] Types.A
array Types_EUse = [3] Types.E
array Types_SUse = [3] Types.S
array Types_TUse = [3] Types.T
}

}
Loading

0 comments on commit b94b847

Please sign in to comment.