From b476b74022a90b9bac5bdb0c912da21fc7e31bdb Mon Sep 17 00:00:00 2001 From: Sam Thursfield Date: Wed, 26 Dec 2018 18:14:05 +0000 Subject: [PATCH 1/5] Add a simple testsuite using Py.test. The testsuite can be run simply by executing 'pytest' or 'pytest-3' from the top directory of the project. --- test/conftest.py | 51 +++++++++++++++++++++++++++++++++++++++++ test/data/test-1.json | 6 +++++ test/data/test-1.mp3 | Bin 0 -> 61547 bytes test/data/test-2.json | 6 +++++ test/data/test-2.mp3 | Bin 0 -> 32808 bytes test/test_audioread.py | 51 +++++++++++++++++++++++++++++++++++++++++ 6 files changed, 114 insertions(+) create mode 100644 test/conftest.py create mode 100644 test/data/test-1.json create mode 100644 test/data/test-1.mp3 create mode 100644 test/data/test-2.json create mode 100644 test/data/test-2.mp3 create mode 100644 test/test_audioread.py diff --git a/test/conftest.py b/test/conftest.py new file mode 100644 index 0000000..08f7918 --- /dev/null +++ b/test/conftest.py @@ -0,0 +1,51 @@ +# This file is part of audioread. +# Copyright 2018, Sam Thursfield +# +# Permission is hereby granted, free of charge, to any person obtaining +# a copy of this software and associated documentation files (the +# "Software"), to deal in the Software without restriction, including +# without limitation the rights to use, copy, modify, merge, publish, +# distribute, sublicense, and/or sell copies of the Software, and to +# permit persons to whom the Software is furnished to do so, subject to +# the following conditions: +# +# The above copyright notice and this permission notice shall be +# included in all copies or substantial portions of the Software. + + +import json +import os + +import pytest + + +@pytest.fixture() +def audiofile(request): + """Fixture that provides an AudiofileSpec instance.""" + spec_path = os.path.join(DATADIR, request.param + '.json') + with open(spec_path, 'r') as f: + spec = json.load(f) + result = AudiofileSpec(**spec) + return result + + +# The audiofiles used for testing live in the data/ directory. They are defined +# by .json files and each one must be listed here by name. +TEST_AUDIOFILES = ['test-1', 'test-2'] + +DATADIR = os.path.join(os.path.dirname(__file__), 'data') + + +class AudiofileSpec(): + """Defines the expected attributes for a test audiofile.""" + def __init__(self, filename, duration, channels, samplerate): + self.path = os.path.join(DATADIR, filename) + self.duration = duration + self.channels = channels + self.samplerate = samplerate + + +def pytest_generate_tests(metafunc): + """Parametrize the audiofile() fixture using TEST_AUDIOFILES.""" + if 'audiofile' in metafunc.fixturenames: + metafunc.parametrize("audiofile", TEST_AUDIOFILES, indirect=True) diff --git a/test/data/test-1.json b/test/data/test-1.json new file mode 100644 index 0000000..66804ed --- /dev/null +++ b/test/data/test-1.json @@ -0,0 +1,6 @@ +{ + "filename": "test-1.mp3", + "duration": 15.0, + "channels": 1, + "samplerate": 22050 +} diff --git a/test/data/test-1.mp3 b/test/data/test-1.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..bbd4c768d0f4f90d7088f1142efbeb69011e142a GIT binary patch literal 61547 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�iX6 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 K5Bz`L!2bXb_TBdY literal 0 HcmV?d00001 diff --git a/test/test_audioread.py b/test/test_audioread.py new file mode 100644 index 0000000..0f0150d --- /dev/null +++ b/test/test_audioread.py @@ -0,0 +1,51 @@ +# This file is part of audioread. +# Copyright 2018, Sam Thursfield +# +# Permission is hereby granted, free of charge, to any person obtaining +# a copy of this software and associated documentation files (the +# "Software"), to deal in the Software without restriction, including +# without limitation the rights to use, copy, modify, merge, publish, +# distribute, sublicense, and/or sell copies of the Software, and to +# permit persons to whom the Software is furnished to do so, subject to +# the following conditions: +# +# The above copyright notice and this permission notice shall be +# included in all copies or substantial portions of the Software. + + +import json +import os +import sys + +import pytest + +import audioread + + +# The 'audiofile' fixture is defined in conftest.py. + + +def test_audioread_early_exit(audiofile): + """Abort the read before it is completed. + + This test guards against regressions such as + https://github.com/beetbox/audioread/pull/78 + + """ + with audioread.audio_open(audiofile.path) as a: + assert int(a.duration) == int(audiofile.duration) + assert a.channels == audiofile.channels + assert a.samplerate == audiofile.samplerate + # Now we exit the context manager without reading any data. + + +def test_audioread_full(audiofile): + """Read the audio data from the file.""" + with audioread.audio_open(audiofile.path) as a: + assert int(a.duration) == int(audiofile.duration) + assert a.channels == audiofile.channels + assert a.samplerate == audiofile.samplerate + + # Now read all the data and assert that it's the correct type. + for block in a: + assert type(block) == bytes From cea7b37b2b21c1f7e8d050b9938f31c551af703c Mon Sep 17 00:00:00 2001 From: Sam Thursfield Date: Wed, 26 Dec 2018 18:35:01 +0000 Subject: [PATCH 2/5] Use setuptools instead of distutils for setup.py This makes it possible to integrate Py.test with setup.py. --- setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.py b/setup.py index 58845cb..eef153b 100644 --- a/setup.py +++ b/setup.py @@ -13,7 +13,7 @@ # included in all copies or substantial portions of the Software. import os -from distutils.core import setup +from setuptools import setup import imp version = imp.load_source('audioread.version', 'audioread/version.py') From 95c48fe3fe1465ed2f592a4c436d042d3a87e73c Mon Sep 17 00:00:00 2001 From: Sam Thursfield Date: Wed, 26 Dec 2018 18:36:39 +0000 Subject: [PATCH 3/5] Allow running the test suite with `python ./setup.py test` --- setup.cfg | 2 ++ setup.py | 8 ++++++++ 2 files changed, 10 insertions(+) create mode 100644 setup.cfg diff --git a/setup.cfg b/setup.cfg new file mode 100644 index 0000000..b7e4789 --- /dev/null +++ b/setup.cfg @@ -0,0 +1,2 @@ +[aliases] +test=pytest diff --git a/setup.py b/setup.py index eef153b..bd90605 100644 --- a/setup.py +++ b/setup.py @@ -36,6 +36,14 @@ def _read(fn): packages=['audioread'], + setup_requires=[ + 'pytest-runner' + ], + + tests_require=[ + 'pytest' + ], + classifiers=[ 'Topic :: Multimedia :: Sound/Audio :: Conversion', 'Intended Audience :: Developers', From 1ca52f2d24ab831dd595b9b02074359c23aa96f3 Mon Sep 17 00:00:00 2001 From: Sam Thursfield Date: Wed, 26 Dec 2018 18:40:46 +0000 Subject: [PATCH 4/5] Run pytest suite from Travis CI --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index b169fb7..688657a 100644 --- a/.travis.yml +++ b/.travis.yml @@ -15,4 +15,4 @@ install: - python setup.py install script: - - python -c "import audioread" + - pytest From 9afd929c1d2e990058b6c027e63e386fdcf6c988 Mon Sep 17 00:00:00 2001 From: Sam Thursfield Date: Wed, 2 Jan 2019 20:50:35 +0100 Subject: [PATCH 5/5] Add Tox configuration This allows running the test suite with Python 2.6 and Python 3.6, with dependencies automatically installed, just by running `tox`. --- tox.ini | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 tox.ini diff --git a/tox.ini b/tox.ini new file mode 100644 index 0000000..de15067 --- /dev/null +++ b/tox.ini @@ -0,0 +1,6 @@ +[tox] +envlist = py27,py36 + +[testenv] +deps = pytest +commands = pytest {posargs}