Wieland Hoffmann
49f59115cb
chmod -x image_unknown_type.mp3
2016-07-05 20:29:35 +02:00
Johnny Robeson
fa3fe86ac1
remove bytes() wrap from test helper fixture
...
It was already bytes, so this was redundant. It also broke the tests
on windows with py3.
2016-07-05 02:06:13 -04:00
Johnny Robeson
53d1dc905f
add a missing bytestring_path in importer test
2016-07-05 01:33:43 -04:00
Johnny Robeson
cae6e128e4
use same symlink test in mediafile_edge as elsewhere
2016-07-05 01:29:38 -04:00
Johnny Robeson
00bff81756
add a flush() method to test DummyOut
...
The method just runs `self.clear()`
2016-07-04 02:24:32 -04:00
Johnny Robeson
b9cd889ef4
decode ipfs item paths to satisy python -bb
2016-07-03 23:52:05 -04:00
Johnny Robeson
8c1e9e0dd4
add missing displayable_paths to satisify python -bb
2016-07-03 23:52:05 -04:00
Johnny Robeson
35d0e81949
add missing bytestring_paths for python -bb
2016-07-03 22:25:47 -04:00
Johnny Robeson
02680eba59
bytestringify a few more paths in test_importer
2016-07-02 01:52:00 -04:00
Johnny Robeson
24ae4bb056
encode path as utf-8 for is_path_query tests
...
is_path_query is not supposed to accept bytestrings
2016-07-02 01:24:25 -04:00
Adrian Sampson
6919d6980f
Fix path types in test_unicode_path
...
This is lifted directly from 658e814ad718610004cbe6d865c8f2f62e676ffb.
2016-07-01 21:54:37 -07:00
Adrian Sampson
30a172fff3
Properly handle exceptions in custom tag tests
2016-07-01 21:29:50 -07:00
Johnny Robeson
9020dc1f45
use text_string() in a few places for io output
2016-07-02 00:03:46 -04:00
Johnny Robeson
45727c56e2
treat DummyIO as text on py3
2016-07-02 00:03:46 -04:00
Johnny Robeson
aa0a0a0f22
use util.py3_path for confit and env paths in tests
2016-06-30 22:24:17 -04:00
Johnny Robeson
dd729f0ce8
mark more paths as bytestrings in tests
2016-06-30 22:21:56 -04:00
Adrian Sampson
c532860613
Apply simple type consistency changes from #2096
...
These are the changes from that PR that just enforce the path type invariants
we already want---they're a good idea regardless of Python 3.
2016-06-30 14:22:16 -07:00
Johnny Robeson
75c226bd37
remove pathlib tests that just test pathlib itself
2016-06-30 02:09:52 -04:00
Johnny Robeson
ecfda77f5a
bytestringify a few more paths in tests
2016-06-30 00:08:38 -04:00
Adrian Sampson
f3df7b5dd3
Merge pull request #2095 from beetbox/pipeline_invalidation_workaround
...
Workaround for a race condition on queue invalidation
2016-06-29 10:48:48 -07:00
Adrian Sampson
d5205915cc
Avoid dangerous string conversions ( #2094 )
...
This rolls back the places in #2094 where `six.text_type(s)` was used where
`s` might be a bytestring. We almost never want that conversion, because it
uses the default encoding (almost always ASCII). The need for it indicates a
problem somewhere else, where bytes were produced when we were expecting
unicode strings.
2016-06-29 10:30:26 -07:00
wordofglass
ebf44fd6cd
Workaround for a race condition on queue invalidation, Issue #2078
2016-06-29 18:22:44 +02:00
Adrian Sampson
44e0e44108
Enforce type of ID3 desc fields
2016-06-28 20:22:58 -07:00
Adrian Sampson
890b9e81e3
Fix #2089 : correct permissions configuration
...
This reverts the change in 44380db6e8 , where we
lost the ability to "reinterpret" decimals in the YAML configuration file as
octal permissions values.
2016-06-28 10:51:13 -07:00
Christoph Reiter
629241efd3
mediafile: Cleanup mutagen error handling
...
Instead of the individial mutagen format exceptions use the
mutagen.MutagenError exception introduced in 1.25.
Since 1.33 mutagen will only raise MutagenError for load/save/delete
and no longer raise IOError. Translate both errors to UnreadableFileError
to support older and newer mutagen versions. Unify error handling
in __init__(), save() and delete().
Since it's no longer possible to get an IOError from MediaFile, adjust
all callers and tests accordingly.
This was tested with mutagen 1.27 and current mutagen master.
2016-06-28 16:43:34 +02:00
Christoph Reiter
06072c5d7d
tests: Fix setup.py test
...
test_hidden was missing suite() which made testall.suite() fail
2016-06-27 10:23:34 +02:00
Adrian Sampson
5efd5b21c5
Use new as_str method
...
Instead of `get(six.text_type)`, which was a surprisingly large portion of our
uses of six.
2016-06-25 19:16:14 -07:00
Adrian Sampson
e16cc58cb9
Walk back some six.iter* uses
...
In places where it doesn't much matter whether we use an iterator or the old
Python 2 list way, using the six name just hurts legibility.
2016-06-25 18:29:55 -07:00
Adrian Sampson
736ad66518
Merge pull request #2066 from beetbox/use-six
...
Use the six package to handle py2/p3 compatibility
2016-06-25 18:09:56 -07:00
wordofglass
86ed8e9650
Merge pull request #2072 from beetbox/art_rectify_extension_via_imghdr
...
Rectify artwork extension via imghdr
2016-06-25 22:06:32 +02:00
wordofglass
2db1530ef8
fetchart: flake8 fixes
2016-06-25 21:55:55 +02:00
wordofglass
697291b04e
fetchart: improve error resilience of the Content-Type detection by file magic
2016-06-25 14:10:50 +02:00
Johnny Robeson
34074b530b
check changed text on py >3.5 in RegexpQuery test
...
See https://bugs.python.org/issue22364 for details
2016-06-24 19:09:29 -04:00
Johnny Robeson
433ac368df
check pull.__next__ on py3 in pipeline tests
2016-06-24 05:53:56 -04:00
Johnny Robeson
8c2809f75c
only write StringIO encoding attr on py2
2016-06-24 05:53:56 -04:00
Johnny Robeson
6849ab874e
skip pipeline test_constrainted_exception on PY3
...
This one would make every test run last until the timeout is reached, so
it's necessary skip it until the root cause is found.
2016-06-24 05:53:56 -04:00
Johnny Robeson
36ed75cd01
use reraise from six
2016-06-24 05:53:55 -04:00
Johnny Robeson
edb1cbc5fc
replace iter{items|values} with six.iter{items|values}
2016-06-24 05:53:55 -04:00
Johnny Robeson
e57b7faf69
replace basestring with six.text_types
2016-06-24 05:53:55 -04:00
Johnny Robeson
e8afcbe7ec
replace unicode with six.text_type
2016-06-24 05:53:49 -04:00
wordofglass
c789d31614
fetchart: fix and add tests for the new behaviour
2016-06-23 17:38:01 +02:00
Johnny Robeson
7b66dfec4b
use renamed test assertions from six
2016-06-23 04:40:18 -04:00
Johnny Robeson
5f4678e3e8
use StringIO from six
2016-06-23 04:40:18 -04:00
Johnny Robeson
4649226b9b
use urllib from six.moves
2016-06-23 04:40:18 -04:00
Adrian Sampson
d3928008e1
Merge pull request #2068 from beetbox/fetchart_mime_extension
...
Fix fetchart hardcoding the image extension
2016-06-22 10:19:12 -07:00
Johnny Robeson
0b17666b55
Revert "check for encoding attr before set in test_helper"
...
This doesn't actually help us, since the property is there, but not
writeable
This reverts commit 4c98edc588 .
2016-06-22 00:51:10 -04:00
Johnny Robeson
4c98edc588
check for encoding attr before set in test_helper
...
This makes it work equivalently in py2 and py3
2016-06-21 23:44:24 -04:00
Adrian Sampson
133c82b1ab
Fix #2063 : properly decode format CLI argument
2016-06-21 15:15:24 -07:00
Adrian Sampson
5909c9ee89
Fix #2051 : don't try to sort None
...
I found the point in the test harnesses where None was introduced as a value
for `TrackInfo.index`. Just using zero works fine.
2016-06-21 15:02:05 -07:00
Adrian Sampson
351b6f8c9d
Remove raw Unicode literals ( fix #2069 )
...
PEP 414 didn't add `ur"..."` literals to Python 3. So for hybrid 2/3
compatibility, these had to be replaced with ordinary Unicode string literals.
This was only painful for one string; the others were only raw strings by
convention. (All were regexes.)
2016-06-21 14:29:14 -07:00
wordofglass
08c9bd84d8
fetchart: testcase for wrong server-side extensions ( #2053 )
2016-06-21 02:30:20 +02:00
Johnny Robeson
66431ab4de
treat tag values as strings in ReadWriteTestBase
2016-06-17 23:58:35 -04:00
Johnny Robeson
a1609ec548
use strings for *StorageStyle keys, not bytes
2016-06-17 23:39:17 -04:00
Johnny Robeson
93e510c1c7
remove an unnecessary b' in test_fetchart
2016-06-17 05:26:21 -04:00
Johnny Robeson
fda3911323
bytestringify touch call in PathQueryTest
2016-06-17 02:00:20 -04:00
Johnny Robeson
4bbfe85c66
is_path_query takes unicode, so do that test_query
...
This fixes all but one instance that I'm not yet sure how to fix
2016-06-17 01:48:47 -04:00
Johnny Robeson
a0a9e2f22d
mark itunes library files as bytestrings
2016-06-17 01:40:16 -04:00
Johnny Robeson
60a961a751
remove an unnecessary .encode() in create_item_fixture
2016-06-17 01:20:42 -04:00
Johnny Robeson
1088df7242
bytestringify some more paths in test helper
2016-06-16 23:41:21 -04:00
Johnny Robeson
3184599faa
compare bytes to bytes in library TemplateTest
2016-06-16 23:18:24 -04:00
Johnny Robeson
b602faabb8
more bytestringification in thumbnails plugin
2016-06-16 23:11:16 -04:00
Johnny Robeson
36b3b20422
bytestringify test_lyrics
2016-06-16 21:34:52 -04:00
Johnny Robeson
fd01faa241
add missing bytestring_path import :(
2016-06-16 04:02:19 -04:00
Johnny Robeson
4e5ac89b2a
bytstringify path in _mediafile_fixture
2016-06-16 04:00:43 -04:00
Johnny Robeson
cb54955485
more bytecasting in smartplaylist plugin
2016-06-15 23:55:17 -04:00
Johnny Robeson
0385937647
complete more bytestrings in test_art
2016-06-15 00:10:20 -04:00
Johnny Robeson
be942c4595
complete more bytestrings in test_embedart
2016-06-15 00:10:01 -04:00
Johnny Robeson
a1314b7bda
move spotify test json to json files
2016-06-14 21:51:27 -04:00
Johnny Robeson
ebff5a599c
treat filenames as bytestrings in perm plugin tests
2016-06-14 01:29:35 -04:00
Johnny Robeson
ef727854f1
treat default perms as str in permission plugin tests
2016-06-14 01:28:13 -04:00
Johnny Robeson
ffa46a185c
bytestring normalization
...
Make sure many/most strings that touch the filesystem are
converted explicitly to bytestrings rather than implictly.
2016-06-13 05:39:09 -04:00
Johnny Robeson
6745759ea5
open even more files in binary mode
...
* play plugin
* smartplaylist plugin
2016-06-13 05:18:33 -04:00
Johnny Robeson
92950ec532
wrap keys() result in a list() in importadded tests
2016-06-12 18:17:27 -04:00
Johnny Robeson
10dda13d2a
remove unneeded bytes casting from test_mb
2016-06-12 18:03:08 -04:00
Johnny Robeson
6c969ae58c
remove some incorrect displayable_path in library tests
...
These were noticed by @sampsyo in the review of
daac41668e
2016-06-11 21:29:17 -04:00
Johnny Robeson
fff1458a9e
introduce PATH_SEP attr to beets.util
...
This is needed for various path tests that expect to operate on
bytestrings
2016-06-11 21:26:23 -04:00
Johnny Robeson
f8bdf7498f
use _common.PLUGINPATH in one more place
...
Not sure how I missed it, but I did
2016-06-11 03:33:50 -04:00
Johnny Robeson
e97d93b8f5
introduce a PLUGINPATH attr to _common test
...
I consider this a test global option. It should help split up the
ui tests a bit
2016-06-11 03:00:43 -04:00
Johnny Robeson
ea7f994839
make the entire RSRC path a bytestring
2016-06-11 02:11:14 -04:00
Adrian Sampson
e346c28886
ImageMagick check uses convert, not identify
...
See #670 for details. This reverts a change from
a0c38a07a6 . This caused problems on
Windows, but the fundamental problem is more general.
2016-06-10 15:29:13 -07:00
Adrian Sampson
9204604a7c
Fix path types in albums_in_dir tests
2016-06-10 12:49:08 -07:00
Johnny Robeson
4e4a919895
write to tempfile in binary in embedart test
2016-06-10 04:52:55 -04:00
Johnny Robeson
61695edc3b
write file tags (for tag tests) in binary mode
2016-06-10 04:12:30 -04:00
Johnny Robeson
6eb1de5405
fix linelengths from displayable_path
2016-06-10 04:08:59 -04:00
Johnny Robeson
daac41668e
use util.displayable_path in more tests
2016-06-10 03:54:39 -04:00
Johnny Robeson
9b8913abdf
explicitly decode json responses in web tests
2016-06-10 03:29:51 -04:00
Johnny Robeson
a274b4e737
read and write the pickled statefile as binary
...
Pickle files should be treated as binary files
2016-06-10 02:02:28 -04:00
Jack Wilsdon
26a17a3703
Remove trailing whitespace added in a45dcdc
2016-06-09 19:23:54 +01:00
Adrian Sampson
0f8fc33952
Fix inverted assertion sense
...
I broke this in 2fefd24 by using the wrong assertion.
2016-06-09 10:23:24 -07:00
Adrian Sampson
a45dcdc674
Fix Windows env vars for config test
2016-06-09 09:58:10 -07:00
Adrian Sampson
e508daea63
Use syspath for existence checks
2016-06-09 09:43:24 -07:00
Adrian Sampson
2fefd2471a
Use our higher-level assertions for files
2016-06-09 09:39:44 -07:00
Adrian Sampson
9717940c9b
Cross-platform relative path in test
2016-06-08 23:03:45 -07:00
Adrian Sampson
2c7e7d7727
Portable paths in mpdstats tests
2016-06-08 12:59:45 -07:00
Jack Wilsdon
3f8a85c825
Add tests for force deletion (without input)
2016-06-08 19:26:42 +01:00
Jack Wilsdon
34b3cf36b7
Add --force option to beet remove
2016-06-08 19:22:24 +01:00
Adrian Sampson
847c3bbfef
Don't test absolute paths as queries on Windows
2016-06-08 10:41:32 -07:00
Adrian Sampson
bea77370c4
Simpler absolute path detection test
2016-06-08 10:34:21 -07:00
Adrian Sampson
416593fbf8
Split path detection tests
2016-06-08 10:31:05 -07:00
Adrian Sampson
f79daacb7b
Fix a hard-coded path separator in a test
2016-06-08 10:23:35 -07:00
Adrian Sampson
f400a2431e
fetchart: Fix path types on Windows
2016-06-08 10:20:25 -07:00
Adrian Sampson
93e614c739
Tests for _{in,out}_encoding ( #2041 )
2016-06-08 09:47:45 -07:00
Johnny Robeson
790b1b5153
replace some filter/map calls with list comps
...
These are places where the surrounding/calling code needs a list, not an iter.
2016-06-08 00:17:18 -04:00
Johnny Robeson
be474b3f52
wrap a call to filter in a list()
...
There are other filters like this in the master branch, but
2to3 converts them into list comprehensions. We'll deal with those
later
2016-06-06 17:26:06 -04:00
Adrian Sampson
8b62aa828c
Fix KeyFinder test assertion
2016-06-06 12:17:17 -07:00
Adrian Sampson
94372e87a8
Merge branch 'master' of github.com:sampsyo/beets
2016-06-06 11:54:33 -07:00
Adrian Sampson
90f4c77ea0
Skip permissions tests on Windows
2016-06-06 11:54:23 -07:00
Adrian Sampson
2322962cf8
Fix another sys.platform check
2016-06-06 11:51:32 -07:00
Adrian Sampson
8bf1f868fa
Fix comparison in a library type test
2016-06-06 11:46:51 -07:00
Adrian Sampson
a5b7489dd1
Use new assertion in config tests
2016-06-06 11:40:04 -07:00
Adrian Sampson
8359b9e90f
Tests: path equality assertion
2016-06-06 11:30:38 -07:00
Adrian Sampson
1c1c73b062
Check for convert failures
2016-06-06 11:01:10 -07:00
Adrian Sampson
ad74da1149
Refactor similarity tests
...
The upshot is we can now compare the two Popen invocations
independently.
2016-06-06 10:58:25 -07:00
Adrian Sampson
bfa56b1d8d
Tests: fix mocking of art.extract
2016-06-06 10:08:30 -07:00
Adrian Sampson
5db8f69bc1
Fix invocation signature for check_art_similarity
...
The second argument is an Item, not a filename.
2016-06-05 12:37:05 -07:00
Adrian Sampson
746aecad2b
Fix a sys.platform check in hidden test
2016-06-05 12:28:47 -07:00
Adrian Sampson
60b4172a59
Tests: don't use None as a path stand-in
...
This triggered a crash in `syspath` on Windows.
2016-06-05 12:26:51 -07:00
Adrian Sampson
2f9aa41614
Clean up SQLite connections in test harness
...
Windows complains that we can't remove the test database file if open
connections remain.
2016-06-05 11:56:09 -07:00
Johnny Robeson
9ed9faf246
add some b' to paths in sort tests
2016-06-02 18:52:32 -04:00
Adrian Sampson
2228e0e8e1
More binary-mode open in tests
2016-06-02 11:52:56 -07:00
Adrian Sampson
82640260c2
Tests: don't unload the beetsplug module
...
This was added in 1666f883e3 back in 2013. I'm
not sure why this *ever* worked to get beetsplug to point to the right
directory, but I believe it was superseded by the path manipulation in
aa07eb9551 , added in 2014. And now, it's causing
problems on Windows, where for some reason it's causing `import beetsplug.x`
to silently succeed but yield an empty `beetsplug`, without `x` in the
namespace.
2016-06-02 11:41:25 -07:00
Adrian Sampson
07c95a1bf1
Require an imaging backend for fuzzy ratio tests
...
These fail outright if we don't have a way to get image sizes (e.g.,
ImageMagick).
2016-06-02 11:39:05 -07:00
Adrian Sampson
e71e17d924
Open image file as binary in tests
2016-06-02 10:17:02 -07:00
Adrian Sampson
9f8b81a5ad
Fix variable reference in stub
2016-05-31 18:13:50 -07:00
Adrian Sampson
e8c8f9fb14
Possibly make the convert stub work on Windows
2016-05-31 18:08:26 -07:00
Adrian Sampson
f96aa24a79
Convert stub: use __future__ imports
...
Even tiny stubs can't escape the wrath of flake8!
2016-05-31 17:55:12 -07:00
Adrian Sampson
fc3f64de95
Convert stub: Python 3 compatibility
...
Important for systems where `python` is 3.x, like Arch, even when beets itself
is running on Python 2.
2016-05-31 17:52:32 -07:00
Adrian Sampson
40369c6ab2
Move convert stub script to its own file
2016-05-31 17:50:54 -07:00
Adrian Sampson
469aee9848
Correctly encode arguments in tests
2016-05-31 15:32:09 -07:00
Adrian Sampson
9e27c9e5ac
Fix duplicated argument in test
2016-05-31 15:19:34 -07:00
Adrian Sampson
17681145c2
Fix a too-long line
2016-05-31 13:52:27 -07:00
Adrian Sampson
6ff7271ea0
Refactor convert command tests
...
This lets us force the use of explicit path: queries on the command line
instead of implicit path queries. This is more robust and works on
Windows, which currently gets confused when path components start with
`c:`.
2016-05-31 13:46:44 -07:00
Adrian Sampson
5b2fb8dcdc
Queries with \ are path queries on Windows
2016-05-31 13:29:00 -07:00
Adrian Sampson
1eb03a0de5
Query tests: use normalized paths
...
Match ordinary beets behavior by storing normalized paths in the
database. This matters on Windows, where normalization adds backslashes
and drive letters.
2016-05-31 13:12:32 -07:00
Adrian Sampson
33a4767eaf
Portable mock command for testing convert plugin
2016-05-31 11:48:29 -07:00
Adrian Sampson
395877d903
Remove the Echo Nest plugin 😢 ( #1920 )
2016-05-30 22:25:58 -07:00
Johnny Robeson
330306bbe2
remove bytes casts from object/method resolution code
2016-05-30 23:21:24 -04:00
Johnny Robeson
35c539b5a4
remove b' from various web request respones
2016-05-30 21:30:17 -04:00
Johnny Robeson
cd1f79340f
remove explicit b' from sql query dict key names
2016-05-30 18:50:11 -04:00
Johnny Robeson
c52394c499
fix the rest of b'__main__':
2016-05-30 01:11:37 -04:00
Adrian Sampson
71b9fd785c
Revert "Do __name__ comparison with bytes and not unicode"
...
This reverts commit 9c41c39913 .
That commit used byte strings for the `if __name__ == '__main__'` pattern,
which was necessary when we were doing unicode_literals. But it is wrong on
Python 3, and now that we're liberated from unicode_literals, we need to go
back to native strings for this comparison.
2016-05-29 19:19:59 -07:00
Johnny Robeson
a37a52633b
replace deprecated assertNotEquals() with assertNotEqual()
2016-05-29 04:03:54 -04:00
Johnny Robeson
c330f3abc3
replace deprecated assert_() with assertTrue()
2016-05-29 03:56:39 -04:00
Johnny Robeson
ce8d7bf9f1
remove unittest2 import (py < 2.7)
2016-05-27 23:46:33 -04:00
Markus Unterwaditzer
0fc07c28bc
Stylefixes
2016-05-28 00:26:57 +02:00
Markus Unterwaditzer
1ae6ce04dd
Run python-modernize across the codebase
2016-05-27 23:13:01 +02:00
Johnny Robeson
b99a6acc54
use next() instead of iter.next() throughout
2016-05-27 17:00:40 -04:00
Johnny Robeson
7f41d5c188
use 0o prefix when we want octal
2016-05-26 22:31:55 -04:00
Johnny Robeson
cede0ed466
remove leading 0 when octal is unwanted
2016-05-26 22:31:25 -04:00
Johnny Robeson
5963595f32
Add safe_cast tests for . and 1.0.0
2016-05-26 00:57:16 -04:00