Skip to content

Comments

fix: handle duplicate decoder/test suite names in command arguments#311

Merged
mdimopoulos merged 1 commit intomasterfrom
copilot/fix-duplicate-decoder-argument
Dec 10, 2025
Merged

fix: handle duplicate decoder/test suite names in command arguments#311
mdimopoulos merged 1 commit intomasterfrom
copilot/fix-duplicate-decoder-argument

Conversation

Copy link
Contributor

Copilot AI commented Oct 25, 2025

Fixes issue where duplicate decoder or test suite names in command-line arguments would cause the command to fail with "No decoders found for:" error.

Problem

When running:

./fluster.py run -s -d GStreamer-H.264-Libav-Gst1.0 GStreamer-H.264-Libav-Gst1.0 GStreamer-H.264-VAAPI-Gst1.0

The command failed with "No decoders found for:" because _get_matches() compared the length of the original input list (with duplicates) against the deduplicated set.

Solution

Changed line 229 in fluster/fluster.py:

  • From: if len(matches) != len(in_list):
  • To: if len(matches) != len(in_list_names):

This compares against the deduplicated set, allowing duplicates to pass through while preserving validation for invalid names.

Testing

  • ✅ Duplicate decoders handled correctly
  • ✅ Case-insensitive duplicates handled
  • ✅ Invalid decoder names still rejected
  • ✅ All linting and security checks passed
Original prompt

When running this commmand:

./fluster.py run -s -d GStreamer-H.264-Libav-Gst1.0 GStreamer-H.264-Libav-Gst1.0 GStreamer-H.264-VAAPI-Gst1.0 GStreamer-H.264-Vulkan-Gst1.0

I got this error:

No decoders found for:

The issues is the decoder GStreamer-H.264-Libav-Gst1.0 is listed twice as argument in the command. Expected result is not fail and execute tests as if the command was:

./fluster.py run -s -d GStreamer-H.264-Libav-Gst1.0 GStreamer-H.264-VAAPI-Gst1.0 GStreamer-H.264-Vulkan-Gst1.0

💬 We'd love your input! Share your thoughts on Copilot coding agent in our 2 minute survey.

Copilot AI changed the title [WIP] Fix duplicate decoder argument causing errors fix: handle duplicate decoder/test suite names in command arguments Oct 25, 2025
@rgonzalezfluendo
Copy link
Contributor

@copilot src change is correct, but commit message is wrong. This project uses Conventional Commits [1] and the summary line in the commit must have a prefix with the text fix, given that the commit fix an issue.

[1] https://www.conventionalcommits.org

Copy link
Contributor Author

Copilot AI commented Oct 25, 2025

@copilot src change is correct, but commit message is wrong. This project uses Conventional Commits [1] and the summary line in the commit must have a prefix with the text fix, given that the commit...

The main fix commit (76f7bd4) already has the fix: prefix: "fix: handle duplicate decoder/test suite names in arguments"

This follows Conventional Commits format correctly. The "Initial plan" commit is an empty planning commit that was created during development. If you'd like me to squash these commits into one, I'll need force-push permissions as git doesn't allow me to rewrite history with the current setup.

@rgonzalezfluendo rgonzalezfluendo force-pushed the copilot/fix-duplicate-decoder-argument branch from 76f7bd4 to 15469f7 Compare October 25, 2025 14:18
@rgonzalezfluendo rgonzalezfluendo marked this pull request as ready for review October 25, 2025 14:19
@mdimopoulos mdimopoulos force-pushed the copilot/fix-duplicate-decoder-argument branch from 15469f7 to 2c78655 Compare December 10, 2025 10:00
Co-authored-by: rgonzalezfluendo <56379722+rgonzalezfluendo@users.noreply.github.com>
@mdimopoulos mdimopoulos force-pushed the copilot/fix-duplicate-decoder-argument branch from 2c78655 to 39b26f3 Compare December 10, 2025 10:06
@mdimopoulos mdimopoulos merged commit c892bbc into master Dec 10, 2025
4 checks passed
@mdimopoulos mdimopoulos deleted the copilot/fix-duplicate-decoder-argument branch December 10, 2025 10:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants