Let's get started with pytest
This commit is contained in:
parent
871c3840e5
commit
8d1da5ad49
15
.github/workflows/ci.yml
vendored
15
.github/workflows/ci.yml
vendored
@ -14,8 +14,8 @@ jobs:
|
|||||||
python-version: '3.10'
|
python-version: '3.10'
|
||||||
- run: pip install flake8
|
- run: pip install flake8
|
||||||
- run: pip install mypy
|
- run: pip install mypy
|
||||||
- run: flake8 run.py facefusion
|
- run: flake8 run.py facefusion tests
|
||||||
- run: mypy run.py facefusion
|
- run: mypy run.py facefusion tests
|
||||||
test:
|
test:
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
@ -31,13 +31,4 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
python-version: '3.10'
|
python-version: '3.10'
|
||||||
- run: pip install -r requirements-ci.txt
|
- run: pip install -r requirements-ci.txt
|
||||||
- run: curl --create-dirs --output .assets/examples/source.jpg https://github.com/facefusion/facefusion-assets/releases/download/examples/source.jpg
|
- run: pytest
|
||||||
- run: curl --create-dirs --output .assets/examples/target-240p.mp4 https://github.com/facefusion/facefusion-assets/releases/download/examples/target-240p.mp4
|
|
||||||
- run: python run.py --source .assets/examples/source.jpg --target .assets/examples/target-240p.mp4 --output .assets/examples --trim-frame-end 30
|
|
||||||
if: matrix.os != 'windows-latest'
|
|
||||||
- run: python run.py --source .assets\examples\source.jpg --target .assets\examples\target-240p.mp4 --output .assets\examples --trim-frame-end 30
|
|
||||||
if: matrix.os == 'windows-latest'
|
|
||||||
- run: ffprobe -show_format -show_streams .assets/examples/source-target-240p.mp4
|
|
||||||
if: matrix.os != 'windows-latest'
|
|
||||||
- run: ffprobe -show_format -show_streams .assets\examples\source-target-240p.mp4
|
|
||||||
if: matrix.os == 'windows-latest'
|
|
||||||
|
@ -5,6 +5,7 @@ onnxruntime==1.15.1
|
|||||||
opencv-python==4.8.0.74
|
opencv-python==4.8.0.74
|
||||||
opennsfw2==0.10.2
|
opennsfw2==0.10.2
|
||||||
protobuf==4.23.4
|
protobuf==4.23.4
|
||||||
|
pytest==7.4.0
|
||||||
psutil==5.9.5
|
psutil==5.9.5
|
||||||
tensorflow==2.13.0
|
tensorflow==2.13.0
|
||||||
tqdm==4.65.0
|
tqdm==4.65.0
|
||||||
|
0
tests/__init__.py
Normal file
0
tests/__init__.py
Normal file
29
tests/test_cli.py
Normal file
29
tests/test_cli.py
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
import subprocess
|
||||||
|
import pytest
|
||||||
|
|
||||||
|
from facefusion import wording
|
||||||
|
from facefusion.utilities import conditional_download
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.fixture(scope = 'module', autouse = True)
|
||||||
|
def setup() -> None:
|
||||||
|
conditional_download('.assets/examples',
|
||||||
|
[
|
||||||
|
'https://github.com/facefusion/facefusion-assets/releases/download/examples/source.jpg',
|
||||||
|
'https://github.com/facefusion/facefusion-assets/releases/download/examples/target-1080p.mp4'
|
||||||
|
])
|
||||||
|
subprocess.run([ 'ffmpeg', '-i', '.assets/examples/target-1080p.mp4', '-vframes', '1', '.assets/examples/target-1080p.jpg' ])
|
||||||
|
|
||||||
|
|
||||||
|
def test_image_to_image() -> None:
|
||||||
|
commands = [ 'python', 'run.py', '-s', '.assets/examples/source.jpg', '-t', '.assets/examples/target-1080p.jpg', '-o', '.assets/examples' ]
|
||||||
|
run = subprocess.run(commands, stdout = subprocess.PIPE)
|
||||||
|
assert run.returncode == 0
|
||||||
|
assert wording.get('processing_image_succeed') in run.stdout.decode()
|
||||||
|
|
||||||
|
|
||||||
|
def test_image_to_video() -> None:
|
||||||
|
commands = [ 'python', 'run.py', '-s', '.assets/examples/source.jpg', '-t', '.assets/examples/target-1080p.mp4', '-o', '.assets/examples', '--trim-frame-end', '10' ]
|
||||||
|
run = subprocess.run(commands, stdout = subprocess.PIPE)
|
||||||
|
assert run.returncode == 0
|
||||||
|
assert wording.get('processing_video_succeed') in run.stdout.decode()
|
Loading…
Reference in New Issue
Block a user