File remove_nose.patch of Package python-bloscpack
---
bloscpack/testutil.py | 3 +--
test/test_headers.py | 2 +-
2 files changed, 2 insertions(+), 3 deletions(-)
--- a/bloscpack/testutil.py
+++ b/bloscpack/testutil.py
@@ -62,7 +62,7 @@ def create_tmp_files():
dcmp_file = path.join(tdir, 'file.dcmp')
# register the temp dir remover, safeguard against abort
atexit.register(atexit_tmpremover, tdir)
- yield tdir, in_file, out_file, dcmp_file
+ tdir(in_file, out_file, dcmp_file)
# context manager remover
shutil.rmtree(tdir)
@@ -74,7 +74,6 @@ def cmp_file(file1, file2):
def cmp_fp(fp1, fp2):
- import nose.tools as nt # nose is a testing dependency
chunk_size = reverse_pretty(DEFAULT_CHUNK_SIZE)
while True:
a = fp1.read(chunk_size)
@@ -82,4 +81,4 @@ def cmp_fp(fp1, fp2):
if a == b'' and b == b'':
return True
else:
- nt.assert_equal(a, b)
+ assert a == b
--- a/test/test_headers.py
+++ b/test/test_headers.py
@@ -1,4 +1,3 @@
-#!/usr/bin/env nosetests
# -*- coding: utf-8 -*-
# vim :set ft=py:
@@ -6,9 +5,8 @@
import struct
import sys
-
-import nose.tools as nt
-from nose.plugins.skip import SkipTest
+import pytest
+from unittest import SkipTest
import blosc
import numpy as np
@@ -39,9 +37,12 @@ from bloscpack.headers import (Bloscpack
def test_check_range():
- nt.assert_raises(TypeError, check_range, 'test', 'a', 0, 1)
- nt.assert_raises(ValueError, check_range, 'test', -1, 0, 1)
- nt.assert_raises(ValueError, check_range, 'test', 2, 0, 1)
+ with pytest.raises(TypeError):
+ check_range('test', 'a', 0, 1)
+ with pytest.raises(ValueError):
+ check_range('test', -1, 0, 1)
+ with pytest.raises(ValueError):
+ check_range('test', 2, 0, 1)
def test_create_options():
@@ -57,7 +58,7 @@ def test_create_options():
('00000001', {'offsets': True, 'metadata': False}),
('00000011', {'offsets': True, 'metadata': True}),
]:
- yield nt.assert_equal, expected_options, create_options(**kwargs)
+ assert expected_options == create_options(**kwargs)
def test_decode_options():
@@ -67,7 +68,7 @@ def test_decode_options():
({'metadata': True, 'offsets': False}, '00000010'),
({'metadata': True, 'offsets': True}, '00000011'),
]:
- yield nt.assert_equal, expected, decode_options(input)
+ assert expected == decode_options(input)
def test_decode_options_exceptions():
@@ -81,7 +82,8 @@ def test_decode_options_exceptions():
'00001100',
'11111100',
]:
- yield nt.assert_raises, ValueError, decode_options, broken_input
+ with pytest.raises(ValueError):
+ decode_options(broken_input)
def test_check_options_exceptions():
@@ -90,7 +92,9 @@ def test_check_options_exceptions():
0,
1,
]:
- yield nt.assert_raises, TypeError, check_options, broken_input
+ with pytest.raises(TypeError):
+ check_options(broken_input)
+
for broken_input in [
# check for lengths too small and too large
'0',
@@ -103,15 +107,16 @@ def test_check_options_exceptions():
'0000000a',
'aaaaaaaa',
]:
- yield nt.assert_raises, ValueError, check_options, broken_input
+ with pytest.raises(ValueError):
+ check_options(broken_input)
def test_create_metadata_options():
- nt.assert_equal('00000000', create_metadata_options())
+ assert '00000000' == create_metadata_options()
def test_decode_metadata_options():
- nt.assert_equal({}, decode_metadata_options('00000000'))
+ assert {} == decode_metadata_options('00000000')
def test_decode_metadata_options_exceptions():
@@ -125,7 +130,8 @@ def test_decode_metadata_options_excepti
'00001111',
'11111111',
]:
- yield nt.assert_raises, ValueError, decode_metadata_options, broken_input
+ with pytest.raises(ValueError):
+ decode_metadata_options(broken_input)
def test_decode_blosc_header_basic():
@@ -139,7 +145,7 @@ def test_decode_blosc_header_basic():
'nbytes': len(array_),
'typesize': blosc_args.typesize}
header_slice = dict((k, header[k]) for k in expected.keys())
- nt.assert_equal(expected, header_slice)
+ assert expected == header_slice
def test_decode_blosc_header_deactivate_shuffle():
@@ -154,7 +160,7 @@ def test_decode_blosc_header_deactivate_
'nbytes': len(array_),
'typesize': blosc_args.typesize}
header_slice = dict((k, header[k]) for k in expected.keys())
- nt.assert_equal(expected, header_slice)
+ assert expected == header_slice
def test_decode_blosc_header_uncompressible_data():
@@ -171,7 +177,7 @@ def test_decode_blosc_header_uncompressi
'flags': 0x13, # 1 for shuffle 2 for non-compressed 4 for small blocksize
'nbytes': len(array_),
'typesize': blosc_args.typesize}
- nt.assert_equal(expected, header)
+ assert expected == header
def test_decode_blosc_header_uncompressible_data_dont_split_false():
@@ -190,7 +196,7 @@ def test_decode_blosc_header_uncompressi
'nbytes': len(array_),
'typesize': blosc_args.typesize
}
- nt.assert_equal(expected, header)
+ assert expected == header
def test_decode_blosc_flags():
@@ -216,16 +222,13 @@ def test_decode_blosc_flags():
(0b01100000, {'codec': 'zlib'}),
(0b10000000, {'codec': 'zstd'}),
]:
- yield (nt.assert_equal,
- decode_blosc_flags(input_byte),
- gen_expected(new_params))
+ assert decode_blosc_flags(input_byte) == gen_expected(new_params)
def test_BloscPackHeader_constructor_exceptions():
- # uses nose test generators
-
def check(error_type, args_dict):
- nt.assert_raises(error_type, BloscpackHeader, **args_dict)
+ with pytest.raises(error_type):
+ BloscpackHeader(**args_dict)
for error_type, args_dict in [
(ValueError, {'format_version': -1}),
@@ -260,7 +263,7 @@ def test_BloscPackHeader_constructor_exc
(ValueError, {'chunk_size': 1,
'last_chunk': 2}),
]:
- yield check, error_type, args_dict
+ check(error_type, args_dict)
def test_BloscPackHeader_total_prospective_entries():
@@ -277,7 +280,7 @@ def test_BloscPackHeader_total_prospecti
]:
header = BloscpackHeader(nchunks=nchunks,
max_app_chunks=max_app_chunks)
- yield nt.assert_equal, expected, header.total_prospective_chunks
+ assert expected == header.total_prospective_chunks
def test_BloscpackHeader_encode():
@@ -294,7 +297,7 @@ def test_BloscpackHeader_encode():
raw[offset+len(replacement):]
# test with no arguments
- yield nt.assert_equal, raw, BloscpackHeader().encode()
+ assert raw == BloscpackHeader().encode()
for offset, replacement, kwargs in [
(4, struct.pack('<B', 23), {'format_version': 23}),
@@ -338,7 +341,7 @@ def test_BloscpackHeader_encode():
(16, b'\x01\x00\x00\x00\x00\x00\x00\x00\xfe\xff\xff\xff\xff\xff\xff\x7f',
{'nchunks': 1, 'max_app_chunks': MAX_CHUNKS-1}),
]:
- yield nt.assert_equal, mod_raw(offset, replacement), \
+ assert mod_raw(offset, replacement) == \
BloscpackHeader(**kwargs).encode()
@@ -354,7 +357,7 @@ def test_BloscpackHeader_decode():
raw[offset+len(replacement):]
# check with no args
- yield nt.assert_equal, BloscpackHeader(), BloscpackHeader.decode(raw)
+ assert BloscpackHeader() == BloscpackHeader.decode(raw)
for kwargs, offset, replacement in [
# check with format_version
@@ -404,27 +407,21 @@ def test_BloscpackHeader_decode():
({'nchunks': 1, 'max_app_chunks': MAX_CHUNKS-1},
16, b'\x01\x00\x00\x00\x00\x00\x00\x00\xfe\xff\xff\xff\xff\xff\xff\x7f'),
]:
- yield (nt.assert_equal,
- BloscpackHeader(**kwargs),
- BloscpackHeader.decode(mod_raw(offset, replacement)))
+ assert BloscpackHeader(**kwargs) == \
+ BloscpackHeader.decode(mod_raw(offset, replacement))
def test_BloscpackHeader_accessor_exceptions():
if sys.version_info[0:2] < (2, 7):
raise SkipTest
bloscpack_header = BloscpackHeader()
- nt.assert_raises_regexp(KeyError,
- 'foo not in BloscpackHeader',
- bloscpack_header.__getitem__,
- 'foo')
- nt.assert_raises_regexp(KeyError,
- 'foo not in BloscpackHeader',
- bloscpack_header.__setitem__,
- 'foo', 'bar')
- nt.assert_raises_regexp(NotImplementedError,
- 'BloscpackHeader does not support __delitem__ or derivatives',
- bloscpack_header.__delitem__,
- 'foo',)
+ with pytest.raises(KeyError, match='foo not in BloscpackHeader'):
+ bloscpack_header.__getitem__('foo')
+ with pytest.raises(KeyError, match='foo not in BloscpackHeader'):
+ bloscpack_header.__setitem__('foo', 'bar')
+ with pytest.raises(NotImplementedError,
+ match='BloscpackHeader does not support __delitem__ or derivatives'):
+ bloscpack_header.__delitem__('foo')
def test_MetadataHeader_encode():
@@ -432,7 +429,7 @@ def test_MetadataHeader_encode():
b'\x00\x00\x00\x00\x00\x00\x00\x00'\
b'\x00\x00\x00\x00\x00\x00\x00\x00'\
b'\x00\x00\x00\x00\x00\x00\x00\x00'
- yield nt.assert_equal, raw, MetadataHeader().encode()
+ assert raw == MetadataHeader().encode()
def mod_raw(offset, value):
return raw[0:offset] + value + \
@@ -451,7 +448,7 @@ def test_MetadataHeader_encode():
(20, b'\xff\xff\xff\xff', {'meta_comp_size': MAX_META_SIZE}),
(24, b'sesame', {'user_codec': b'sesame'}),
]:
- yield nt.assert_equal, mod_raw(offset, replacement), \
+ assert mod_raw(offset, replacement) == \
MetadataHeader(**kwargs).encode()
@@ -481,7 +478,7 @@ def test_MetadataHeader_decode():
return no_arg_input[0:offset] + value + \
no_arg_input[offset+len(value):]
- yield nt.assert_equal, no_arg_return, MetadataHeader.decode(no_arg_input)
+ assert no_arg_return == MetadataHeader.decode(no_arg_input)
for attribute, value, offset, replacement in [
('magic_format', b'JSON', 0, b'JSON'),
@@ -496,5 +493,5 @@ def test_MetadataHeader_decode():
('meta_comp_size', MAX_META_SIZE, 20, b'\xff\xff\xff\xff'),
('user_codec', b'sesame', 24, b'sesame'),
]:
- yield nt.assert_equal, copy_and_set_return(attribute, value), \
+ assert copy_and_set_return(attribute, value) == \
MetadataHeader.decode(copy_and_set_input(offset, replacement))
--- a/setup.py
+++ b/setup.py
@@ -3,7 +3,6 @@
# flake8: noqa
from setuptools import setup
-import sys
import io
with io.open('README.rst', encoding='utf-8') as f:
@@ -20,7 +19,7 @@ install_requires = [
]
tests_require = [
- 'nose',
+ 'pytest',
'cram>=0.6',
'mock',
'coverage',
--- a/test/test_append.py
+++ b/test/test_append.py
@@ -1,10 +1,9 @@
-#!/usr/bin/env nosetests
# -*- coding: utf-8 -*-
# vim :set ft=py:
import blosc
-import nose.tools as nt
+import pytest
import numpy as np
@@ -105,8 +104,8 @@ def test_append_fp():
max_app_chunks=160,
)
expected_orig_offsets = [1440]
- nt.assert_equal(expected_orig_bloscpack_header, orig_bloscpack_header)
- nt.assert_equal(expected_orig_offsets[0], orig_offsets[0])
+ assert expected_orig_bloscpack_header == orig_bloscpack_header
+ assert expected_orig_offsets[0] == orig_offsets[0]
# perform the append
reset_append_fp(orig, new, new_size)
@@ -126,8 +125,8 @@ def test_append_fp():
'metadata': False
}
expected_app_offsets = [1440]
- nt.assert_equal(expected_app_bloscpack_header, app_bloscpack_header)
- nt.assert_equal(expected_app_offsets[0], app_offsets[0])
+ assert expected_app_bloscpack_header == app_bloscpack_header
+ assert expected_app_offsets[0] == app_offsets[0]
# now check by unpacking
source = CompressedFPSource(orig)
@@ -137,8 +136,8 @@ def test_append_fp():
new.seek(0)
new_str = new.read()
dcmp_str = dcmp.read()
- nt.assert_equal(len(dcmp_str), len(new_str * 2))
- nt.assert_equal(dcmp_str, new_str * 2)
+ assert len(dcmp_str) == len(new_str * 2)
+ assert dcmp_str == new_str * 2
## TODO
# * check additional aspects of file integrity
@@ -154,8 +153,8 @@ def test_append():
unpack_file_from_file(out_file, dcmp_file)
in_content = open(in_file, 'rb').read()
dcmp_content = open(dcmp_file, 'rb').read()
- nt.assert_equal(len(dcmp_content), len(in_content) * 2)
- nt.assert_equal(dcmp_content, in_content * 2)
+ assert len(dcmp_content) == len(in_content) * 2
+ assert dcmp_content == in_content * 2
def test_append_into_last_chunk():
@@ -175,13 +174,13 @@ def test_append_into_last_chunk():
new.seek(0)
nchunks = reset_append_fp(orig, StringIO(new_content[:1023]), 1023)
bloscpack_header = reset_read_beginning(orig)[0]
- nt.assert_equal(nchunks, 1)
- nt.assert_equal(bloscpack_header['last_chunk'], 1023)
+ assert nchunks == 1
+ assert bloscpack_header['last_chunk'] == 1023
# now append into that last chunk
nchunks = reset_append_fp(orig, StringIO(new_content[:1023]), 1023)
bloscpack_header = reset_read_beginning(orig)[0]
- nt.assert_equal(nchunks, 0)
- nt.assert_equal(bloscpack_header['last_chunk'], 2046)
+ assert nchunks == 0
+ assert bloscpack_header['last_chunk'] == 2046
# now check by unpacking
source = CompressedFPSource(orig)
@@ -191,8 +190,8 @@ def test_append_into_last_chunk():
new.seek(0)
new_str = new.read()
dcmp_str = dcmp.read()
- nt.assert_equal(len(dcmp_str), len(new_str) + 2046)
- nt.assert_equal(dcmp_str, new_str + new_str[:1023] * 2)
+ assert len(dcmp_str) == len(new_str) + 2046
+ assert dcmp_str == new_str + new_str[:1023] * 2
def test_append_single_chunk():
@@ -210,25 +209,25 @@ def test_append_single_chunk():
# append a single chunk
reset_append_fp(orig, new, new_size)
bloscpack_header = reset_read_beginning(orig)[0]
- nt.assert_equal(bloscpack_header['nchunks'], 2)
+ assert bloscpack_header['nchunks'] == 2
# append a large content, that amounts to two chunks
new_content = new.read()
new.seek(0)
reset_append_fp(orig, StringIO(new_content * 2), new_size * 2)
bloscpack_header = reset_read_beginning(orig)[0]
- nt.assert_equal(bloscpack_header['nchunks'], 4)
+ assert bloscpack_header['nchunks'] == 4
# append half a chunk
reset_append_fp(orig, StringIO(new_content[:len(new_content)]), new_size//2)
bloscpack_header = reset_read_beginning(orig)[0]
- nt.assert_equal(bloscpack_header['nchunks'], 5)
+ assert bloscpack_header['nchunks'] == 5
# append a few bytes
reset_append_fp(orig, StringIO(new_content[:1023]), 1024)
# make sure it is squashed into the lat chunk
bloscpack_header = reset_read_beginning(orig)[0]
- nt.assert_equal(bloscpack_header['nchunks'], 5)
+ assert bloscpack_header['nchunks'] == 5
def test_double_append():
@@ -241,8 +240,8 @@ def test_double_append():
unpack(source, sink)
dcmp.seek(0)
dcmp_str = dcmp.read()
- nt.assert_equal(len(dcmp_str), len(new_str) * 3)
- nt.assert_equal(dcmp_str, new_str * 3)
+ assert len(dcmp_str) == len(new_str) * 3
+ assert dcmp_str == new_str * 3
def test_append_metadata():
@@ -267,20 +266,22 @@ def test_append_metadata():
new.seek(0)
new_str = new.read()
dcmp_str = dcmp.read()
- nt.assert_equal(len(dcmp_str), len(new_str) * 2)
- nt.assert_equal(dcmp_str, new_str * 2)
+ assert len(dcmp_str) == len(new_str) * 2
+ assert dcmp_str == new_str * 2
def test_append_fp_no_offsets():
bloscpack_args = BloscpackArgs(offsets=False)
orig, new, new_size, dcmp = prep_array_for_append(bloscpack_args=bloscpack_args)
- nt.assert_raises(RuntimeError, append_fp, orig, new, new_size)
+ with pytest.raises(RuntimeError):
+ append_fp(orig, new, new_size)
def test_append_fp_not_enough_space():
bloscpack_args = BloscpackArgs(max_app_chunks=0)
orig, new, new_size, dcmp = prep_array_for_append(bloscpack_args=bloscpack_args)
- nt.assert_raises(NotEnoughSpace, append_fp, orig, new, new_size)
+ with pytest.raises(NotEnoughSpace):
+ append_fp(orig, new, new_size)
def test_mixing_clevel():
@@ -293,7 +294,7 @@ def test_mixing_clevel():
orig.seek(0)
# get a backup of the settings
bloscpack_header, metadata, metadata_header, offsets = \
- reset_read_beginning(orig)
+ reset_read_beginning(orig)
# compressed size of the last chunk, including checksum
last_chunk_compressed_size = orig_size - offsets[-1]
@@ -316,7 +317,7 @@ def test_mixing_clevel():
# * nchunks + 1 times the blosc and checksum overhead
appended_size = new_size + bloscpack_header['last_chunk'] + (nchunks+1) * (16 + 4)
# final size should be original plus appended data
- nt.assert_equal(final_size, appended_size + discounted_orig_size)
+ assert final_size == appended_size + discounted_orig_size
# check by unpacking
source = CompressedFPSource(orig)
@@ -326,8 +327,8 @@ def test_mixing_clevel():
new.seek(0)
new_str = new.read()
dcmp_str = dcmp.read()
- nt.assert_equal(len(dcmp_str), len(new_str * 2))
- nt.assert_equal(dcmp_str, new_str * 2)
+ assert len(dcmp_str) == len(new_str * 2)
+ assert dcmp_str == new_str * 2
def test_append_mix_shuffle():
@@ -360,8 +361,8 @@ def test_append_mix_shuffle():
dcmp_str = dcmp.read()
# now sanity check the length and content of the decompressed
- nt.assert_equal(len(dcmp_str), len(new_str) + to_append_fp_size)
- nt.assert_equal(dcmp_str, new_str + to_append.tostring())
+ assert len(dcmp_str) == len(new_str) + to_append_fp_size
+ assert dcmp_str == new_str + to_append.tostring()
# now get the first and the last chunk and check that the shuffle doesn't
# match
@@ -376,9 +377,9 @@ def test_append_mix_shuffle():
_read_compressed_chunk_fp(orig, checksum_impl)
decompressed_last = blosc.decompress(compressed_last)
# first chunk has shuffle active
- nt.assert_equal(blosc_header_zero['flags'], 1)
+ assert blosc_header_zero['flags'] == 1
# last chunk doesn't
- nt.assert_equal(blosc_header_last['flags'], 0)
+ assert blosc_header_last['flags'] == 0
def test_recreate_metadata():
@@ -393,21 +394,12 @@ def test_recreate_metadata():
user_codec=b'',
)
header_dict = old_meta_header
- nt.assert_raises(NoSuchSerializer,
- _recreate_metadata,
- header_dict,
- '',
- magic_format='NOSUCHSERIALIZER')
- nt.assert_raises(NoSuchCodec,
- _recreate_metadata,
- header_dict,
- '',
- codec='NOSUCHCODEC')
- nt.assert_raises(ChecksumLengthMismatch,
- _recreate_metadata,
- header_dict,
- '',
- checksum='adler32')
+ with pytest.raises(NoSuchSerializer):
+ _recreate_metadata(header_dict, '', magic_format='NOSUCHSERIALIZER')
+ with pytest.raises(NoSuchCodec):
+ _recreate_metadata(header_dict, '', codec='NOSUCHCODEC')
+ with pytest.raises(ChecksumLengthMismatch):
+ _recreate_metadata(header_dict, '', checksum='adler32')
def test_rewrite_metadata():
@@ -426,8 +418,8 @@ def test_rewrite_metadata():
# write the metadata section
_write_metadata(target_fp, test_metadata, metadata_args)
# check that the length is correct
- nt.assert_equal(METADATA_HEADER_LENGTH + metadata_args.max_meta_size,
- len(target_fp.getvalue()))
+ assert METADATA_HEADER_LENGTH + metadata_args.max_meta_size == \
+ len(target_fp.getvalue())
# now add stuff to the metadata
test_metadata['container'] = 'numpy'
@@ -442,20 +434,20 @@ def test_rewrite_metadata():
# correctly
target_fp.seek(0, 0)
result_metadata, result_header = _read_metadata(target_fp)
- nt.assert_equal(test_metadata, result_metadata)
- nt.assert_equal(new_metadata_length, result_header.meta_comp_size)
+ assert test_metadata == result_metadata
+ assert new_metadata_length == result_header.meta_comp_size
# make sure that NoChangeInMetadata is raised
target_fp.seek(0, 0)
- nt.assert_raises(NoChangeInMetadata, _rewrite_metadata_fp,
- target_fp, test_metadata, codec=None, level=None)
+ with pytest.raises(NoChangeInMetadata):
+ _rewrite_metadata_fp(target_fp, test_metadata, codec=None, level=None)
# make sure that ChecksumLengthMismatch is raised, needs modified metadata
target_fp.seek(0, 0)
test_metadata['fluxcompensator'] = 'back to the future'
- nt.assert_raises(ChecksumLengthMismatch, _rewrite_metadata_fp,
- target_fp, test_metadata,
- codec=None, level=None, checksum='sha512')
+ with pytest.raises(ChecksumLengthMismatch):
+ _rewrite_metadata_fp(target_fp, test_metadata, codec=None, level=None,
+ checksum='sha512')
# make sure if level is not None, this works
target_fp.seek(0, 0)
@@ -467,5 +459,5 @@ def test_rewrite_metadata():
for i in range(100):
test_metadata[str(i)] = str(i)
target_fp.seek(0, 0)
- nt.assert_raises(MetadataSectionTooSmall, _rewrite_metadata_fp,
- target_fp, test_metadata, codec=None, level=None)
+ with pytest.raises(MetadataSectionTooSmall):
+ _rewrite_metadata_fp(target_fp, test_metadata, codec=None, level=None)
--- a/test/test_args.py
+++ b/test/test_args.py
@@ -1,4 +1,3 @@
-#!/usr/bin/env nosetests
# -*- coding: utf-8 -*-
# vim :set ft=py:
@@ -6,8 +5,7 @@
from unittest import TestCase
-import nose.tools as nt
-
+import pytest
from bloscpack.args import (DEFAULT_BLOSC_ARGS,
DEFAULT_BLOSCPACK_ARGS,
@@ -35,97 +33,96 @@ from bloscpack.pretty import reverse_pre
def test_check_blosc_arguments():
missing = DEFAULT_BLOSC_ARGS.copy()
missing.pop('typesize')
- nt.assert_raises(ValueError, _check_blosc_args, missing)
+ with pytest.raises(ValueError):
+ _check_blosc_args(missing)
extra = DEFAULT_BLOSC_ARGS.copy()
extra['wtf'] = 'wtf'
- nt.assert_raises(ValueError, _check_blosc_args, extra)
+ with pytest.raises(ValueError):
+ _check_blosc_args(extra)
def test_check_bloscpack_arguments():
missing = DEFAULT_BLOSCPACK_ARGS.copy()
missing.pop('offsets')
- nt.assert_raises(ValueError, _check_bloscpack_args, missing)
+ with pytest.raises(ValueError):
+ _check_bloscpack_args(missing)
extra = DEFAULT_BLOSCPACK_ARGS.copy()
extra['wtf'] = 'wtf'
- nt.assert_raises(ValueError, _check_bloscpack_args, extra)
+ with pytest.raises(ValueError):
+ _check_bloscpack_args(extra)
def test_check_bloscpack_arguments_accpets_None_as_checksum():
args = BloscpackArgs(checksum=None)
- nt.assert_equal(args.checksum, 'None')
+ assert args.checksum == 'None'
def test_check_metadata_arguments():
missing = DEFAULT_METADATA_ARGS.copy()
missing.pop('magic_format')
- nt.assert_raises(ValueError, _check_metadata_arguments, missing)
+ with pytest.raises(ValueError):
+ _check_metadata_arguments(missing)
extra = DEFAULT_METADATA_ARGS.copy()
extra['wtf'] = 'wtf'
- nt.assert_raises(ValueError, _check_metadata_arguments, extra)
+ with pytest.raises(ValueError):
+ _check_metadata_arguments(extra)
def test_calculate_nchunks():
# check for zero or negative chunk_size
- nt.assert_raises(ValueError, calculate_nchunks,
- 23, chunk_size=0)
- nt.assert_raises(ValueError, calculate_nchunks,
- 23, chunk_size=-1)
-
- nt.assert_equal((9, 1, 1), calculate_nchunks(9, chunk_size=1))
- nt.assert_equal((5, 2, 1), calculate_nchunks(9, chunk_size=2))
- nt.assert_equal((3, 3, 3), calculate_nchunks(9, chunk_size=3))
- nt.assert_equal((3, 4, 1), calculate_nchunks(9, chunk_size=4))
- nt.assert_equal((2, 5, 4), calculate_nchunks(9, chunk_size=5))
- nt.assert_equal((2, 6, 3), calculate_nchunks(9, chunk_size=6))
- nt.assert_equal((2, 7, 2), calculate_nchunks(9, chunk_size=7))
- nt.assert_equal((2, 8, 1), calculate_nchunks(9, chunk_size=8))
- nt.assert_equal((1, 9, 9), calculate_nchunks(9, chunk_size=9))
+ with pytest.raises(ValueError):
+ calculate_nchunks(23, chunk_size=0)
+ with pytest.raises(ValueError):
+ calculate_nchunks(23, chunk_size=-1)
+
+ assert (9, 1, 1) == calculate_nchunks(9, chunk_size=1)
+ assert (5, 2, 1) == calculate_nchunks(9, chunk_size=2)
+ assert (3, 3, 3) == calculate_nchunks(9, chunk_size=3)
+ assert (3, 4, 1) == calculate_nchunks(9, chunk_size=4)
+ assert (2, 5, 4) == calculate_nchunks(9, chunk_size=5)
+ assert (2, 6, 3) == calculate_nchunks(9, chunk_size=6)
+ assert (2, 7, 2) == calculate_nchunks(9, chunk_size=7)
+ assert (2, 8, 1) == calculate_nchunks(9, chunk_size=8)
+ assert (1, 9, 9) == calculate_nchunks(9, chunk_size=9)
# check downgrade
- nt.assert_equal((1, 23, 23), calculate_nchunks(23, chunk_size=24))
+ assert (1, 23, 23) == calculate_nchunks(23, chunk_size=24)
# single byte file
- nt.assert_equal((1, 1, 1),
- calculate_nchunks(1, chunk_size=1))
+ assert (1, 1, 1) == calculate_nchunks(1, chunk_size=1)
# check that a zero length input is handled correctly
- nt.assert_equal((1, 0, 0),
- calculate_nchunks(0, chunk_size=1))
+ assert (1, 0, 0) == calculate_nchunks(0, chunk_size=1)
# check that the chunk_size is ignored in this case
- nt.assert_equal((1, 0, 0),
- calculate_nchunks(0, chunk_size=512))
+ assert (1, 0, 0) == calculate_nchunks(0, chunk_size=512)
# in_file_size must be strictly positive
- nt.assert_raises(ValueError, calculate_nchunks, -1)
+ with pytest.raises(ValueError):
+ calculate_nchunks(-1)
# check overflow of nchunks due to chunk_size being too small
# and thus stuff not fitting into the header
- nt.assert_raises(ChunkingException, calculate_nchunks,
- MAX_CHUNKS+1, chunk_size=1)
+ with pytest.raises(ChunkingException):
+ calculate_nchunks(MAX_CHUNKS+1, chunk_size=1)
# check that strings are converted correctly
- nt.assert_equal((6, 1048576, 209715),
- calculate_nchunks(reverse_pretty('5.2M')))
- nt.assert_equal((3, 2097152, 1258291),
- calculate_nchunks(reverse_pretty('5.2M'),
- chunk_size='2M'))
+ assert (6, 1048576, 209715) == calculate_nchunks(reverse_pretty('5.2M'))
+ assert (3, 2097152, 1258291) == \
+ calculate_nchunks(reverse_pretty('5.2M'), chunk_size='2M')
def test_handle_max_apps():
- nt.assert_equals(_handle_max_apps(True, 10, 10), 10)
- nt.assert_equals(_handle_max_apps(True, 10, lambda x: x*10), 100)
- nt.assert_equals(_handle_max_apps(True, 1, lambda x: MAX_CHUNKS),
- MAX_CHUNKS-1)
- nt.assert_equals(_handle_max_apps(True, 1, lambda x: MAX_CHUNKS+10),
- MAX_CHUNKS-1)
- nt.assert_equals(_handle_max_apps(True, 1, MAX_CHUNKS),
- MAX_CHUNKS-1)
- nt.assert_equals(_handle_max_apps(True, 10, MAX_CHUNKS),
- MAX_CHUNKS-10)
- nt.assert_raises(TypeError, _handle_max_apps, True, 10, 10.0)
- nt.assert_raises(ValueError, _handle_max_apps,
- True, 10, lambda x: -1)
- nt.assert_raises(ValueError, _handle_max_apps,
- True, 10, lambda x: 1.0)
+ assert _handle_max_apps(True, 10, 10) == 10
+ assert _handle_max_apps(True, 10, lambda x: x*10) == 100
+ assert _handle_max_apps(True, 1, lambda x: MAX_CHUNKS) == MAX_CHUNKS-1
+ assert _handle_max_apps(True, 1, lambda x: MAX_CHUNKS+10) == MAX_CHUNKS-1
+ assert _handle_max_apps(True, 1, MAX_CHUNKS) == MAX_CHUNKS-1
+ assert _handle_max_apps(True, 10, MAX_CHUNKS) == MAX_CHUNKS-10
+ with pytest.raises(TypeError):
+ _handle_max_apps(True, 10, 10.0)
+ with pytest.raises(ValueError):
+ _handle_max_apps(True, 10, lambda x: -1)
+ with pytest.raises(ValueError):
+ _handle_max_apps(True, 10, lambda x: 1.0)
class TestBloscArgs(TestCase):
--- a/test/test_checksums.py
+++ b/test/test_checksums.py
@@ -1,16 +1,11 @@
-#!/usr/bin/env nosetests
# -*- coding: utf-8 -*-
# vim :set ft=py:
-
-import nose.tools as nt
-
-
from bloscpack import checksums
def test_checksusm_exist():
- nt.assert_equal(len(checksums.CHECKSUMS), 9)
+ assert len(checksums.CHECKSUMS) == 9
checksums_avail = ['None',
'adler32',
'crc32',
@@ -20,7 +15,7 @@ def test_checksusm_exist():
'sha256',
'sha384',
'sha512']
- nt.assert_equal(checksums.CHECKSUMS_AVAIL, checksums_avail)
+ assert checksums.CHECKSUMS_AVAIL == checksums_avail
def test_checksusm_are_sane():
@@ -43,5 +38,5 @@ def test_checksusm_are_sane():
]
for i, csum in enumerate(checksums.CHECKSUMS):
digest = csum(b"\x23\x42\xbe\xef")
- yield nt.assert_equal, len(digest), csum.size
- yield nt.assert_equal, digest, csum_targets[i]
+ assert len(digest) == csum.size
+ assert digest == csum_targets[i]
--- a/test/test_cli.py
+++ b/test/test_cli.py
@@ -1,39 +1,33 @@
-#!/usr/bin/env nosetests
# -*- coding: utf-8 -*-
# vim :set ft=py:
from mock import patch, Mock
-import nose.tools as nt
+import pytest
from bloscpack import cli
from bloscpack.exceptions import FileNotFound
+
def test_parser():
# hmmm I guess we could override the error
- parser = cli.create_parser()
+ cli.create_parser()
@patch('os.path.exists')
def test_non_existing_input_file_raises_exception(mock_exists):
args = Mock(force=False)
mock_exists.return_value = False
- nt.assert_raises(FileNotFound,
- cli.check_files,
- 'nosuchfile',
- 'nosuchfile',
- args)
+ with pytest.raises(FileNotFound):
+ cli.check_files('nosuchfile', 'nosuchfile', args)
@patch('os.path.exists')
def test_existing_output_file_raises_exception(mock_exists):
args = Mock(force=False)
mock_exists.side_effects = [True, True]
- nt.assert_raises(FileNotFound,
- cli.check_files,
- 'anyfile',
- 'anyfile',
- args)
+ with pytest.raises(FileNotFound):
+ cli.check_files('anyfile', 'anyfile', args)
@patch('os.path.exists')
--- a/test/test_file_io.py
+++ b/test/test_file_io.py
@@ -1,4 +1,3 @@
-#!/usr/bin/env nosetests
# -*- coding: utf-8 -*-
# vim :set ft=py:
@@ -7,7 +6,7 @@ from __future__ import print_function
import blosc
-import nose.tools as nt
+import pytest
from mock import patch
import numpy as np
@@ -66,8 +65,8 @@ def test_offsets():
# First chunks should start after header and offsets
first = BLOSCPACK_HEADER_LENGTH + 8 * total_entries
# We assume that the others are correct
- nt.assert_equal(offsets[0], first)
- nt.assert_equal(736, offsets[0])
+ assert offsets[0] == first
+ assert 736 == offsets[0]
# try to read the second header
input_fp.seek(offsets[1], 0)
blosc_header_raw = input_fp.read(BLOSC_HEADER_LENGTH)
@@ -78,7 +77,7 @@ def test_offsets():
'typesize': 8}
blosc_header = decode_blosc_header(blosc_header_raw)
blosc_header_slice = dict((k, blosc_header[k]) for k in expected.keys())
- nt.assert_equal(expected, blosc_header_slice)
+ assert expected == blosc_header_slice
# now check the same thing again, but w/o any max_app_chunks
input_fp, output_fp = StringIO(), StringIO()
@@ -95,9 +94,9 @@ def test_offsets():
)
output_fp.seek(0, 0)
bloscpack_header = _read_bloscpack_header(output_fp)
- nt.assert_equal(0, bloscpack_header.max_app_chunks)
+ assert 0 == bloscpack_header.max_app_chunks
offsets = _read_offsets(output_fp, bloscpack_header)
- nt.assert_equal(96, offsets[0])
+ assert 96 == offsets[0]
def test_metadata():
@@ -106,7 +105,7 @@ def test_metadata():
'others': [],
}
received_metadata = pack_unpack_fp(1, metadata=test_metadata)
- nt.assert_equal(test_metadata, received_metadata)
+ assert test_metadata == received_metadata
def test_metadata_opportunisitic_compression():
@@ -117,7 +116,7 @@ def test_metadata_opportunisitic_compres
_write_metadata(target_fp, test_metadata, MetadataArgs())
target_fp.seek(0, 0)
metadata, header = _read_metadata(target_fp)
- nt.assert_equal('zlib', header['meta_codec'])
+ assert 'zlib' == header['meta_codec']
# now do the same thing, but use badly compressible metadata
test_metadata = "abc"
@@ -127,7 +126,7 @@ def test_metadata_opportunisitic_compres
target_fp.seek(0, 0)
metadata, header = _read_metadata(target_fp)
# but it wasn't of any use
- nt.assert_equal('None', header['meta_codec'])
+ assert 'None' == header['meta_codec']
def test_disable_offsets():
@@ -143,8 +142,8 @@ def test_disable_offsets():
bloscpack_args=bloscpack_args)
out_fp.seek(0)
bloscpack_header, metadata, metadata_header, offsets = \
- _read_beginning(out_fp)
- nt.assert_true(len(offsets) == 0)
+ _read_beginning(out_fp)
+ assert len(offsets) == 0
# this will cause a bug if we ever reach 255 format versions
@@ -154,8 +153,8 @@ def test_invalid_format():
with create_tmp_files() as (tdir, in_file, out_file, dcmp_file):
create_array(1, in_file)
pack_file_to_file(in_file, out_file, blosc_args=blosc_args)
- nt.assert_raises(FormatVersionMismatch,
- unpack_file_from_file, out_file, dcmp_file)
+ with pytest.raises(FormatVersionMismatch):
+ unpack_file_from_file(out_file, dcmp_file)
def test_file_corruption():
@@ -180,7 +179,8 @@ def test_file_corruption():
# write the flipped byte
input_fp.write(replace)
# now attempt to unpack it
- nt.assert_raises(ChecksumMismatch, unpack_file_from_file, out_file, dcmp_file)
+ with pytest.raises(ChecksumMismatch):
+ unpack_file_from_file(out_file, dcmp_file)
def pack_unpack(repeats, chunk_size=None, progress=False):
@@ -248,7 +248,7 @@ def test_pack_unpack_bytes_to_from_file(
with create_tmp_files() as (tdir, in_file, out_file, dcmp_file):
pack_bytes_to_file(input_bytes, out_file)
output_bytes, _ = unpack_bytes_from_file(out_file)
- nt.assert_equal(input_bytes, output_bytes)
+ assert input_bytes == output_bytes
def test_pack_unpack_bytes_bytes():
@@ -256,7 +256,7 @@ def test_pack_unpack_bytes_bytes():
b = a.tostring()
c = pack_bytes_to_bytes(b)
d, _ = unpack_bytes_from_bytes(c)
- nt.assert_equal(b, d)
+ assert b == d
def pack_unpack_hard():
--- a/test/test_log.py
+++ b/test/test_log.py
@@ -1,4 +1,4 @@
-import nose.tools as nt
+import pytest
from mock import patch
@@ -6,7 +6,8 @@ from bloscpack import log
def test_verbose():
- nt.assert_raises(TypeError, log.verbose, 'message', 'MAXIMUM')
+ with pytest.raises(TypeError):
+ log.verbose('message', 'MAXIMUM')
log.set_level(log.DEBUG)
# should probably hijack the print statement
log.verbose('notification')
@@ -20,4 +21,5 @@ def test_error(exit_mock):
def test_set_level_exception():
- nt.assert_raises(ValueError, log.set_level, 'NO_SUCH_LEVEL')
+ with pytest.raises(ValueError):
+ log.set_level('NO_SUCH_LEVEL')
--- a/test/test_memory_io.py
+++ b/test/test_memory_io.py
@@ -1,11 +1,6 @@
-#!/usr/bin/env nosetests
# -*- coding: utf-8 -*-
# vim :set ft=py:
-
-from nose import tools as nt
-
-
from bloscpack.abstract_io import (pack,
unpack,
)
@@ -42,7 +37,7 @@ def pack_unpack_mem(repeats, chunk_size=
print("Compressing")
in_fp.seek(0)
nchunks, chunk_size, last_chunk_size = \
- calculate_nchunks(in_fp_size, chunk_size)
+ calculate_nchunks(in_fp_size, chunk_size)
# let us play merry go round
source = PlainFPSource(in_fp)
sink = CompressedMemorySink()
@@ -50,7 +45,7 @@ def pack_unpack_mem(repeats, chunk_size=
source = CompressedMemorySource(sink)
sink = PlainMemorySink()
unpack(source, sink)
- nt.assert_equal(metadata, source.metadata)
+ assert metadata == source.metadata
source = PlainMemorySource(sink.chunks)
sink = CompressedFPSink(out_fp)
pack(source, sink, nchunks, chunk_size, last_chunk_size, metadata=metadata)
@@ -58,7 +53,7 @@ def pack_unpack_mem(repeats, chunk_size=
source = CompressedFPSource(out_fp)
sink = PlainFPSink(dcmp_fp)
unpack(source, sink)
- nt.assert_equal(metadata, source.metadata)
+ assert metadata == source.metadata
in_fp.seek(0)
dcmp_fp.seek(0)
cmp_fp(in_fp, dcmp_fp)
--- a/test/test_metacodecs.py
+++ b/test/test_metacodecs.py
@@ -1,11 +1,6 @@
-#!/usr/bin/env nosetests
# -*- coding: utf-8 -*-
# vim :set ft=py:
-
-import nose.tools as nt
-
-
from bloscpack.args import (DEFAULT_META_LEVEL,
)
from bloscpack.metacodecs import (CODECS,
@@ -14,8 +9,8 @@ from bloscpack.metacodecs import (CODECS
def test_codecs():
- nt.assert_equal(CODECS_AVAIL, ['None', 'zlib'])
+ assert CODECS_AVAIL == ['None', 'zlib']
random_str = b"4KzGCl7SxTsYLaerommsMWyZg1TXbV6wsR9Xk"
for i, c in enumerate(CODECS):
- nt.assert_equal(random_str, c.decompress(
- c.compress(random_str, DEFAULT_META_LEVEL)))
+ assert random_str == c.decompress(
+ c.compress(random_str, DEFAULT_META_LEVEL))
--- a/test/test_numpy_io.py
+++ b/test/test_numpy_io.py
@@ -1,12 +1,11 @@
-#!/usr/bin/env nosetests
# -*- coding: utf-8 -*-
# vim :set ft=py:
import numpy as np
import numpy.testing as npt
-import nose.tools as nt
import mock
+import pytest
from bloscpack.abstract_io import (pack,
@@ -77,7 +76,7 @@ def test_conv():
)
for input_, expected in test_data:
received = _conv(input_)
- yield nt.assert_equal, expected, received
+ assert expected == received
def test_unpack_exception():
@@ -87,14 +86,15 @@ def test_unpack_exception():
source = PlainFPSource(StringIO(a_str))
sink = CompressedFPSink(sio)
pack(source, sink, *calculate_nchunks(len(a_str)))
- nt.assert_raises(NotANumpyArray, unpack_ndarray_from_bytes, sio.getvalue())
+ with pytest.raises(NotANumpyArray):
+ unpack_ndarray_from_bytes, sio.getvalue()
def roundtrip_ndarray(ndarray):
- yield roundtrip_numpy_memory(ndarray)
- yield roundtrip_numpy_str(ndarray)
- yield roundtrip_numpy_file_pointers(ndarray)
- yield roundtrip_numpy_file(ndarray)
+ roundtrip_numpy_memory(ndarray)
+ roundtrip_numpy_str(ndarray)
+ roundtrip_numpy_file_pointers(ndarray)
+ roundtrip_numpy_file(ndarray)
def test_numpy_dtypes_shapes_order():
@@ -102,45 +102,45 @@ def test_numpy_dtypes_shapes_order():
# happy trail
a = np.arange(50)
for case in roundtrip_ndarray(a):
- yield case
+ case()
for dt in np.sctypes['int'] + np.sctypes['uint'] + np.sctypes['float']:
a = np.arange(64, dtype=dt)
for case in roundtrip_ndarray(a):
- yield case
+ case()
a = a.copy().reshape(8, 8)
for case in roundtrip_ndarray(a):
- yield case
+ case()
a = a.copy().reshape(4, 16)
for case in roundtrip_ndarray(a):
- yield case
+ case()
a = a.copy().reshape(4, 4, 4)
for case in roundtrip_ndarray(a):
- yield case
+ case()
a = np.asfortranarray(a)
- nt.assert_true(np.isfortran(a))
+ assert np.isfortran(a)
for case in roundtrip_ndarray(a):
- yield case
+ case()
# Fixed width string arrays
a = np.array(['abc', 'def', 'ghi'])
for case in roundtrip_ndarray(a):
- yield case
+ case()
# This actually get's cast to a fixed width string array
a = np.array([(1, 'abc'), (2, 'def'), (3, 'ghi')])
for case in roundtrip_ndarray(a):
- yield case
+ case()
## object arrays
#a = np.array([(1, 'abc'), (2, 'def'), (3, 'ghi')], dtype='object')
#for case in roundtrip_ndarray(a):
- # yield case
+ # case()
# structured array
a = np.array([('a', 1), ('b', 2)], dtype=[('a', 'S1'), ('b', 'f8')])
for case in roundtrip_ndarray(a):
- yield case
+ case()
# record array
a = np.array([(1, 'O', 1)],
@@ -148,7 +148,7 @@ def test_numpy_dtypes_shapes_order():
('symbol', '|S1'),
('index', 'int32')]))
for case in roundtrip_ndarray(a):
- yield case
+ case()
# and a nested record array
dt = [('year', '<i4'),
@@ -162,28 +162,30 @@ def test_numpy_dtypes_shapes_order():
('ARG', 12.)))],
dt)
for case in roundtrip_ndarray(a):
- yield case
+ case()
# what about endianess
a = np.arange(10, dtype='>i8')
for case in roundtrip_ndarray(a):
- yield case
+ case()
# empty array
a = np.array([], dtype='f8')
for case in roundtrip_ndarray(a):
- yield case
+ case()
def test_reject_object_array():
a = np.array([(1, 'abc'), (2, 'def'), (3, 'ghi')], dtype='object')
- nt.assert_raises(ObjectNumpyArrayRejection, roundtrip_numpy_memory, a)
+ with pytest.raises(ObjectNumpyArrayRejection):
+ roundtrip_numpy_memory(a)
def test_reject_nested_object_array():
a = np.array([(1, 'abc'), (2, 'def'), (3, 'ghi')],
- dtype=[('a', int), ('b', 'object')])
- nt.assert_raises(ObjectNumpyArrayRejection, roundtrip_numpy_memory, a)
+ dtype=[('a', int), ('b', 'object')])
+ with pytest.raises(ObjectNumpyArrayRejection):
+ roundtrip_numpy_memory(a)
def test_backwards_compat():
@@ -209,23 +211,22 @@ def test_backwards_compat():
c = pack_ndarray_to_bytes(a)
# should not raise a SyntaxError
d = unpack_ndarray_from_bytes(c)
- yield npt.assert_array_equal, a, d
+ npt.assert_array_equali(a, d)
def test_itemsize_chunk_size_mismatch():
a = np.arange(1000)
# typesize of the array is 8, let's glitch the typesize
for i in [1, 2, 3, 5, 6, 7, 9, 10, 11, 13, 14, 15]:
- yield nt.assert_raises, \
- ChunkSizeTypeSizeMismatch, \
- pack_ndarray_to_bytes, a, i
+ with pytest.raises(ChunkSizeTypeSizeMismatch):
+ pack_ndarray_to_bytes(a, i)
def test_larger_arrays():
for dt in ('uint64', 'int64', 'float64'):
a = np.arange(2e4, dtype=dt)
for case in roundtrip_ndarray(a):
- yield case
+ case()
def huge_arrays():
@@ -233,7 +234,7 @@ def huge_arrays():
# needs plenty of memory
a = np.arange(1e8, dtype=dt)
for case in roundtrip_ndarray(a):
- yield case
+ case()
def test_alternate_cname():
@@ -249,7 +250,7 @@ def test_alternate_cname():
sink = CompressedMemorySink()
pack_ndarray(array_, sink, blosc_args=blosc_args)
blosc_header = decode_blosc_header(sink.chunks[0])
- yield nt.assert_equal, blosc_header['flags'] >> 5, int_id
+ assert blosc_header['flags'] >> 5 == int_id
def test_typesize_is_set_correctly_with_default_blosc_args():
@@ -257,7 +258,7 @@ def test_typesize_is_set_correctly_with_
sink = CompressedMemorySink()
pack_ndarray(a, sink)
expected_args = BloscArgs(typesize=1)
- nt.assert_equal(expected_args, sink.blosc_args)
+ assert expected_args == sink.blosc_args
def test_typesize_is_set_correctly_with_custom_blosc_args():
@@ -266,11 +267,11 @@ def test_typesize_is_set_correctly_with_
input_args = BloscArgs(clevel=9)
pack_ndarray(a, sink, blosc_args=input_args)
expected_args = BloscArgs(clevel=9, typesize=1)
- nt.assert_equal(expected_args, sink.blosc_args)
+ assert expected_args == sink.blosc_args
def test_roundtrip_slice():
a = np.arange(100).reshape((10, 10))
s = a[3:5, 3:5]
for case in roundtrip_ndarray(s):
- yield case
+ case()
--- a/test/test_pretty.py
+++ b/test/test_pretty.py
@@ -1,9 +1,8 @@
-#!/usr/bin/env nosetests
# -*- coding: utf-8 -*-
# vim :set ft=py:
-import nose.tools as nt
+import pytest
from bloscpack.pretty import (pretty_size,
@@ -13,17 +12,18 @@ from bloscpack.pretty import (pretty_siz
def test_pretty_filesieze():
- nt.assert_equal('0B', pretty_size(0))
- nt.assert_equal('9.0T', pretty_size(9898989898879))
- nt.assert_equal('4.78G', pretty_size(5129898234))
- nt.assert_equal('12.3M', pretty_size(12898234))
- nt.assert_equal('966.7K', pretty_size(989898))
- nt.assert_equal('128.0B', pretty_size(128))
- nt.assert_equal(0, reverse_pretty('0B'))
- nt.assert_equal(8, reverse_pretty('8B'))
- nt.assert_equal(8192, reverse_pretty('8K'))
- nt.assert_equal(134217728, reverse_pretty('128M'))
- nt.assert_equal(2147483648, reverse_pretty('2G'))
- nt.assert_equal(2199023255552, reverse_pretty('2T'))
+ assert '0B' == pretty_size(0)
+ assert '9.0T' == pretty_size(9898989898879)
+ assert '4.78G' == pretty_size(5129898234)
+ assert '12.3M' == pretty_size(12898234)
+ assert '966.7K' == pretty_size(989898)
+ assert '128.0B' == pretty_size(128)
+ assert 0 == reverse_pretty('0B')
+ assert 8 == reverse_pretty('8B')
+ assert 8192 == reverse_pretty('8K')
+ assert 134217728 == reverse_pretty('128M')
+ assert 2147483648 == reverse_pretty('2G')
+ assert 2199023255552 == reverse_pretty('2T')
# can't handle Petabytes, yet
- nt.assert_raises(ValueError, reverse_pretty, '2P')
+ with pytest.raises(ValueError):
+ reverse_pretty('2P')
--- a/test/test_serializers.py
+++ b/test/test_serializers.py
@@ -2,9 +2,6 @@
# -*- coding: utf-8 -*-
# vim :set ft=py:
-import nose.tools as nt
-
-
try:
from collections import OrderedDict
except ImportError: # pragma: no cover
@@ -17,11 +14,11 @@ from bloscpack.serializers import (SERIA
def test_serializers():
- nt.assert_equal(SERIALIZERS_AVAIL, [b'JSON'])
+ assert SERIALIZERS_AVAIL == [b'JSON']
output = '{"dtype":"float64","shape":[1024],"others":[]}'
input_ = OrderedDict([('dtype', "float64"),
('shape', [1024]),
('others', [])])
for s in SERIALIZERS:
- yield nt.assert_equal, output, s.dumps(input_)
- yield nt.assert_equal, input_, s.loads(output)
+ assert output == s.dumps(input_)
+ assert input_ == s.loads(output)
--- a/bloscpack/file_io.py
+++ b/bloscpack/file_io.py
@@ -350,7 +350,7 @@ class PlainFPSource(PlainSource):
for num_bytes in ([self.chunk_size] *
(self.nchunks - 1) +
[self.last_chunk]):
- yield self.input_fp.read(num_bytes)
+ self.input_fp.read(num_bytes)
class CompressedFPSource(CompressedSource):
@@ -366,7 +366,7 @@ class CompressedFPSource(CompressedSourc
def __iter__(self):
for i in xrange(self.nchunks):
compressed, header, digest = _read_compressed_chunk_fp(self.input_fp, self.checksum_impl)
- yield compressed, digest
+ compressed(digest)
class PlainFPSink(PlainSink):
--- a/bloscpack/memory_io.py
+++ b/bloscpack/memory_io.py
@@ -19,7 +19,7 @@ class PlainMemorySource(PlainSource):
def __iter__(self):
for c in self.chunks:
- yield c
+ c()
class CompressedMemorySource(CompressedSource):
@@ -42,7 +42,7 @@ class CompressedMemorySource(CompressedS
for i in xrange(self.nchunks):
compressed = self.chunks[i]
digest = self.checksums[i] if self.checksum else None
- yield compressed, digest
+ compressed(digest)
class PlainMemorySink(PlainSink):
--- a/bloscpack/numpy_io.py
+++ b/bloscpack/numpy_io.py
@@ -90,9 +90,9 @@ class PlainNumpySource(PlainSource):
self.nitems = int(self.chunk_size / self.ndarray.itemsize)
offset = self.ptr
for i in xrange(self.nchunks - 1):
- yield offset, self.nitems
+ offset(self.nitems)
offset += self.chunk_size
- yield offset, int(self.last_chunk / self.ndarray.itemsize)
+ offset(int(self.last_chunk / self.ndarray.itemsize))
def _conv(descr):