Skip to content

feat: add not supported status code#319

Merged
rsanchez87 merged 1 commit into
fluendo:masterfrom
dabrain34:dab_add_not_supported
Apr 22, 2026
Merged

feat: add not supported status code#319
rsanchez87 merged 1 commit into
fluendo:masterfrom
dabrain34:dab_add_not_supported

Conversation

@dabrain34
Copy link
Copy Markdown
Contributor

In case of 69 exit code from an app, the test should be reported as not supported and be considered as non-error status.

@dabrain34 dabrain34 force-pushed the dab_add_not_supported branch from 7b2fa55 to 8cfccd0 Compare November 13, 2025 17:07
@dabrain34
Copy link
Copy Markdown
Contributor Author

@dabrain34
Copy link
Copy Markdown
Contributor Author

@mdimopoulos
Copy link
Copy Markdown
Contributor

Waiting for https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10088#note_3191662 to conclude before proceeding with a proper review here

@ylatuya
Copy link
Copy Markdown
Contributor

ylatuya commented Dec 10, 2025

@dabrain34 I have opened #323 with a new runner that can be customized to handle errors more easily.

@dabrain34
Copy link
Copy Markdown
Contributor Author

That's sound great, let me give it a try

@rsanchez87
Copy link
Copy Markdown
Contributor

Do you agree to close this PR, @dabrain34 ? Have you seen the changes in this PR?

@dabrain34
Copy link
Copy Markdown
Contributor Author

why do you want to close this MR as the idea would be to treat not supported differently from fail and not exit on error?

@rsanchez87
Copy link
Copy Markdown
Contributor

why do you want to close this MR as the idea would be to treat not supported differently from fail and not exit on error?

You're right, sorry for the confusion. These two PRs are complementary, looking more in detail, this one handles the reporting side, #323 handles the runner side. We'll just need to coordinate the exit codes between them...

Copy link
Copy Markdown
Contributor

@rsanchez87 rsanchez87 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me, the full path from exit code 69 through to JUnit/CSV/markdown reports is consistent and well wired up.

@rsanchez87
Copy link
Copy Markdown
Contributor

@dabrain34 , there are merge conflicts with master, looks like _generate_json_summary and _calculate_timeout_adjustment were added in the same area. NOT_SUPPORTED addition to the result_map in _generate_csv_summary plus the new methods from master.

Can you rebase?

@ylatuya
Copy link
Copy Markdown
Contributor

ylatuya commented Mar 31, 2026

We should support this in an agnostic way through the NotSupportedExpeception without binding it to the 69 exit code since each decoder implementation might signal this in different ways. As a matter of fact, the GStreamer decoders will not use 69 exit code but instead the runner should raise that exception so it can be handled in a generic way by the test case.

rsanchez87

This comment was marked as duplicate.

Copy link
Copy Markdown
Contributor

@rsanchez87 rsanchez87 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@rsanchez87 rsanchez87 self-requested a review April 1, 2026 07:20
@dabrain34
Copy link
Copy Markdown
Contributor Author

We should support this in an agnostic way through the NotSupportedExpeception without binding it to the 69 exit code since each decoder implementation might signal this in different ways. As a matter of fact, the GStreamer decoders will not use 69 exit code but instead the runner should raise that exception so it can be handled in a generic way by the test case.

sounds good to me

@dabrain34 dabrain34 force-pushed the dab_add_not_supported branch from 8cfccd0 to 4fdea1a Compare April 1, 2026 16:03
@dabrain34
Copy link
Copy Markdown
Contributor Author

dabrain34 commented Apr 2, 2026

@rsanchez87 rebased and modified to support NotSupported exception in Vulkan Video Samples decoder class

@dabrain34
Copy link
Copy Markdown
Contributor Author

dabrain34 commented Apr 21, 2026

@rsanchez87 is there something missing in this PR ? I would need this PR to validate Vulkan VP9 test suite upon nvidia driver as they dont support resolution lower than 128x128

@rsanchez87
Copy link
Copy Markdown
Contributor

@rsanchez87 is there something missing in this PR ? I would need this PR to validate Vulkan VP9 test suite upon nvidia driver as they dont support resolution lower than 128x128

Hi @dabrain34 , sorry and thanks for the ping. I haven’t had the chance to review this PR yet, it slipped through on my side. I’ll take a look as soon as possible and get back to you.

@rsanchez87 rsanchez87 force-pushed the dab_add_not_supported branch from 4fdea1a to 043b218 Compare April 21, 2026 14:36
@rsanchez87
Copy link
Copy Markdown
Contributor

rsanchez87 commented Apr 21, 2026

@dabrain34 can you check the ruff failures here, after rebase from master? https://github.com/fluendo/fluster/actions/runs/24728494934/job/72337197798

change needed into deps:

import subprocess
from typing import Any, Dict, Optional

from fluster.codec import Codec, OutputFormat
from fluster.decoder import Decoder, register_decoder
from fluster.utils import file_checksum, run_command

# BSD sysexits.h EX_UNAVAILABLE — media not supported.
EX_UNAVAILABLE = 69

@rsanchez87
Copy link
Copy Markdown
Contributor

LGTM, NotSupportedError is defined in the base decoder layer

Add a NotSupportedError exception in the decoder layer that
individual decoders can raise when they cannot handle a media
format. The VVS decoder raises it on exit code 69 (EX_UNAVAILABLE).

The framework catches it as a non-error status:
- NOT_SUPPORTED and FAIL/ERROR rows in markdown/JSON summaries
- JUnit XML reports NOT_SUPPORTED as skipped
- Process exits 0 when all vectors are success or not supported
@dabrain34 dabrain34 force-pushed the dab_add_not_supported branch from 043b218 to 97bef1d Compare April 21, 2026 17:20
@rsanchez87 rsanchez87 merged commit b2ef75b into fluendo:master Apr 22, 2026
4 checks passed
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.

4 participants