[Bugfix][CI] fix file name too long error in Omni · Doc Test with H100 (#3209)

Signed-off-by: wangyu <410167048@qq.com>
This commit is contained in:
wangyu authored and GitHub committed 2026-04-28 20:26:02 +08:00
1 parent 954d0642a4
commit b50fe1d8b1
3 files changed
+56 -22

No files matched your search

+30
View File
@@ -351,3 +351,33 @@ def strip_trailing_audio_saved_line(text: str) -> str:
while lines and lines[-1].strip().startswith("Audio saved to"):
lines.pop()
return "\n".join(lines).strip()
def strip_audio_saved_to_lines(text: str) -> str:
"""Remove every line starting with ``Audio saved to`` (streaming prints one per chunk).
Without this, :func:`extract_content_after_keyword` with ``content:`` and ``DOTALL``
keeps those lines inside the captured text segment.
"""
lines = [ln for ln in text.splitlines() if not ln.strip().startswith("Audio saved to")]
return "\n".join(lines).strip()
def extract_last_audio_saved_path(text: str) -> str:
"""Return the filesystem path from the last ``Audio saved to`` line.
Non-streaming output has a single line; streaming prints one path per chunk.
Do not use :func:`extract_content_after_keyword` with ``Audio saved to`` for
streaming: greedy ``.+`` under ``DOTALL`` concatenates every path and body into one
invalid string (Linux ``File name too long`` when opening it as a path).
"""
last_path: str | None = None
for line in text.splitlines():
stripped = line.strip()
if stripped.startswith("Audio saved to"):
rest = stripped[len("Audio saved to") :].strip()
if rest:
last_path = rest
if last_path is None:
raise AssertionError("'Audio saved to' line with a path not found in command output")
return last_path
@@ -10,7 +10,9 @@ import pytest
from tests.examples.helpers import (
extract_content_after_keyword,
extract_last_audio_saved_path,
run_cmd,
strip_audio_saved_to_lines,
strip_trailing_audio_saved_line,
)
from tests.helpers.mark import hardware_test
@@ -55,8 +57,8 @@ def test_send_multimodal_request_001(omni_server) -> None:
text_content = strip_trailing_audio_saved_line(text_content_tmp)
# Verify text output same as audio output
wav_path = extract_content_after_keyword("Audio saved to", result)
audio_content = convert_audio_file_to_text(output_path=f"./{wav_path.strip()}")
wav_path = extract_last_audio_saved_path(result)
audio_content = convert_audio_file_to_text(output_path=f"./{wav_path}")
print(f"text content is: {text_content}")
print(f"audio content is: {audio_content}")
@@ -91,8 +93,8 @@ def test_send_multimodal_request_002(omni_server) -> None:
text_content = strip_trailing_audio_saved_line(text_content_tmp)
# Verify text output same as audio output
wav_path = extract_content_after_keyword("Audio saved to", result)
audio_content = convert_audio_file_to_text(output_path=f"./{wav_path.strip()}")
wav_path = extract_last_audio_saved_path(result)
audio_content = convert_audio_file_to_text(output_path=f"./{wav_path}")
print(f"text content is: {text_content}")
assert all(keyword in text_content for keyword in ["baby", "book"]), (
"The output does not contain any of the keywords in video description."
@@ -176,8 +178,8 @@ def test_modality_control_002(omni_server) -> None:
result = run_cmd(command)
# Verify text output same as audio output
wav_path = extract_content_after_keyword("Audio saved to", result)
audio_content = convert_audio_file_to_text(output_path=f"./{wav_path.strip()}")
wav_path = extract_last_audio_saved_path(result)
audio_content = convert_audio_file_to_text(output_path=f"./{wav_path}")
print(f"audio content is: {audio_content}")
assert all(keyword in audio_content for keyword in ["baby", "book"]), (
"The output does not contain any of the keywords in video description."
@@ -207,8 +209,8 @@ def test_modality_control_003(omni_server) -> None:
text_content = strip_trailing_audio_saved_line(text_content_tmp)
# Verify text output same as audio output
wav_path = extract_content_after_keyword("Audio saved to", result)
audio_content = convert_audio_file_to_text(output_path=f"./{wav_path.strip()}")
wav_path = extract_last_audio_saved_path(result)
audio_content = convert_audio_file_to_text(output_path=f"./{wav_path}")
print(f"text content is: {text_content}")
assert all(keyword in text_content for keyword in ["baby", "book"]), (
"The output does not contain any of the keywords in video description."
@@ -239,11 +241,11 @@ def test_stream_001(omni_server) -> None:
result = run_cmd(command)
text_content_tmp = extract_content_after_keyword("content:", result)
text_content = strip_trailing_audio_saved_line(text_content_tmp)
text_content = strip_audio_saved_to_lines(text_content_tmp)
# Verify text output same as audio output
wav_path = extract_content_after_keyword("Audio saved to", result)
audio_content = convert_audio_file_to_text(output_path=f"./{wav_path.strip()}")
wav_path = extract_last_audio_saved_path(result)
audio_content = convert_audio_file_to_text(output_path=f"./{wav_path}")
print(f"text content is: {text_content}")
assert all(keyword in text_content for keyword in ["baby", "book"]), (
"The output does not contain any of the keywords in video description."
@@ -10,7 +10,9 @@ import pytest
from tests.examples.helpers import (
extract_content_after_keyword,
extract_last_audio_saved_path,
run_cmd,
strip_audio_saved_to_lines,
strip_trailing_audio_saved_line,
)
from tests.helpers.mark import hardware_test
@@ -51,9 +53,9 @@ def test_send_multimodal_request_001(omni_server) -> None:
result = run_cmd(command)
text_content_tmp = extract_content_after_keyword("Chat completion output from text:", result)
text_content = strip_trailing_audio_saved_line(text_content_tmp)
wav_path = extract_content_after_keyword("Audio saved to", result)
wav_path = extract_last_audio_saved_path(result)
# Verify text output same as audio output
audio_content = convert_audio_file_to_text(output_path=f"./{wav_path.strip()}")
audio_content = convert_audio_file_to_text(output_path=f"./{wav_path}")
print(f"text content is: {text_content}")
print(f"audio content is: {audio_content}")
@@ -83,8 +85,8 @@ def test_send_multimodal_request_002(omni_server) -> None:
text_content = strip_trailing_audio_saved_line(text_content_tmp)
# Verify text output same as audio output
wav_path = extract_content_after_keyword("Audio saved to", result)
audio_content = convert_audio_file_to_text(output_path=f"./{wav_path.strip()}")
wav_path = extract_last_audio_saved_path(result)
audio_content = convert_audio_file_to_text(output_path=f"./{wav_path}")
print(f"text content is: {text_content}")
print(f"audio content is: {audio_content}")
assert all(keyword in text_content for keyword in ["baby", "book"]), (
@@ -148,8 +150,8 @@ def test_modality_control_002(omni_server) -> None:
result = run_cmd(command)
# Verify text output same as audio output
wav_path = extract_content_after_keyword("Audio saved to", result)
audio_content = convert_audio_file_to_text(output_path=f"./{wav_path.strip()}")
wav_path = extract_last_audio_saved_path(result)
audio_content = convert_audio_file_to_text(output_path=f"./{wav_path}")
print(f"audio content is: {audio_content}")
assert "cherry blossom" in audio_content, "The output does not contain any of the keywords."
@@ -174,8 +176,8 @@ def test_modality_control_003(omni_server) -> None:
text_content = strip_trailing_audio_saved_line(text_content_tmp)
# Verify text output same as audio output
wav_path = extract_content_after_keyword("Audio saved to", result)
audio_content = convert_audio_file_to_text(output_path=f"./{wav_path.strip()}")
wav_path = extract_last_audio_saved_path(result)
audio_content = convert_audio_file_to_text(output_path=f"./{wav_path}")
print(f"text content is: {text_content}")
assert "cherry blossom" in audio_content, "The output does not contain any of the keywords."
print(f"audio content is: {audio_content}")
@@ -200,11 +202,11 @@ def test_stream_001(omni_server) -> None:
result = run_cmd(command)
text_content_tmp = extract_content_after_keyword("content:", result)
text_content = strip_trailing_audio_saved_line(text_content_tmp)
text_content = strip_audio_saved_to_lines(text_content_tmp)
# Verify text output same as audio output
wav_path = extract_content_after_keyword("Audio saved to", result)
audio_content = convert_audio_file_to_text(output_path=f"./{wav_path.strip()}")
wav_path = extract_last_audio_saved_path(result)
audio_content = convert_audio_file_to_text(output_path=f"./{wav_path}")
print(f"text content is: {text_content}")
assert "cherry blossom" in audio_content, "The output does not contain any of the keywords."
print(f"audio content is: {audio_content}")