Sourcing python-remove-tests-dir-hook Sourcing python-catch-conflicts-hook.sh Sourcing python-remove-bin-bytecode-hook.sh Sourcing setuptools-build-hook Using setuptoolsBuildPhase Using setuptoolsShellHook Sourcing pip-install-hook Using pipInstallPhase Sourcing python-imports-check-hook.sh Using pythonImportsCheckPhase Sourcing python-namespaces-hook Sourcing setuptools-check-hook Using setuptoolsCheckPhase @nix { "action": "setPhase", "phase": "unpackPhase" } unpacking sources unpacking source archive /nix/store/mwbn64y6qdhm1n5dqgad4jjzg1vjf512-sure-2.0.0.tar.gz source root is sure-2.0.0 setting SOURCE_DATE_EPOCH to timestamp 1624315090 of file sure-2.0.0/sure.egg-info/top_level.txt @nix { "action": "setPhase", "phase": "patchPhase" } patching sources @nix { "action": "setPhase", "phase": "configurePhase" } configuring no configure script, doing nothing @nix { "action": "setPhase", "phase": "buildPhase" } building Executing setuptoolsBuildPhase running bdist_wheel running build running build_py creating build creating build/lib creating build/lib/sure copying sure/magic.py -> build/lib/sure copying sure/__init__.py -> build/lib/sure copying sure/version.py -> build/lib/sure copying sure/cli.py -> build/lib/sure copying sure/old.py -> build/lib/sure copying sure/compat.py -> build/lib/sure copying sure/terminal.py -> build/lib/sure copying sure/deprecated.py -> build/lib/sure copying sure/stubs.py -> build/lib/sure copying sure/registry.py -> build/lib/sure copying sure/core.py -> build/lib/sure running egg_info writing sure.egg-info/PKG-INFO writing dependency_links to sure.egg-info/dependency_links.txt writing entry points to sure.egg-info/entry_points.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' adding license file 'COPYING' writing manifest file 'sure.egg-info/SOURCES.txt' installing to build/bdist.linux-x86_64/wheel running install running install_lib creating build/bdist.linux-x86_64 creating build/bdist.linux-x86_64/wheel creating build/bdist.linux-x86_64/wheel/sure copying build/lib/sure/magic.py -> build/bdist.linux-x86_64/wheel/sure copying build/lib/sure/__init__.py -> build/bdist.linux-x86_64/wheel/sure copying build/lib/sure/version.py -> build/bdist.linux-x86_64/wheel/sure copying build/lib/sure/cli.py -> build/bdist.linux-x86_64/wheel/sure copying build/lib/sure/old.py -> build/bdist.linux-x86_64/wheel/sure copying build/lib/sure/compat.py -> build/bdist.linux-x86_64/wheel/sure copying build/lib/sure/terminal.py -> build/bdist.linux-x86_64/wheel/sure copying build/lib/sure/deprecated.py -> build/bdist.linux-x86_64/wheel/sure copying build/lib/sure/stubs.py -> build/bdist.linux-x86_64/wheel/sure copying build/lib/sure/registry.py -> build/bdist.linux-x86_64/wheel/sure copying build/lib/sure/core.py -> build/bdist.linux-x86_64/wheel/sure running install_egg_info Copying sure.egg-info to build/bdist.linux-x86_64/wheel/sure-2.0.0-py3.7.egg-info running install_scripts adding license file "COPYING" (matched pattern "COPYING*") creating build/bdist.linux-x86_64/wheel/sure-2.0.0.dist-info/WHEEL creating 'dist/sure-2.0.0-py3-none-any.whl' and adding 'build/bdist.linux-x86_64/wheel' to it adding 'sure/__init__.py' adding 'sure/cli.py' adding 'sure/compat.py' adding 'sure/core.py' adding 'sure/deprecated.py' adding 'sure/magic.py' adding 'sure/old.py' adding 'sure/registry.py' adding 'sure/stubs.py' adding 'sure/terminal.py' adding 'sure/version.py' adding 'sure-2.0.0.dist-info/COPYING' adding 'sure-2.0.0.dist-info/METADATA' adding 'sure-2.0.0.dist-info/WHEEL' adding 'sure-2.0.0.dist-info/entry_points.txt' adding 'sure-2.0.0.dist-info/top_level.txt' adding 'sure-2.0.0.dist-info/RECORD' removing build/bdist.linux-x86_64/wheel Finished executing setuptoolsBuildPhase @nix { "action": "setPhase", "phase": "installPhase" } installing Executing pipInstallPhase /build/sure-2.0.0/dist /build/sure-2.0.0 Processing ./sure-2.0.0-py3-none-any.whl Requirement already satisfied: six in /nix/store/msvg5gfhdizybcv5cv3wjma5fsmc09ck-python3.7-six-1.16.0/lib/python3.7/site-packages (from sure==2.0.0) (1.16.0) Requirement already satisfied: mock in /nix/store/dna2wbdvq80g9l7ml742gya2yl3a3bg8-python3.7-mock-4.0.3/lib/python3.7/site-packages (from sure==2.0.0) (4.0.3) Installing collected packages: sure Successfully installed sure-2.0.0 /build/sure-2.0.0 Finished executing pipInstallPhase @nix { "action": "setPhase", "phase": "fixupPhase" } post-installation fixup shrinking RPATHs of ELF executables and libraries in /nix/store/9fnmnasf981zhbma496l0glr4y42x863-python3.7-sure-2.0.0 strip is /nix/store/fp2h123793bxln4cjxy0mz08sf4nx2m3-binutils-2.35.1/bin/strip stripping (with command strip and flags -S) in /nix/store/9fnmnasf981zhbma496l0glr4y42x863-python3.7-sure-2.0.0/lib /nix/store/9fnmnasf981zhbma496l0glr4y42x863-python3.7-sure-2.0.0/bin patching script interpreter paths in /nix/store/9fnmnasf981zhbma496l0glr4y42x863-python3.7-sure-2.0.0 checking for references to /build/ in /nix/store/9fnmnasf981zhbma496l0glr4y42x863-python3.7-sure-2.0.0... Rewriting #!/nix/store/j2mj027fyzdhhppa8b99b5j3dvqrwxbg-python3-3.7.11/bin/python3.7 to #!/nix/store/j2mj027fyzdhhppa8b99b5j3dvqrwxbg-python3-3.7.11 wrapping `/nix/store/9fnmnasf981zhbma496l0glr4y42x863-python3.7-sure-2.0.0/bin/sure'... Executing pythonRemoveTestsDir Finished executing pythonRemoveTestsDir @nix { "action": "setPhase", "phase": "installCheckPhase" } running install tests no Makefile or custom installCheckPhase, doing nothing @nix { "action": "setPhase", "phase": "pythonCatchConflictsPhase" } pythonCatchConflictsPhase @nix { "action": "setPhase", "phase": "pythonRemoveBinBytecodePhase" } pythonRemoveBinBytecodePhase @nix { "action": "setPhase", "phase": "pythonImportsCheckPhase" } pythonImportsCheckPhase Executing pythonImportsCheckPhase @nix { "action": "setPhase", "phase": "setuptoolsCheckPhase" } setuptoolsCheckPhase Executing setuptoolsCheckPhase running test WARNING: Testing via this command is deprecated and will be removed in a future version. Users looking for a generic test entry point independent of test runner are encouraged to use tox. running egg_info writing sure.egg-info/PKG-INFO writing dependency_links to sure.egg-info/dependency_links.txt writing entry points to sure.egg-info/entry_points.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' adding license file 'COPYING' writing manifest file 'sure.egg-info/SOURCES.txt' running build_ext /nix/store/xr71bmg0qbjpsahl44m0qqpcracssj5c-python3.7-nose-1.3.7/lib/python3.7/site-packages/nose/config.py:264: RuntimeWarning: Option 'rednose' in config file 'setup.cfg' ignored: excluded by runtime environment warn(msg, RuntimeWarning) /nix/store/xr71bmg0qbjpsahl44m0qqpcracssj5c-python3.7-nose-1.3.7/lib/python3.7/site-packages/nose/config.py:264: RuntimeWarning: Option 'with-coverage' in config file 'setup.cfg' ignored: excluded by runtime environment warn(msg, RuntimeWarning) /nix/store/xr71bmg0qbjpsahl44m0qqpcracssj5c-python3.7-nose-1.3.7/lib/python3.7/site-packages/nose/config.py:264: RuntimeWarning: Option 'cover-inclusive' in config file 'setup.cfg' ignored: excluded by runtime environment warn(msg, RuntimeWarning) /nix/store/xr71bmg0qbjpsahl44m0qqpcracssj5c-python3.7-nose-1.3.7/lib/python3.7/site-packages/nose/config.py:264: RuntimeWarning: Option 'cover-package' in config file 'setup.cfg' ignored: excluded by runtime environment warn(msg, RuntimeWarning) /nix/store/xr71bmg0qbjpsahl44m0qqpcracssj5c-python3.7-nose-1.3.7/lib/python3.7/site-packages/nose/config.py:264: RuntimeWarning: Option 'cover-branches' in config file 'setup.cfg' ignored: excluded by runtime environment warn(msg, RuntimeWarning) nose.config: INFO: Ignoring files matching ['^\\.', '^_', '^setup\\.py$'] issues.test_issue_104.test_issue_104 ... ok issues.test_issue_134.test_issue_132 Correctly handle {} characters in matcher string ... ok issues.test_issue_136.test_issue_136 Test for unicode error when comparing bytes ... ok issues.test_issue_139.test_issue_139 Test for GitHub Issue #139 ... ok issues.test_issue_148.test_should_compare_dict_with_non_orderable_key_types ... ok issues.test_issue_148.test_should_compare_dict_with_enum_keys ... ok issues.test_issue_19.test_issue_19 Allow monkey-patching of methods already implemented by sure. ... ok issues.test_issue_48.test_issue_48 ... ok /build/sure-2.0.0/tests/test_assertion_builder.py:547: DeprecationWarning: invalid escape sequence \w ("expect('some string').to.match(r'\w{4} \w{6}') matches regex") /build/sure-2.0.0/tests/test_assertion_builder.py:560: DeprecationWarning: invalid escape sequence \d "'some string' doesn't match the regular expression /\d{2} \d{4}/") test_assertion_builder.test_assertion_builder_synonyms this, it, these and those are all synonyms ... ok test_assertion_builder.test_4_equal_2p2 this(4).should.equal(2 + 2) ... ok test_assertion_builder.test_2_within_0a2 this(1).should.be.within(0, 2) ... ok test_assertion_builder.test_true_be_ok this(True).should.be.ok ... ok test_assertion_builder.test_false_be_falsy this(False).should.be.false ... ok test_assertion_builder.test_none this(None).should.be.none ... ok test_assertion_builder.test_should_be_a this(None).should.be.none ... ok test_assertion_builder.test_should_be_callable this(function).should.be.callable ... ok test_assertion_builder.test_iterable_should_be_empty this(iterable).should.be.empty ... ok test_assertion_builder.test_iterable_should_have_length_of this(iterable).should.have.length_of(N) ... ok test_assertion_builder.test_greater_than this(X).should.be.greater_than(Y) ... ok test_assertion_builder.test_greater_than_or_equal_to this(X).should.be.greater_than_or_equal_to(Y) ... ok test_assertion_builder.test_lower_than this(X).should.be.lower_than(Y) ... ok test_assertion_builder.test_lower_than_or_equal_to this(X).should.be.lower_than_or_equal_to(Y) ... ok test_assertion_builder.test_be this(X).should.be(X) when X is a reference to the same object ... ok test_assertion_builder.test_have_property this(instance).should.have.property(property_name) ... ok test_assertion_builder.test_have_property_with_value this(instance).should.have.property(property_name).being or .with_value should allow chain up ... ok test_assertion_builder.test_have_key this(dictionary).should.have.key(key_name) ... ok test_assertion_builder.test_have_key_with_value this(dictionary).should.have.key(key_name).being or .with_value should allow chain up ... ok test_assertion_builder.test_look_like this(' aa ... ok test_assertion_builder.test_equal_with_repr_of_complex_types_and_unicode test usage of repr() inside expect(complex1).to.equal(complex2) ... ok test_assertion_builder.test_equal_with_repr_of_complex_types_and_repr test usage of repr() inside expect(complex1).to.equal(complex2) ... ok test_assertion_builder.test_match_regex expect('some string').to.match(r'\w{4} \w{6}') matches regex ... ok test_assertion_builder.test_match_contain 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 test_assertion_builder.test_should_not_be_different 'something'.should_not.be.different('SOMETHING'.lower()) ... ok test_assertion_builder.test_equals_handles_mock_call_list .equal() Should convert mock._CallList instances to lists ... ok test_assertion_builder.test_equals_handles_float_with_epsilon .equal(what, epsilon=XXX) should check for equality with an epsilon for float values ... ok test_assertion_builder.test_equals_dictionaries_with_tuple_keys .equal() with dict containing tuples as keys should work ... ok test_assertion_builder.test_ordereddict_comparison .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 test_custom_assertions.test_custom_assertion test extending sure with a custom assertion. ... ok test_custom_assertions.test_custom_chain_method test extending sure with a custom chain method. ... ok test_custom_assertions.test_custom_chain_property test extending sure with a custom chain property. ... ok test_ensure_ctxmgr.test_ensure_simple_assertion Test ensure simple assertion ... ok test_ensure_ctxmgr.test_ensure_just_assertion_error Test that ensure only captures AssertionErrors ... ok test_old_api.test_setup_with_context sure.with_context() runs setup before the function itself ... /build/sure-2.0.0/tests/test_old_api.py:45: DeprecationWarning: Please use assertEqual instead. 'john_is_within_context', ok test_old_api.test_context_is_not_optional sure.that_with_context() when no context is given it fails ... ok test_old_api.test_setup_with_context_context_failing sure.that_with_context() in a failing test ... ok test_old_api.test_teardown_with_context sure.with_context() runs teardown before the function itself ... ok test_old_api.test_that_is_a that() is_a(object) ... ok test_old_api.test_that_equals that() equals(string) ... ok test_old_api.test_that_differs that() differs(object) ... ok test_old_api.test_that_has that() has(object) ... ok test_old_api.test_that_at_key_equals that().at(object).equals(object) ... ok test_old_api.test_that_len_is that() len_is(number) ... ok test_old_api.test_that_len_greater_than that() len_greater_than(number) ... ok test_old_api.test_that_len_greater_than_should_raise_assertion_error that() len_greater_than(number) raise AssertionError ... ok test_old_api.test_that_len_greater_than_or_equals that() len_greater_than_or_equals(number) ... ok test_old_api.test_that_len_greater_than_or_equals_should_raise_assertion_error that() len_greater_than_or_equals(number) raise AssertionError ... ok test_old_api.test_that_len_lower_than that() len_lower_than(number) ... ok test_old_api.test_that_len_lower_than_should_raise_assertion_error that() len_lower_than(number) raise AssertionError ... ok test_old_api.test_that_len_lower_than_or_equals that() len_lower_than_or_equals(number) ... ok test_old_api.test_that_len_lower_than_or_equals_should_raise_assertion_error that() len_lower_than_or_equals(number) raise AssertionError ... ok test_old_api.test_that_checking_all_atributes that(iterable).the_attribute('name').equals('value') ... ok test_old_api.test_that_checking_all_atributes_of_range that(iterable, within_range=(1, 2)).the_attribute('name').equals('value') ... ok test_old_api.test_that_checking_all_elements that(iterable).every_one_is('value') ... ok test_old_api.test_that_checking_each_matches that(iterable).in_each('').equals('value') ... ok test_old_api.test_that_raises that(callable, with_args=[arg1], and_kwargs={'arg2': 'value'}).raises(SomeException) ... ok test_old_api.test_that_looks_like that('String\n with BREAKLINE').looks_like('string with breakline') ... ok test_old_api.test_that_raises_does_raise_for_exception_type_mismatch that(callable(RuntimeError)).raises(TypeError) ... ok test_old_api.test_that_raises_with_args that(callable, with_args=['foo']).raises(FooError) ... ok test_old_api.test_that_does_not_raise_with_args that(callable).doesnt_raise(FooError) and does_not_raise ... ok test_old_api.test_that_contains_string that('foobar').contains('foo') ... ok test_old_api.test_that_doesnt_contain_string that('foobar').does_not_contain('123'), .doesnt_contain ... ok test_old_api.test_that_contains_none that('foobar').contains(None) ... ok test_old_api.test_that_none_contains_string that(None).contains('bungalow') ... ok test_old_api.test_that_some_iterable_is_empty that(some_iterable).is_empty and that(something).are_empty ... ok test_old_api.test_that_something_is_empty_raises that(something_not_iterable).is_empty and that(something_not_iterable).are_empty raises ... ok test_old_api.test_that_something_iterable_matches_another that(something_iterable).matches(another_iterable) ... ok test_old_api.test_within_pass within(five=miliseconds) will pass ... 0.05 5000 ok test_old_api.test_within_fail within(five=miliseconds) will fail ... 7006.11 5000 ok test_old_api.test_word_to_number ... ok test_old_api.test_word_to_number_fail ... ok test_old_api.test_microsecond_unit testing microseconds convertion ... ok test_old_api.test_milisecond_unit testing miliseconds convertion ... ok test_old_api.test_second_unit testing seconds convertion ... ok test_old_api.test_minute_unit testing minutes convertion ... ok test_old_api.test_within_pass_utc within(five=miliseconds) gives utc parameter ... 0.03 5000 ok test_old_api.test_that_is_a_matcher_should_absorb_callables_to_be_used_as_matcher that.is_a_matcher should absorb callables to be used as matcher ... ok test_old_api.test_accepts_setup_list sure.with_context() accepts a list of callbacks for setup ... ok test_old_api.test_accepts_teardown_list sure.with_context() runs teardown before the function itself ... ok test_old_api.test_scenario_is_alias_for_context_on_setup_and_teardown @scenario aliases @that_with_context for setup and teardown ... ok test_old_api.test_actions_returns_context the actions always returns the context ... ok test_old_api.test_actions_providing_variables_in_the_context the actions should be able to declare the variables they provide ... ok test_old_api.test_fails_when_action_doesnt_fulfill_the_agreement_of_provides it fails when an action doesn't fulfill its agreements ... ok test_old_api.test_depends_on_failing_due_nothing_found it fails when an action depends on some attribute that is not provided by any other previous action ... ok test_old_api.test_depends_on_failing_due_not_calling_a_previous_action it fails when an action depends on some attribute that is being provided by other actions ... ok test_old_api.test_that_contains_dictionary_keys that(dict(name='foobar')).contains('name') ... ok test_old_api.test_that_contains_list that(['foobar', '123']).contains('foobar') ... ok test_old_api.test_that_contains_set that(set(['foobar', '123']).contains('foobar') ... ok test_old_api.test_that_contains_tuple that(('foobar', '123')).contains('foobar') ... ok test_old_api.test_variables_bag_provides_meaningful_error_on_nonexisting_attribute VariablesBag() provides a meaningful error when attr does not exist ... ok test_old_api.test_actions_providing_dinamically_named_variables the actions should be able to declare the variables they provide ... ok test_old_api.test_deep_equals_dict_level1_success that() deep_equals(dict) succeeding on level 1 ... ok test_old_api.test_deep_equals_dict_level1_fail that() deep_equals(dict) failing on level 1 ... ok test_old_api.test_deep_equals_list_level1_success that(list) deep_equals(list) succeeding on level 1 ... ok test_old_api.test_deep_equals_list_level1_fail_by_value that(list) deep_equals(list) failing on level 1 ... ok test_old_api.test_deep_equals_list_level1_fail_by_length_x_gt_y that(list) deep_equals(list) failing by length (len(X) > len(Y)) ... ok test_old_api.test_deep_equals_list_level1_fail_by_length_y_gt_x that(list) deep_equals(list) failing by length (len(Y) > len(X)) ... ok test_old_api.test_deep_equals_dict_level1_fails_missing_key_on_y that(X) deep_equals(Y) fails when Y is missing a key that X has ... ok test_old_api.test_deep_equals_failing_basic_vs_complex that(X) deep_equals(Y) fails with basic vc complex type ... ok test_old_api.test_deep_equals_failing_complex_vs_basic that(X) deep_equals(Y) fails with complex vc basic type ... ok test_old_api.test_deep_equals_tuple_level1_success that(tuple) deep_equals(tuple) succeeding on level 1 ... ok test_old_api.test_deep_equals_tuple_level1_fail_by_value that(tuple) deep_equals(tuple) failing on level 1 ... ok test_old_api.test_deep_equals_tuple_level1_fail_by_length_x_gt_y that(tuple) deep_equals(tuple) failing by length (len(X) > len(Y)) ... ok test_old_api.test_deep_equals_tuple_level1_fail_by_length_y_gt_x that(tuple) deep_equals(tuple) failing by length (len(Y) > len(X)) ... ok test_old_api.test_deep_equals_fallsback_to_generic_comparator that() deep_equals(dict) falling back to generic comparator ... ok test_old_api.test_deep_equals_fallsback_to_generic_comparator_failing that() deep_equals(dict) with generic comparator failing ... ok test_old_api.test_deep_equals_fallsback_to_generic_comparator_failing_type that() deep_equals(dict) with generic comparator failing ... ok test_old_api.test_deep_equals_dict_level2_success that() deep_equals(dict) succeeding on level 2 ... ok test_old_api.test_deep_equals_dict_level2_list_success that() deep_equals(dict) succeeding on level 2 ... ok test_old_api.test_deep_equals_dict_level2_fail that() deep_equals(dict) failing on level 2 ... ok test_old_api.test_deep_equals_dict_level3_fail_values that() deep_equals(dict) failing on level 3 ... ok test_old_api.test_deep_equals_dict_level3_fails_missing_key that() deep_equals(dict) failing on level 3 when missing a key ... ok test_old_api.test_deep_equals_dict_level3_fails_extra_key that() deep_equals(dict) failing on level 3 when has an extra key ... ok test_old_api.test_deep_equals_dict_level3_fails_different_key that() deep_equals(dict) failing on level 3 when has an extra key ... ok test_old_api.test_deep_equals_list_level2_fail_by_length_x_gt_y that(list) deep_equals(list) failing by length (len(X) > len(Y)) ... ok test_old_api.test_deep_equals_list_level2_fail_by_length_y_gt_x that(list) deep_equals(list) failing by length (len(Y) > len(X)) ... ok test_old_api.test_function_decorated_with_wip_should_set_a_flag @sure.work_in_progress should set an internal flag into `sure` ... ok test_old_api.test_that_equals_fails that() equals(string) when it's supposed to fail ... ok test_old_api.test_raises_with_string that(callable).raises('message') should compare the message ... ok test_old_api.test_deep_equals_weird ... ok test_safe_repr.test_basic_list safe_repr should display a simple list ... ok test_safe_repr.test_basic_dict safe_repr should return a sorted repr ... ok test_safe_repr.test_nested_dict dicts nested inside values should also get sorted ... ok test_safe_repr.test_unicode dicts with unicode should work properly ... ok ---------------------------------------------------------------------- Ran 140 tests in 0.960s OK Finished executing setuptoolsCheckPhase