Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 26 additions & 2 deletions .github/workflows/reusable-ubuntu-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,14 @@ on:
required: false
type: boolean
default: false
blacklist_idls:
description: 'Comma-separated list of tests to be blacklisted'
required: false
type: string
default: 'interfaces,interfaces_2'
env:
blacklist_tests: ${{ inputs.run-tests && inputs.blacklist_idls }}
gradle-test-flags: ${{ inputs.blacklist_idls && format('-Dblacklist_tests={0}', inputs.blacklist_idls) }}
defaults:
run:
shell: bash
Expand Down Expand Up @@ -220,11 +228,27 @@ jobs:
run: |
source ${{ github.workspace }}/install/local_setup.bash
cd ${{ github.workspace }}/src/fastddsgen
./gradlew test
./gradlew test ${{ env.gradle-test-flags }}
- name: Test fastddsgen with python arg
if: ${{ inputs.run-tests == true }}
run: |
source ${{ github.workspace }}/install/local_setup.bash
cd ${{ github.workspace }}/src/fastddsgen/thirdparty/dds-types-test/IDL
find . -path "*.idl*" -exec fastddsgen -python {} +
# Example: blacklist_tests='file1,file1'
IFS=',' read -r -a BL <<< "${{ env.blacklist_tests }}"
# Build exclusion: ! ( -name file1.idl -o -name file2.idl )
EXCL=()
for f in "${BL[@]}"; do
[[ -n "$f" ]] && EXCL+=(-name "${f}.idl" -o)
done
# Drop trailing -o if present
((${#EXCL[@]})) && unset 'EXCL[${#EXCL[@]}-1]'
# Run find: match *.idl files, exclude blacklist, and batch fastddsgen calls
if ((${#EXCL[@]})); then
find . -type f -name '*.idl' ! \( "${EXCL[@]}" \) -exec fastddsgen -python {} +
else
find . -type f -name '*.idl' -exec fastddsgen -python {} +
fi
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
import com.eprosima.fastdds.idl.grammar.Operation;
import com.eprosima.fastdds.idl.parser.typecode.EnumTypeCode;
import com.eprosima.fastdds.idl.parser.typecode.StructTypeCode;
import com.eprosima.idl.parser.exception.ParseException;
import com.eprosima.idl.parser.typecode.Member;
import com.eprosima.idl.parser.typecode.EnumMember;
import com.eprosima.idl.parser.typecode.TypeCode.ExtensibilityKind;
Expand All @@ -40,7 +41,7 @@ public void add(com.eprosima.idl.parser.tree.Export exp)
Operation op = (Operation)exp;
if (op.isAnnotationFeed())
{
m_hasOutputFeeds = true;
throw new ParseException(null, "Support for result feeds is part of Fast DDS Pro");
}

if (op.getOutputparam().size() > 0)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -84,9 +84,7 @@ public void add(com.eprosima.idl.parser.tree.Param param)
}
else
{
// Take note that there is at least one input feed
m_context.inputFeedAdded(p);
m_hasInputFeeds = true;
throw new ParseException(null, "Support for input feeds is part of Fast DDS Pro");
}
}

Expand Down
2 changes: 1 addition & 1 deletion thirdparty/dds-types-test
Loading