def compare_session(quteproc, expected): # Translate ... to ellipsis in YAML. loader = yaml.SafeLoader(expected) loader.add_constructor('!ellipsis', lambda loader, node: ...) loader.add_implicit_resolver('!ellipsis', re.compile(r'\.\.\.'), None) data = quteproc.get_session() expected = loader.get_data() assert utils.partial_compare(data, expected)
def compare_session(self, expected): """Compare the current sessions against the given template. partial_compare is used, which means only the keys/values listed will be compared. """ __tracebackhide__ = lambda e: e.errisinstance(pytest.fail.Exception) data = self.get_session() expected = yaml.load(expected, Loader=YamlLoader) outcome = testutils.partial_compare(data, expected) if not outcome: msg = "Session comparison failed: {}".format(outcome.error) msg += '\nsee stdout for details' pytest.fail(msg)
def compare_session(quteproc, expected): """Compare the current sessions against the given template. partial_compare is used, which means only the keys/values listed will be compared. """ # Translate ... to ellipsis in YAML. loader = yaml.SafeLoader(expected) loader.add_constructor('!ellipsis', lambda loader, node: ...) loader.add_implicit_resolver('!ellipsis', re.compile(r'\.\.\.'), None) data = quteproc.get_session() expected = loader.get_data() assert utils.partial_compare(data, expected)
def compare_session(self, expected): """Compare the current sessions against the given template. partial_compare is used, which means only the keys/values listed will be compared. """ __tracebackhide__ = lambda e: e.errisinstance(pytest.fail.Exception) # Translate ... to ellipsis in YAML. loader = yaml.SafeLoader(expected) loader.add_constructor('!ellipsis', lambda loader, node: ...) loader.add_implicit_resolver('!ellipsis', re.compile(r'\.\.\.'), None) data = self.get_session() expected = loader.get_data() outcome = testutils.partial_compare(data, expected) if not outcome: msg = "Session comparison failed: {}".format(outcome.error) msg += '\nsee stdout for details' pytest.fail(msg)
def test_partial_compare_not_equal(val1, val2): assert not utils.partial_compare(val1, val2)
def test_partial_compare_not_equal(val1, val2, error): outcome = utils.partial_compare(val1, val2) assert not outcome assert isinstance(outcome, utils.PartialCompareOutcome) assert outcome.error == error