Repository: beetbox/mediafile (language: python)

Issue:
0.10.0 test failure
I'm getting a test failure in the 0.10.0 release (Arch Linux, python 3.10.8), is that an oversight?
```
..............................................................................................................................................................................................................................................................................................................................................F.....................................................................................................................................
======================================================================
FAIL: test_read_audio_properties (test.test_mediafile.WAVETest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/build/python-mediafile/src/mediafile/test/test_mediafile.py", line 445, in test_read_audio_properties
    self.assertEqual(getattr(mediafile, key), value)
AssertionError: 705600 != 88200
----------------------------------------------------------------------
Ran 468 tests in 0.563s
FAILED (failures=1)
```


Discussion / hints:
Yes, this is clearly a problem… I'm not sure how this change slipped through our CI, though. Looking into it!

Fix patch:
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 92e7cbc..bbb84c8 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -14,14 +14,12 @@ jobs:
         runs-on: ${{ matrix.os }}
         strategy:
             matrix:
-                tox-env: [py36-test, py37-test, py38-test, py39-test,
-                          pypy-test]
+                tox-env: [py37-test, py38-test, py39-test,
+                          py310-test, pypy-test]
                 os: [ubuntu-latest, windows-latest]
 
                 # Only test on a couple of versions on Windows.
                 exclude:
-                    - os: windows-latest
-                      tox-env: py36-test
                     - os: windows-latest
                       tox-env: py37-test
                     - os: windows-latest
@@ -29,21 +27,21 @@ jobs:
 
                 # Python interpreter versions. :/
                 include:
-                    - tox-env: py36-test
-                      python: 3.6
                     - tox-env: py37-test
-                      python: 3.7
+                      python: '3.7'
                     - tox-env: py38-test
-                      python: 3.8
+                      python: '3.8'
                     - tox-env: py39-test
-                      python: 3.9
+                      python: '3.9'
+                    - tox-env: py310-test
+                      python: '3.10'
                     - tox-env: pypy-test
-                      python: pypy3
+                      python: pypy3.9
 
         steps:
-            - uses: actions/checkout@v2
+            - uses: actions/checkout@v3
             - name: Set up Python ${{ matrix.python }}
-              uses: actions/setup-python@v1
+              uses: actions/setup-python@v4
               with:
                   python-version: ${{ matrix.python }}
             - name: Install Tox
diff --git a/docs/index.rst b/docs/index.rst
index fc9cebe..abfbfcf 100644
--- a/docs/index.rst
+++ b/docs/index.rst
@@ -135,6 +135,12 @@ To copy tags from one MediaFile to another:
 Changelog
 ---------
 
+v0.10.1
+'''''''
+
+- Fix a test failure that arose with Mutagen 1.46.
+- Require Python 3.7 or later.
+
 v0.10.0
 '''''''
 
diff --git a/pyproject.toml b/pyproject.toml
index 9505464..3ce8c9d 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -10,14 +10,13 @@ home-page = "https://github.com/beetbox/mediafile"
 description-file = "README.rst"
 requires = [
     "six>=1.9",
-    "mutagen>=1.45",
+    "mutagen>=1.46",
 ]
-requires-python = ">=3.6"
+requires-python = ">=3.7"
 classifiers = [
     'Topic :: Multimedia :: Sound/Audio',
     'License :: OSI Approved :: MIT License',
     'Environment :: Web Environment',
-    'Programming Language :: Python :: 3.6',
     'Programming Language :: Python :: 3.7',
     'Programming Language :: Python :: 3.8',
     'Programming Language :: Python :: 3.9',
diff --git a/tox.ini b/tox.ini
index 0017737..7afd960 100644
--- a/tox.ini
+++ b/tox.ini
@@ -4,7 +4,7 @@
 # and then run "tox" from this directory.
 
 [tox]
-envlist = py{37,38}-test, py38-flake8
+envlist = py310-test, py310-flake8
 isolated_build = True
 
 [tox:.package]
@@ -12,8 +12,7 @@ basepython = python3
 
 [_test]
 deps =
-    nose
-    nose-show-skipped
+    pytest
 
 [_flake8]
 deps =
@@ -23,15 +22,14 @@ deps =
 files = mediafile.py test setup.py
 
 [testenv]
-passenv =
-    NOSE_SHOW_SKIPPED # Undocumented feature of nose-show-skipped.
 deps =
     {test,cov}: {[_test]deps}
-    py{36,37,38,39}-flake8: {[_flake8]deps}
+    py{36,37,38,39,310,311}-flake8: {[_flake8]deps}
 commands =
-    cov: nosetests --with-coverage {posargs}
-    py3{6,7,8,9}-test: python -bb -m nose {posargs}
+    py3{6,7,8,9,10,11}-test: python -bb -m pytest {posargs}
     py36-flake8: flake8 --min-version 3.6 {posargs} {[_flake8]files}
     py37-flake8: flake8 --min-version 3.7 {posargs} {[_flake8]files}
     py38-flake8: flake8 --min-version 3.8 {posargs} {[_flake8]files}
     py39-flake8: flake8 --min-version 3.9 {posargs} {[_flake8]files}
+    py310-flake8: flake8 --min-version 3.10 {posargs} {[_flake8]files}
+    py311-flake8: flake8 --min-version 3.11 {posargs} {[_flake8]files}


Test patch:
diff --git a/test/test_mediafile.py b/test/test_mediafile.py
index 0ffa730..10bbf80 100644
--- a/test/test_mediafile.py
+++ b/test/test_mediafile.py
@@ -1001,7 +1001,7 @@ class WAVETest(ReadWriteTestBase, unittest.TestCase):
     extension = 'wav'
     audio_properties = {
         'length': 1.0,
-        'bitrate': 88200,
+        'bitrate': 705600,
         'bitrate_mode': '',
         'encoder_info': '',
         'encoder_settings': '',