Mock Version: 1.4.21 ENTER ['do_with_status'](['bash', '--login', '-c', '/usr/bin/rpmbuild -bs --target x86_64 --nodeps /builddir/build/SPECS/python-sure.spec'], chrootPath='/var/lib/mock/1094670-epel-8-x86_64-1573767056.168224/root'env={'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'en_US.UTF-8'}shell=Falselogger=timeout=0uid=1001gid=135user='mockbuild'nspawn_args=['--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.2iki4cds:/etc/resolv.conf']unshare_net=FalseprintOutput=True) Using nspawn with args ['--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.2iki4cds:/etc/resolv.conf'] Executing command: ['/usr/bin/systemd-nspawn', '-q', '-M', '8366b8cbccc64b58a4f7821b2a789f79', '-D', '/var/lib/mock/1094670-epel-8-x86_64-1573767056.168224/root', '-a', '--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.2iki4cds:/etc/resolv.conf', '--setenv=TERM=vt100', '--setenv=SHELL=/bin/bash', '--setenv=HOME=/builddir', '--setenv=HOSTNAME=mock', '--setenv=PATH=/usr/bin:/bin:/usr/sbin:/sbin', '--setenv=PROMPT_COMMAND=printf "\\033]0;\\007"', '--setenv=PS1= \\s-\\v\\$ ', '--setenv=LANG=en_US.UTF-8', '-u', 'mockbuild', 'bash', '--login', '-c', '/usr/bin/rpmbuild -bs --target x86_64 --nodeps /builddir/build/SPECS/python-sure.spec'] with env {'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'en_US.UTF-8'} and shell False Building target platforms: x86_64 Building for target x86_64 Wrote: /builddir/build/SRPMS/python-sure-1.4.11-3.el8.src.rpm Child return code was: 0 ENTER ['do_with_status'](['bash', '--login', '-c', '/usr/bin/rpmbuild -bb --target x86_64 --nodeps /builddir/build/SPECS/python-sure.spec'], chrootPath='/var/lib/mock/1094670-epel-8-x86_64-1573767056.168224/root'env={'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'en_US.UTF-8'}shell=Falselogger=timeout=0uid=1001gid=135user='mockbuild'nspawn_args=['--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.2iki4cds:/etc/resolv.conf']unshare_net=FalseprintOutput=True) Using nspawn with args ['--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.2iki4cds:/etc/resolv.conf'] Executing command: ['/usr/bin/systemd-nspawn', '-q', '-M', '81a04a8c3bec435c9a2a5eb8100d7ecb', '-D', '/var/lib/mock/1094670-epel-8-x86_64-1573767056.168224/root', '-a', '--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.2iki4cds:/etc/resolv.conf', '--setenv=TERM=vt100', '--setenv=SHELL=/bin/bash', '--setenv=HOME=/builddir', '--setenv=HOSTNAME=mock', '--setenv=PATH=/usr/bin:/bin:/usr/sbin:/sbin', '--setenv=PROMPT_COMMAND=printf "\\033]0;\\007"', '--setenv=PS1= \\s-\\v\\$ ', '--setenv=LANG=en_US.UTF-8', '-u', 'mockbuild', 'bash', '--login', '-c', '/usr/bin/rpmbuild -bb --target x86_64 --nodeps /builddir/build/SPECS/python-sure.spec'] with env {'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'en_US.UTF-8'} and shell False Building target platforms: x86_64 Building for target x86_64 Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.mQBmpP + umask 022 + cd /builddir/build/BUILD + cd /builddir/build/BUILD + rm -rf sure-1.4.11 + /usr/bin/gzip -dc /builddir/build/SOURCES/sure-1.4.11.tar.gz + /usr/bin/tar -xof - + STATUS=0 + '[' 0 -ne 0 ']' + cd sure-1.4.11 + /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w . + rm -rf sure.egg-info + exit 0 Executing(%build): /bin/sh -e /var/tmp/rpm-tmp.k9PJH2 + umask 022 + cd /builddir/build/BUILD + cd sure-1.4.11 + CFLAGS='-O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection' + LDFLAGS='-Wl,-z,relro -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld' + /usr/bin/python2 setup.py build '--executable=/usr/bin/python2 -s' running build running build_py creating build creating build/lib creating build/lib/sure copying sure/core.py -> build/lib/sure copying sure/__init__.py -> build/lib/sure copying sure/deprecated.py -> build/lib/sure copying sure/registry.py -> build/lib/sure copying sure/old.py -> build/lib/sure copying sure/terminal.py -> build/lib/sure copying sure/compat.py -> build/lib/sure copying sure/magic.py -> build/lib/sure running egg_info creating sure.egg-info writing requirements to sure.egg-info/requires.txt writing sure.egg-info/PKG-INFO writing top-level names to sure.egg-info/top_level.txt writing dependency_links to sure.egg-info/dependency_links.txt writing manifest file 'sure.egg-info/SOURCES.txt' reading manifest file 'sure.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' writing manifest file 'sure.egg-info/SOURCES.txt' + sleep 1 + CFLAGS='-O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection' + LDFLAGS='-Wl,-z,relro -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld' + /usr/libexec/platform-python setup.py build '--executable=/usr/libexec/platform-python -s' running build running build_py running egg_info writing sure.egg-info/PKG-INFO writing dependency_links to sure.egg-info/dependency_links.txt writing requirements to sure.egg-info/requires.txt writing top-level names to sure.egg-info/top_level.txt reading manifest file 'sure.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' writing manifest file 'sure.egg-info/SOURCES.txt' + sleep 1 + exit 0 Executing(%install): /bin/sh -e /var/tmp/rpm-tmp.OEAr6p + umask 022 + cd /builddir/build/BUILD + '[' /builddir/build/BUILDROOT/python-sure-1.4.11-3.el8.x86_64 '!=' / ']' + rm -rf /builddir/build/BUILDROOT/python-sure-1.4.11-3.el8.x86_64 ++ dirname /builddir/build/BUILDROOT/python-sure-1.4.11-3.el8.x86_64 + mkdir -p /builddir/build/BUILDROOT + mkdir /builddir/build/BUILDROOT/python-sure-1.4.11-3.el8.x86_64 + cd sure-1.4.11 + CFLAGS='-O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection' + LDFLAGS='-Wl,-z,relro -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld' + /usr/bin/python2 setup.py install -O1 --skip-build --root /builddir/build/BUILDROOT/python-sure-1.4.11-3.el8.x86_64 running install running install_lib creating /builddir/build/BUILDROOT/python-sure-1.4.11-3.el8.x86_64/usr creating /builddir/build/BUILDROOT/python-sure-1.4.11-3.el8.x86_64/usr/lib creating /builddir/build/BUILDROOT/python-sure-1.4.11-3.el8.x86_64/usr/lib/python2.7 creating /builddir/build/BUILDROOT/python-sure-1.4.11-3.el8.x86_64/usr/lib/python2.7/site-packages creating /builddir/build/BUILDROOT/python-sure-1.4.11-3.el8.x86_64/usr/lib/python2.7/site-packages/sure copying build/lib/sure/magic.py -> /builddir/build/BUILDROOT/python-sure-1.4.11-3.el8.x86_64/usr/lib/python2.7/site-packages/sure copying build/lib/sure/compat.py -> /builddir/build/BUILDROOT/python-sure-1.4.11-3.el8.x86_64/usr/lib/python2.7/site-packages/sure copying build/lib/sure/terminal.py -> /builddir/build/BUILDROOT/python-sure-1.4.11-3.el8.x86_64/usr/lib/python2.7/site-packages/sure copying build/lib/sure/old.py -> /builddir/build/BUILDROOT/python-sure-1.4.11-3.el8.x86_64/usr/lib/python2.7/site-packages/sure copying build/lib/sure/registry.py -> /builddir/build/BUILDROOT/python-sure-1.4.11-3.el8.x86_64/usr/lib/python2.7/site-packages/sure copying build/lib/sure/deprecated.py -> /builddir/build/BUILDROOT/python-sure-1.4.11-3.el8.x86_64/usr/lib/python2.7/site-packages/sure copying build/lib/sure/__init__.py -> /builddir/build/BUILDROOT/python-sure-1.4.11-3.el8.x86_64/usr/lib/python2.7/site-packages/sure copying build/lib/sure/core.py -> /builddir/build/BUILDROOT/python-sure-1.4.11-3.el8.x86_64/usr/lib/python2.7/site-packages/sure byte-compiling /builddir/build/BUILDROOT/python-sure-1.4.11-3.el8.x86_64/usr/lib/python2.7/site-packages/sure/magic.py to magic.pyc byte-compiling /builddir/build/BUILDROOT/python-sure-1.4.11-3.el8.x86_64/usr/lib/python2.7/site-packages/sure/compat.py to compat.pyc byte-compiling /builddir/build/BUILDROOT/python-sure-1.4.11-3.el8.x86_64/usr/lib/python2.7/site-packages/sure/terminal.py to terminal.pyc byte-compiling /builddir/build/BUILDROOT/python-sure-1.4.11-3.el8.x86_64/usr/lib/python2.7/site-packages/sure/old.py to old.pyc byte-compiling /builddir/build/BUILDROOT/python-sure-1.4.11-3.el8.x86_64/usr/lib/python2.7/site-packages/sure/registry.py to registry.pyc byte-compiling /builddir/build/BUILDROOT/python-sure-1.4.11-3.el8.x86_64/usr/lib/python2.7/site-packages/sure/deprecated.py to deprecated.pyc byte-compiling /builddir/build/BUILDROOT/python-sure-1.4.11-3.el8.x86_64/usr/lib/python2.7/site-packages/sure/__init__.py to __init__.pyc byte-compiling /builddir/build/BUILDROOT/python-sure-1.4.11-3.el8.x86_64/usr/lib/python2.7/site-packages/sure/core.py to core.pyc writing byte-compilation script '/tmp/tmpQ1ioxn.py' /usr/bin/python2 -O /tmp/tmpQ1ioxn.py removing /tmp/tmpQ1ioxn.py running install_egg_info running egg_info writing requirements to sure.egg-info/requires.txt writing sure.egg-info/PKG-INFO writing top-level names to sure.egg-info/top_level.txt writing dependency_links to sure.egg-info/dependency_links.txt reading manifest file 'sure.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' writing manifest file 'sure.egg-info/SOURCES.txt' Copying sure.egg-info to /builddir/build/BUILDROOT/python-sure-1.4.11-3.el8.x86_64/usr/lib/python2.7/site-packages/sure-1.4.11-py2.7.egg-info running install_scripts + CFLAGS='-O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection' + LDFLAGS='-Wl,-z,relro -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld' + /usr/libexec/platform-python setup.py install -O1 --skip-build --root /builddir/build/BUILDROOT/python-sure-1.4.11-3.el8.x86_64 running install running install_lib creating /builddir/build/BUILDROOT/python-sure-1.4.11-3.el8.x86_64/usr/lib/python3.6 creating /builddir/build/BUILDROOT/python-sure-1.4.11-3.el8.x86_64/usr/lib/python3.6/site-packages creating /builddir/build/BUILDROOT/python-sure-1.4.11-3.el8.x86_64/usr/lib/python3.6/site-packages/sure copying build/lib/sure/magic.py -> /builddir/build/BUILDROOT/python-sure-1.4.11-3.el8.x86_64/usr/lib/python3.6/site-packages/sure copying build/lib/sure/compat.py -> /builddir/build/BUILDROOT/python-sure-1.4.11-3.el8.x86_64/usr/lib/python3.6/site-packages/sure copying build/lib/sure/terminal.py -> /builddir/build/BUILDROOT/python-sure-1.4.11-3.el8.x86_64/usr/lib/python3.6/site-packages/sure copying build/lib/sure/old.py -> /builddir/build/BUILDROOT/python-sure-1.4.11-3.el8.x86_64/usr/lib/python3.6/site-packages/sure copying build/lib/sure/registry.py -> /builddir/build/BUILDROOT/python-sure-1.4.11-3.el8.x86_64/usr/lib/python3.6/site-packages/sure copying build/lib/sure/deprecated.py -> /builddir/build/BUILDROOT/python-sure-1.4.11-3.el8.x86_64/usr/lib/python3.6/site-packages/sure copying build/lib/sure/__init__.py -> /builddir/build/BUILDROOT/python-sure-1.4.11-3.el8.x86_64/usr/lib/python3.6/site-packages/sure copying build/lib/sure/core.py -> /builddir/build/BUILDROOT/python-sure-1.4.11-3.el8.x86_64/usr/lib/python3.6/site-packages/sure byte-compiling /builddir/build/BUILDROOT/python-sure-1.4.11-3.el8.x86_64/usr/lib/python3.6/site-packages/sure/magic.py to magic.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/python-sure-1.4.11-3.el8.x86_64/usr/lib/python3.6/site-packages/sure/compat.py to compat.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/python-sure-1.4.11-3.el8.x86_64/usr/lib/python3.6/site-packages/sure/terminal.py to terminal.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/python-sure-1.4.11-3.el8.x86_64/usr/lib/python3.6/site-packages/sure/old.py to old.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/python-sure-1.4.11-3.el8.x86_64/usr/lib/python3.6/site-packages/sure/registry.py to registry.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/python-sure-1.4.11-3.el8.x86_64/usr/lib/python3.6/site-packages/sure/deprecated.py to deprecated.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/python-sure-1.4.11-3.el8.x86_64/usr/lib/python3.6/site-packages/sure/__init__.py to __init__.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/python-sure-1.4.11-3.el8.x86_64/usr/lib/python3.6/site-packages/sure/core.py to core.cpython-36.pyc writing byte-compilation script '/tmp/tmp7z98in22.py' /usr/libexec/platform-python /tmp/tmp7z98in22.py removing /tmp/tmp7z98in22.py running install_egg_info running egg_info writing sure.egg-info/PKG-INFO writing dependency_links to sure.egg-info/dependency_links.txt writing requirements to sure.egg-info/requires.txt writing top-level names to sure.egg-info/top_level.txt reading manifest file 'sure.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' writing manifest file 'sure.egg-info/SOURCES.txt' Copying sure.egg-info to /builddir/build/BUILDROOT/python-sure-1.4.11-3.el8.x86_64/usr/lib/python3.6/site-packages/sure-1.4.11-py3.6.egg-info running install_scripts + /usr/lib/rpm/find-debuginfo.sh -j2 --strict-build-id -m -i --build-id-seed 1.4.11-3.el8 --unique-debug-suffix -1.4.11-3.el8.x86_64 --unique-debug-src-base python-sure-1.4.11-3.el8.x86_64 --run-dwz --dwz-low-mem-die-limit 10000000 --dwz-max-die-limit 110000000 -S debugsourcefiles.list /builddir/build/BUILD/sure-1.4.11 find: 'debug': No such file or directory + /usr/lib/rpm/check-buildroot + /usr/lib/rpm/redhat/brp-ldconfig /sbin/ldconfig: Warning: ignoring configuration file that cannot be opened: /etc/ld.so.conf: No such file or directory + /usr/lib/rpm/brp-compress + /usr/lib/rpm/brp-strip-static-archive /usr/bin/strip + /usr/lib/rpm/brp-python-bytecompile 1 Bytecompiling .py files below /builddir/build/BUILDROOT/python-sure-1.4.11-3.el8.x86_64/usr/lib/python3.6 using /usr/libexec/platform-python Bytecompiling .py files below /builddir/build/BUILDROOT/python-sure-1.4.11-3.el8.x86_64/usr/lib/python2.7 using /usr/bin/python2.7 + /usr/lib/rpm/brp-python-hardlink + PYTHON3=/usr/libexec/platform-python + /usr/lib/rpm/redhat/brp-mangle-shebangs Executing(%check): /bin/sh -e /var/tmp/rpm-tmp.mUdByT + umask 022 + cd /builddir/build/BUILD + cd sure-1.4.11 + /usr/bin/python2 -m nose --verbosity 2 issues.test_issue_104.test_issue_104 ... ok Correctly handle {} characters in matcher string ... ok Test for unicode error when comparing bytes ... ok Test for GitHub Issue #139 ... ok Allow monkey-patching of methods already implemented by sure. ... ok issues.test_issue_48.test_issue_48 ... ok this, it, these and those are all synonyms ... ok this(4).should.equal(2 + 2) ... ok this(1).should.be.within(0, 2) ... ok this(True).should.be.ok ... ok this(False).should.be.false ... ok this(None).should.be.none ... ok this(None).should.be.none ... ok this(function).should.be.callable ... ok this(iterable).should.be.empty ... ok this(iterable).should.have.length_of(N) ... ok this(X).should.be.greater_than(Y) ... ok this(X).should.be.greater_than_or_equal_to(Y) ... ok this(X).should.be.lower_than(Y) ... ok this(X).should.be.lower_than_or_equal_to(Y) ... ok this(X).should.be(X) when X is a reference to the same object ... ok this(instance).should.have.property(property_name) ... ok this(instance).should.have.property(property_name).being or .with_value should allow chain up ... ok this(dictionary).should.have.key(key_name) ... ok this(dictionary).should.have.key(key_name).being or .with_value should allow chain up ... ok this(' aa ... ok test usage of repr() inside expect(complex1).to.equal(complex2) ... ok test usage of repr() inside expect(complex1).to.equal(complex2) ... ok expect('some string').to.match(r'\w{4} \w{6}') matches regex ... ok expect('some string').to.contain('tri') ... ok test_assertion_builder.test_catching_exceptions ... ok test_assertion_builder.test_catching_exceptions_with_params ... ok test_assertion_builder.test_success_with_params ... ok test_assertion_builder.test_success_with_params_exception ... ok test_assertion_builder.test_throw_matching_regex ... ok 'something'.should_not.be.different('SOMETHING'.lower()) ... ok .equal() Should convert mock._CallList instances to lists ... ok .equal(what, epsilon=XXX) should check for equality with an epsilon for float values ... ok .equal() with dict containing tuples as keys should work ... ok .equal(OrderedDict) should check if two ordered dicts are the same ... ok test_assertion_builder.test_equals_anything ... ok test_assertion_builder.test_equals_crosstype ... ok anything that inherits from object should be patched ... ok do not patch already existing class attributes with same name ... ok do not patch already existing instance attributes with same name ... ok dir(obj) should conceal names of methods that were grafted by sure ... ok test extending sure with a custom assertion. ... ok test extending sure with a custom chain method. ... ok test extending sure with a custom chain property. ... ok Test ensure simple assertion ... ok Test that ensure only captures AssertionErrors ... ok sure.with_context() runs setup before the function itself ... ok sure.that_with_context() when no context is given it fails ... ok sure.that_with_context() in a failing test ... ok sure.with_context() runs teardown before the function itself ... ok that() is_a(object) ... ok that() equals(string) ... ok that() differs(object) ... ok that() has(object) ... ok that().at(object).equals(object) ... ok that() len_is(number) ... ok that() len_greater_than(number) ... ok that() len_greater_than(number) raise AssertionError ... ok that() len_greater_than_or_equals(number) ... ok that() len_greater_than_or_equals(number) raise AssertionError ... ok that() len_lower_than(number) ... ok that() len_lower_than(number) raise AssertionError ... ok that() len_lower_than_or_equals(number) ... ok that() len_lower_than_or_equals(number) raise AssertionError ... ok that(iterable).the_attribute('name').equals('value') ... ok that(iterable, within_range=(1, 2)).the_attribute('name').equals('value') ... ok that(iterable).every_one_is('value') ... ok that(iterable).in_each('').equals('value') ... ok that(callable, with_args=[arg1], and_kwargs={'arg2': 'value'}).raises(SomeException) ... ok that('String\n with BREAKLINE').looks_like('string with breakline') ... ok that(callable(RuntimeError)).raises(TypeError) ... ok that(callable, with_args=['foo']).raises(FooError) ... ok that(callable).doesnt_raise(FooError) and does_not_raise ... ok that('foobar').contains('foo') ... ok that('foobar').does_not_contain('123'), .doesnt_contain ... ok that('foobar').contains(None) ... ok that(None).contains('bungalow') ... ok that(some_iterable).is_empty and that(something).are_empty ... ok that(something_not_iterable).is_empty and that(something_not_iterable).are_empty raises ... ok that(something_iterable).matches(another_iterable) ... ok within(five=miliseconds) will pass ... ok within(five=miliseconds) will fail ... ok test_old_api.test_word_to_number ... ok test_old_api.test_word_to_number_fail ... ok testing microseconds convertion ... ok testing miliseconds convertion ... ok testing seconds convertion ... ok testing minutes convertion ... ok within(five=miliseconds) gives utc parameter ... ok that.is_a_matcher should absorb callables to be used as matcher ... ok sure.with_context() accepts a list of callbacks for setup ... ok sure.with_context() runs teardown before the function itself ... ok @scenario aliases @that_with_context for setup and teardown ... ok the actions always returns the context ... ok the actions should be able to declare the variables they provide ... ok it fails when an action doesn't fulfill its agreements ... ok it fails when an action depends on some attribute that is not provided by any other previous action ... ok it fails when an action depends on some attribute that is being provided by other actions ... ok that(dict(name='foobar')).contains('name') ... ok that(['foobar', '123']).contains('foobar') ... ok that(set(['foobar', '123']).contains('foobar') ... ok that(('foobar', '123')).contains('foobar') ... ok VariablesBag() provides a meaningful error when attr does not exist ... ok the actions should be able to declare the variables they provide ... ok that() deep_equals(dict) succeeding on level 1 ... ok that() deep_equals(dict) failing on level 1 ... ok that(list) deep_equals(list) succeeding on level 1 ... ok that(list) deep_equals(list) failing on level 1 ... ok that(list) deep_equals(list) failing by length (len(X) > len(Y)) ... ok that(list) deep_equals(list) failing by length (len(Y) > len(X)) ... ok that(X) deep_equals(Y) fails when Y is missing a key that X has ... ok that(X) deep_equals(Y) fails with basic vc complex type ... ok that(X) deep_equals(Y) fails with complex vc basic type ... ok that(tuple) deep_equals(tuple) succeeding on level 1 ... ok that(tuple) deep_equals(tuple) failing on level 1 ... ok that(tuple) deep_equals(tuple) failing by length (len(X) > len(Y)) ... ok that(tuple) deep_equals(tuple) failing by length (len(Y) > len(X)) ... ok that() deep_equals(dict) falling back to generic comparator ... ok that() deep_equals(dict) with generic comparator failing ... ok that() deep_equals(dict) with generic comparator failing ... ok that() deep_equals(dict) succeeding on level 2 ... ok that() deep_equals(dict) succeeding on level 2 ... ok that() deep_equals(dict) failing on level 2 ... ok that() deep_equals(dict) failing on level 3 ... ok that() deep_equals(dict) failing on level 3 when missing a key ... ok that() deep_equals(dict) failing on level 3 when has an extra key ... ok that() deep_equals(dict) failing on level 3 when has an extra key ... ok that(list) deep_equals(list) failing by length (len(X) > len(Y)) ... ok that(list) deep_equals(list) failing by length (len(Y) > len(X)) ... ok @sure.work_in_progress should set an internal flag into `sure` ... ok that() equals(string) when it's supposed to fail ... ok that(callable).raises('message') should compare the message ... ok test_old_api.test_deep_equals_weird ... ok safe_repr should display a simple list ... ok safe_repr should return a sorted repr ... ok dicts nested inside values should also get sorted ... ok dicts with unicode should work properly ... ok ---------------------------------------------------------------------- Ran 142 tests in 0.907s OK + /usr/libexec/platform-python -m nose --verbosity 2 issues.test_issue_104.test_issue_104 ... ok Correctly handle {} characters in matcher string ... ok Test for unicode error when comparing bytes ... ok Test for GitHub Issue #139 ... ok Allow monkey-patching of methods already implemented by sure. ... ok issues.test_issue_48.test_issue_48 ... ok this, it, these and those are all synonyms ... ok this(4).should.equal(2 + 2) ... ok this(1).should.be.within(0, 2) ... ok this(True).should.be.ok ... ok this(False).should.be.false ... ok this(None).should.be.none ... ok this(None).should.be.none ... ok this(function).should.be.callable ... ok this(iterable).should.be.empty ... ok this(iterable).should.have.length_of(N) ... ok this(X).should.be.greater_than(Y) ... ok this(X).should.be.greater_than_or_equal_to(Y) ... ok this(X).should.be.lower_than(Y) ... ok this(X).should.be.lower_than_or_equal_to(Y) ... ok this(X).should.be(X) when X is a reference to the same object ... ok this(instance).should.have.property(property_name) ... ok this(instance).should.have.property(property_name).being or .with_value should allow chain up ... ok this(dictionary).should.have.key(key_name) ... ok this(dictionary).should.have.key(key_name).being or .with_value should allow chain up ... ok this(' aa ... ok test usage of repr() inside expect(complex1).to.equal(complex2) ... ok test usage of repr() inside expect(complex1).to.equal(complex2) ... ok expect('some string').to.match(r'\w{4} \w{6}') matches regex ... ok expect('some string').to.contain('tri') ... ok test_assertion_builder.test_catching_exceptions ... ok test_assertion_builder.test_catching_exceptions_with_params ... ok test_assertion_builder.test_success_with_params ... ok test_assertion_builder.test_success_with_params_exception ... ok test_assertion_builder.test_throw_matching_regex ... ok 'something'.should_not.be.different('SOMETHING'.lower()) ... ok .equal() Should convert mock._CallList instances to lists ... ok .equal(what, epsilon=XXX) should check for equality with an epsilon for float values ... ok .equal() with dict containing tuples as keys should work ... ok .equal(OrderedDict) should check if two ordered dicts are the same ... ok test_assertion_builder.test_equals_anything ... ok test_assertion_builder.test_equals_crosstype ... ok anything that inherits from object should be patched ... ok do not patch already existing class attributes with same name ... ok do not patch already existing instance attributes with same name ... ok dir(obj) should conceal names of methods that were grafted by sure ... ok test extending sure with a custom assertion. ... ok test extending sure with a custom chain method. ... ok test extending sure with a custom chain property. ... ok Test ensure simple assertion ... ok Test that ensure only captures AssertionErrors ... ok sure.with_context() runs setup before the function itself ... ok sure.that_with_context() when no context is given it fails ... ok sure.that_with_context() in a failing test ... ok sure.with_context() runs teardown before the function itself ... ok that() is_a(object) ... ok that() equals(string) ... ok that() differs(object) ... ok that() has(object) ... ok that().at(object).equals(object) ... ok that() len_is(number) ... ok that() len_greater_than(number) ... ok that() len_greater_than(number) raise AssertionError ... ok that() len_greater_than_or_equals(number) ... ok that() len_greater_than_or_equals(number) raise AssertionError ... ok that() len_lower_than(number) ... ok that() len_lower_than(number) raise AssertionError ... ok that() len_lower_than_or_equals(number) ... ok that() len_lower_than_or_equals(number) raise AssertionError ... ok that(iterable).the_attribute('name').equals('value') ... ok that(iterable, within_range=(1, 2)).the_attribute('name').equals('value') ... ok that(iterable).every_one_is('value') ... ok that(iterable).in_each('').equals('value') ... ok that(callable, with_args=[arg1], and_kwargs={'arg2': 'value'}).raises(SomeException) ... ok that('String\n with BREAKLINE').looks_like('string with breakline') ... ok that(callable(RuntimeError)).raises(TypeError) ... ok that(callable, with_args=['foo']).raises(FooError) ... ok that(callable).doesnt_raise(FooError) and does_not_raise ... ok that('foobar').contains('foo') ... ok that('foobar').does_not_contain('123'), .doesnt_contain ... ok that('foobar').contains(None) ... ok that(None).contains('bungalow') ... ok that(some_iterable).is_empty and that(something).are_empty ... ok that(something_not_iterable).is_empty and that(something_not_iterable).are_empty raises ... ok that(something_iterable).matches(another_iterable) ... ok within(five=miliseconds) will pass ... ok within(five=miliseconds) will fail ... ok test_old_api.test_word_to_number ... ok test_old_api.test_word_to_number_fail ... ok testing microseconds convertion ... ok testing miliseconds convertion ... ok testing seconds convertion ... ok testing minutes convertion ... ok within(five=miliseconds) gives utc parameter ... ok that.is_a_matcher should absorb callables to be used as matcher ... ok sure.with_context() accepts a list of callbacks for setup ... ok sure.with_context() runs teardown before the function itself ... ok @scenario aliases @that_with_context for setup and teardown ... ok the actions always returns the context ... ok the actions should be able to declare the variables they provide ... ok it fails when an action doesn't fulfill its agreements ... ok it fails when an action depends on some attribute that is not provided by any other previous action ... ok it fails when an action depends on some attribute that is being provided by other actions ... ok that(dict(name='foobar')).contains('name') ... ok that(['foobar', '123']).contains('foobar') ... ok that(set(['foobar', '123']).contains('foobar') ... ok that(('foobar', '123')).contains('foobar') ... ok VariablesBag() provides a meaningful error when attr does not exist ... ok the actions should be able to declare the variables they provide ... ok that() deep_equals(dict) succeeding on level 1 ... ok that() deep_equals(dict) failing on level 1 ... ok that(list) deep_equals(list) succeeding on level 1 ... ok that(list) deep_equals(list) failing on level 1 ... ok that(list) deep_equals(list) failing by length (len(X) > len(Y)) ... ok that(list) deep_equals(list) failing by length (len(Y) > len(X)) ... ok that(X) deep_equals(Y) fails when Y is missing a key that X has ... ok that(X) deep_equals(Y) fails with basic vc complex type ... ok that(X) deep_equals(Y) fails with complex vc basic type ... ok that(tuple) deep_equals(tuple) succeeding on level 1 ... ok that(tuple) deep_equals(tuple) failing on level 1 ... ok that(tuple) deep_equals(tuple) failing by length (len(X) > len(Y)) ... ok that(tuple) deep_equals(tuple) failing by length (len(Y) > len(X)) ... ok that() deep_equals(dict) falling back to generic comparator ... ok that() deep_equals(dict) with generic comparator failing ... ok that() deep_equals(dict) with generic comparator failing ... ok that() deep_equals(dict) succeeding on level 2 ... ok that() deep_equals(dict) succeeding on level 2 ... ok that() deep_equals(dict) failing on level 2 ... ok that() deep_equals(dict) failing on level 3 ... ok that() deep_equals(dict) failing on level 3 when missing a key ... ok that() deep_equals(dict) failing on level 3 when has an extra key ... ok that() deep_equals(dict) failing on level 3 when has an extra key ... ok that(list) deep_equals(list) failing by length (len(X) > len(Y)) ... ok that(list) deep_equals(list) failing by length (len(Y) > len(X)) ... ok @sure.work_in_progress should set an internal flag into `sure` ... ok that() equals(string) when it's supposed to fail ... ok that(callable).raises('message') should compare the message ... ok test_old_api.test_deep_equals_weird ... ok safe_repr should display a simple list ... ok safe_repr should return a sorted repr ... ok dicts nested inside values should also get sorted ... ok dicts with unicode should work properly ... ok ---------------------------------------------------------------------- Ran 142 tests in 0.903s OK + exit 0 Processing files: python2-sure-1.4.11-3.el8.noarch Executing(%doc): /bin/sh -e /var/tmp/rpm-tmp.8Pgt4v + umask 022 + cd /builddir/build/BUILD + cd sure-1.4.11 + DOCDIR=/builddir/build/BUILDROOT/python-sure-1.4.11-3.el8.x86_64/usr/share/doc/python2-sure + export LC_ALL=C + LC_ALL=C + export DOCDIR + /usr/bin/mkdir -p /builddir/build/BUILDROOT/python-sure-1.4.11-3.el8.x86_64/usr/share/doc/python2-sure + cp -pr COPYING /builddir/build/BUILDROOT/python-sure-1.4.11-3.el8.x86_64/usr/share/doc/python2-sure + exit 0 Provides: python2-sure = 1.4.11-3.el8 python2.7dist(sure) = 1.4.11 python2dist(sure) = 1.4.11 Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PartialHardlinkSets) <= 4.0.4-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 Requires: python(abi) = 2.7 Processing files: python3-sure-1.4.11-3.el8.noarch Executing(%doc): /bin/sh -e /var/tmp/rpm-tmp.AESWaj + umask 022 + cd /builddir/build/BUILD + cd sure-1.4.11 + DOCDIR=/builddir/build/BUILDROOT/python-sure-1.4.11-3.el8.x86_64/usr/share/doc/python3-sure + export LC_ALL=C + LC_ALL=C + export DOCDIR + /usr/bin/mkdir -p /builddir/build/BUILDROOT/python-sure-1.4.11-3.el8.x86_64/usr/share/doc/python3-sure + cp -pr COPYING /builddir/build/BUILDROOT/python-sure-1.4.11-3.el8.x86_64/usr/share/doc/python3-sure + exit 0 Provides: python3-sure = 1.4.11-3.el8 python3.6dist(sure) = 1.4.11 python3dist(sure) = 1.4.11 Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PartialHardlinkSets) <= 4.0.4-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 Requires: python(abi) = 3.6 Checking for unpackaged file(s): /usr/lib/rpm/check-files /builddir/build/BUILDROOT/python-sure-1.4.11-3.el8.x86_64 Wrote: /builddir/build/RPMS/python2-sure-1.4.11-3.el8.noarch.rpm Wrote: /builddir/build/RPMS/python3-sure-1.4.11-3.el8.noarch.rpm Executing(%clean): /bin/sh -e /var/tmp/rpm-tmp.KTbYzh + umask 022 + cd /builddir/build/BUILD + cd sure-1.4.11 + /usr/bin/rm -rf /builddir/build/BUILDROOT/python-sure-1.4.11-3.el8.x86_64 + exit 0 Child return code was: 0