add meaningful tests

This commit is contained in:
henryruhs
2026-03-31 17:51:13 +02:00
parent 2aced392e1
commit edf8914da3
2 changed files with 54 additions and 18 deletions
+26 -18
View File
@@ -8,7 +8,8 @@ import facefusion.ffmpeg
from facefusion import process_manager, state_manager
from facefusion.download import conditional_download
from facefusion.ffmpeg import concat_video, extract_frames, merge_video, read_audio_buffer, replace_audio, restore_audio, sanitize_audio, sanitize_image, sanitize_video, spawn_frames
from facefusion.filesystem import copy_file, is_audio, is_image, is_video
from facefusion.ffprobe import detect_audio_codec, detect_video_codec
from facefusion.filesystem import copy_file, is_image
from facefusion.temp_helper import clear_temp_directory, create_temp_directory, get_temp_file_path, resolve_temp_frame_paths
from facefusion.types import EncoderSet
from .assert_helper import create_media_reader, get_test_example_file, get_test_examples_directory, get_test_output_path, prepare_test_output_directory
@@ -32,6 +33,7 @@ def before_all() -> None:
subprocess.run([ 'ffmpeg', '-i', get_test_example_file('source.mp3'), '-i', get_test_example_file('target-240p.mp4'), '-ar', '16000', get_test_example_file('target-240p-16khz.' + output_video_format) ])
subprocess.run([ 'ffmpeg', '-i', get_test_example_file('source.mp3'), '-i', get_test_example_file('target-240p.mp4'), '-ar', '48000', get_test_example_file('target-240p-48khz.mp4') ])
subprocess.run([ 'ffmpeg', '-i', get_test_example_file('target-240p.mp4'), '-c:v', 'libx265', '-an', get_test_example_file('target-240p-h265.mp4') ])
state_manager.init_item('temp_path', tempfile.gettempdir())
state_manager.init_item('temp_frame_format', 'png')
state_manager.init_item('output_audio_encoder', 'aac')
@@ -213,32 +215,38 @@ def test_replace_audio() -> None:
def test_sanitize_audio() -> None:
audio_path = get_test_example_file('source.mp3')
output_strict_path = get_test_output_path('output-strict.mp3')
output_moderate_path = get_test_output_path('output-moderate.mp3')
file_path = get_test_example_file('source.wav')
output_paths =\
[
get_test_output_path('test-sanitize-audio-strict.mp3'),
get_test_output_path('test-sanitize-audio-moderate.wav')
]
assert sanitize_audio('mp3', create_media_reader(audio_path), output_strict_path, 'strict') is True
assert is_audio(output_strict_path) is True
assert sanitize_audio('wav', create_media_reader(file_path), output_paths[0], 'strict') is True
assert detect_audio_codec(output_paths[0]) == 'mp3'
assert sanitize_audio('mp3', create_media_reader(audio_path), output_moderate_path, 'moderate') is True
assert is_audio(output_moderate_path) is True
assert sanitize_audio('wav', create_media_reader(file_path), output_paths[1], 'moderate') is True
assert detect_audio_codec(output_paths[1]) == 'pcm_s16le'
def test_sanitize_image() -> None:
source_path = get_test_example_file('source.jpg')
output_path = get_test_output_path('output.jpg')
file_path = get_test_example_file('source.jpg')
output_path = get_test_output_path('test-sanitize-image.jpg')
assert sanitize_image('jpeg', create_media_reader(source_path), output_path) is True
assert sanitize_image('jpeg', create_media_reader(file_path), output_path) is True
assert is_image(output_path) is True
def test_sanitize_video() -> None:
video_path = get_test_example_file('target-240p.mp4')
output_strict_path = get_test_output_path('output-strict.mp4')
output_moderate_path = get_test_output_path('output-moderate.mp4')
file_path = get_test_example_file('target-240p-h265.mp4')
output_paths =\
[
get_test_output_path('test-sanitize-video-strict.mp4'),
get_test_output_path('test-sanitize-video-moderate.mp4')
]
assert sanitize_video('mp4', create_media_reader(video_path), output_strict_path, 'strict') is True
assert is_video(output_strict_path) is True
assert sanitize_video('mp4', create_media_reader(file_path), output_paths[0], 'strict') is True
assert detect_video_codec(output_paths[0]) == 'h264'
assert sanitize_video('mp4', create_media_reader(video_path), output_moderate_path, 'moderate') is True
assert is_video(output_moderate_path) is True
assert sanitize_video('mp4', create_media_reader(file_path), output_paths[1], 'moderate') is True
assert detect_video_codec(output_paths[1]) == 'hevc'