refactor: Makefile

test: improve separator test
test: start pypi dist test
This commit is contained in:
Félix Voituret
2019-11-14 14:44:19 -05:00
parent da3947e49d
commit ff539bd26c
4 changed files with 46 additions and 16 deletions

View File

@@ -18,8 +18,8 @@ jobs:
name: install python dependencies
command: pip install -r requirements.txt && pip install pytest pytest-xdist
- run:
name: pytest
command: pytest -W ignore::FutureWarning -W ignore::DeprecationWarning -vv --forked
name: run tests
command: make test
- save_cache:
key: models-{{ checksum "spleeter/model/__init__.py" }}
paths:
@@ -42,8 +42,8 @@ jobs:
name: install python dependencies
command: pip install -r requirements.txt && pip install pytest pytest-xdist
- run:
name: pytest
command: pytest -W ignore::FutureWarning -W ignore::DeprecationWarning -vv --forked
name: run tests
command: make test
- save_cache:
key: models-{{ checksum "spleeter/model/__init__.py" }}
paths:
@@ -57,8 +57,8 @@ jobs:
steps:
- checkout
- run:
name: package
command: python setup.py sdist
name: package source distribution
command: make build
- save_cache:
key: sdist-{{ .Branch }}-{{ checksum "setup.py" }}
paths:
@@ -78,7 +78,7 @@ jobs:
# TODO: Infer destination regarding of branch.
# - master => production PyPi
# - development => testing PyPi
command: pip install twine && twine upload dist/*
command: make deploy
# =======================================================================================
# Conda distribution.

View File

@@ -1,5 +1,5 @@
# =======================================================
# Build script for distribution packaging.
# Library lifecycle management.
#
# @author Deezer Research <research@deezer.com>
# @licence MIT Licence
@@ -9,22 +9,29 @@ clean:
rm -Rf *.egg-info
rm -Rf dist
build:
@echo "=== Build CPU bdist package"
@python3 setup.py sdist
python3 setup.py sdist
@echo "=== CPU version checksum"
@openssl sha256 dist/*.tar.gz
build-gpu:
@echo "=== Build GPU bdist package"
@python3 setup.py sdist --target gpu
python3 setup.py sdist --target gpu
@echo "=== GPU version checksum"
@openssl sha256 dist/*.tar.gz
upload:
pip-dependencies:
pip install twine
test: pip-dependencies
pytest -W ignore::FutureWarning -W ignore::DeprecationWarning -vv --forked
test-distribution: pip-dependencies
bash tests/test_pypi_sdist.sh
deploy: pip-dependencies
twine upload dist/*
test-upload:
twine upload --repository-url https://test.pypi.org/legacy/ dist/*
all: clean build build-gpu upload
all: clean test build build-gpu upload

10
tests/test_pypi_sdist.sh Normal file
View File

@@ -0,0 +1,10 @@
#!/bin/bash
######################################################################
# Script that performs PyPi packaging test.
#
# @author Deezer Research <research@deezer.com>
# @version 1.0.0
######################################################################
twine upload --repository-url https://test.pypi.org/legacy/ dist/*

View File

@@ -7,6 +7,8 @@ __email__ = 'research@deezer.com'
__author__ = 'Deezer Research'
__license__ = 'MIT License'
import filecmp
from os.path import exists, join
from tempfile import TemporaryDirectory
@@ -33,6 +35,12 @@ def test_separate(configuration, instruments):
assert len(prediction) == len(instruments)
for instrument in instruments:
assert instrument in prediction
for instrument in instruments:
track = prediction[instrument]
assert not (waveform == track).all()
for compared in instruments:
if instrument != compared:
assert not (track == prediction[compared]).all()
@pytest.mark.parametrize('configuration, instruments', TEST_CONFIGURATIONS)
@@ -45,4 +53,9 @@ def test_separate_to_file(configuration, instruments):
directory)
for instrument in instruments:
assert exists(join(directory, '{}.wav'.format(instrument)))
# TODO: Consider testing generated file as well.
for instrument in instruments:
for compared in instrument:
if instrument != compared:
assert not filecmp.cmp(
join(directory, '{}.wav'.format(instrument)),
join(directory, '{}.wav'.format(compared)))