Add test for arg as string with space

This commit is contained in:
Felipe Santos 2022-11-30 16:51:30 -03:00
parent df2e5e728b
commit 1799a4fb75
5 changed files with 18 additions and 4 deletions

View File

@ -60,6 +60,9 @@
"editor.formatOnPaste": false, "editor.formatOnPaste": false,
"editor.formatOnSave": true, "editor.formatOnSave": true,
"editor.formatOnType": true, "editor.formatOnType": true,
"python.testing.pytestEnabled": false,
"python.testing.unittestEnabled": true,
"python.testing.unittestArgs": ["-v", "-s", "./frigate/test"],
"files.trimTrailingWhitespace": true, "files.trimTrailingWhitespace": true,
"eslint.workingDirectories": ["./web"], "eslint.workingDirectories": ["./web"],
"[json][jsonc]": { "[json][jsonc]": {

2
.gitignore vendored
View File

@ -2,7 +2,7 @@
*.pyc *.pyc
*.swp *.swp
debug debug
.vscode/** .vscode/*
!.vscode/launch.json !.vscode/launch.json
config/config.yml config/config.yml
models models

3
.vscode/launch.json vendored
View File

@ -1,7 +1,8 @@
{ {
"version": "0.2.0",
"configurations": [ "configurations": [
{ {
"name": "Python: Frigate", "name": "Python: Launch Frigate",
"type": "python", "type": "python",
"request": "launch", "request": "launch",
"module": "frigate", "module": "frigate",

View File

@ -30,7 +30,7 @@ build: version amd64 arm64 armv7
push: build push: build
docker buildx build --push --platform linux/arm/v7,linux/arm64/v8,linux/amd64 --tag $(IMAGE_REPO):${GITHUB_REF_NAME}-$(COMMIT_HASH) . docker buildx build --push --platform linux/arm/v7,linux/arm64/v8,linux/amd64 --tag $(IMAGE_REPO):${GITHUB_REF_NAME}-$(COMMIT_HASH) .
run_tests: frigate run_tests: local
docker run --rm --entrypoint=python3 frigate:latest -u -m unittest docker run --rm --entrypoint=python3 frigate:latest -u -m unittest
docker run --rm --entrypoint=python3 frigate:latest -u -m mypy --config-file frigate/mypy.ini frigate docker run --rm --entrypoint=python3 frigate:latest -u -m mypy --config-file frigate/mypy.ini frigate

View File

@ -1,5 +1,5 @@
import unittest import unittest
from frigate.config import FrigateConfig from frigate.config import FFMPEG_INPUT_ARGS_DEFAULT, FrigateConfig
from frigate.ffmpeg_presets import parse_preset_input from frigate.ffmpeg_presets import parse_preset_input
@ -93,6 +93,16 @@ class TestFfmpegPresets(unittest.TestCase):
" ".join(frigate_config.cameras["back"].ffmpeg_cmds[0]["cmd"]) " ".join(frigate_config.cameras["back"].ffmpeg_cmds[0]["cmd"])
) )
def test_ffmpeg_input_args_as_string(self):
argsString = " ".join(FFMPEG_INPUT_ARGS_DEFAULT) + ' -some "arg with space"'
argsList = FFMPEG_INPUT_ARGS_DEFAULT + ["-some", "arg with space"]
self.default_ffmpeg["cameras"]["back"]["ffmpeg"]["input_args"] = argsString
frigate_config = FrigateConfig(**self.default_ffmpeg)
frigate_config.cameras["back"].create_ffmpeg_cmds()
assert set(argsList).issubset(
frigate_config.cameras["back"].ffmpeg_cmds[0]["cmd"]
)
def test_ffmpeg_input_not_preset(self): def test_ffmpeg_input_not_preset(self):
self.default_ffmpeg["cameras"]["back"]["ffmpeg"]["input_args"] = "-some inputs" self.default_ffmpeg["cameras"]["back"]["ffmpeg"]["input_args"] = "-some inputs"
frigate_config = FrigateConfig(**self.default_ffmpeg) frigate_config = FrigateConfig(**self.default_ffmpeg)