mirror of
https://github.com/samba-team/samba.git
synced 2024-12-22 13:34:15 +03:00
subunit: Update to newer upstream version.
This commit is contained in:
parent
c873329500
commit
082e7f20d7
@ -1,4 +1,5 @@
|
||||
compression - Various compression algorithms (MSZIP, lzxpress)
|
||||
dnspython - Python module for working with DNS.
|
||||
nss_wrapper - Wrapper for the user and group NSS API allowing the use
|
||||
of other data sources.
|
||||
popt - Command-line option parsing library
|
||||
@ -6,6 +7,8 @@ replace - Provides replacements for standard (POSIX, C99) functions
|
||||
not provided by the host platform.
|
||||
socket_wrapper - Wrapper library allowing TCP/IP traffic to be redirected
|
||||
over Unix domain sockets.
|
||||
subunit - Utilities and bindings for working with the Subunit test result
|
||||
reporting protocol.
|
||||
talloc - Hierarchical pool based memory allocator
|
||||
tdb - Simple but fast key/value database library, supporting multiple writers
|
||||
torture - Simple unit testing helper library
|
||||
|
@ -1,4 +1,4 @@
|
||||
#!/usr/bin/env python
|
||||
#!/usr/bin/python
|
||||
#
|
||||
# Simple subunit testrunner for python
|
||||
# Copyright (C) Jelmer Vernooij <jelmer@samba.org> 2007
|
||||
|
@ -83,8 +83,8 @@ class TestResultDecorator(object):
|
||||
def stop(self):
|
||||
return self.decorated.stop()
|
||||
|
||||
def tags(self, gone_tags, new_tags):
|
||||
return self.decorated.time(gone_tags, new_tags)
|
||||
def tags(self, new_tags, gone_tags):
|
||||
return self.decorated.time(new_tags, gone_tags)
|
||||
|
||||
def time(self, a_datetime):
|
||||
return self.decorated.time(a_datetime)
|
||||
|
@ -12,6 +12,7 @@ $ python -c 'import testtools.matchers; print testtools.matchers.__all__'
|
||||
|
||||
__metaclass__ = type
|
||||
__all__ = [
|
||||
'Annotate',
|
||||
'DocTestMatches',
|
||||
'Equals',
|
||||
'MatchesAll',
|
||||
@ -249,3 +250,33 @@ class MatchedUnexpectedly:
|
||||
|
||||
def describe(self):
|
||||
return "%r matches %s" % (self.other, self.matcher)
|
||||
|
||||
|
||||
class Annotate:
|
||||
"""Annotates a matcher with a descriptive string.
|
||||
|
||||
Mismatches are then described as '<mismatch>: <annotation>'.
|
||||
"""
|
||||
|
||||
def __init__(self, annotation, matcher):
|
||||
self.annotation = annotation
|
||||
self.matcher = matcher
|
||||
|
||||
def __str__(self):
|
||||
return 'Annotate(%r, %s)' % (self.annotation, self.matcher)
|
||||
|
||||
def match(self, other):
|
||||
mismatch = self.matcher.match(other)
|
||||
if mismatch is not None:
|
||||
return AnnotatedMismatch(self.annotation, mismatch)
|
||||
|
||||
|
||||
class AnnotatedMismatch:
|
||||
"""A mismatch annotated with a descriptive string."""
|
||||
|
||||
def __init__(self, annotation, mismatch):
|
||||
self.annotation = annotation
|
||||
self.mismatch = mismatch
|
||||
|
||||
def describe(self):
|
||||
return '%s: %s' % (self.mismatch.describe(), self.annotation)
|
||||
|
@ -9,6 +9,7 @@ from testtools import (
|
||||
TestCase,
|
||||
)
|
||||
from testtools.matchers import (
|
||||
Annotate,
|
||||
Equals,
|
||||
DocTestMatches,
|
||||
MatchesAny,
|
||||
@ -153,6 +154,18 @@ class TestMatchesAllInterface(TestCase, TestMatchersInterface):
|
||||
1, MatchesAll(NotEquals(1), NotEquals(2)))]
|
||||
|
||||
|
||||
class TestAnnotate(TestCase, TestMatchersInterface):
|
||||
|
||||
matches_matcher = Annotate("foo", Equals(1))
|
||||
matches_matches = [1]
|
||||
matches_mismatches = [2]
|
||||
|
||||
str_examples = [
|
||||
("Annotate('foo', Equals(1))", Annotate("foo", Equals(1)))]
|
||||
|
||||
describe_examples = [("1 != 2: foo", 2, Annotate('foo', Equals(1)))]
|
||||
|
||||
|
||||
def test_suite():
|
||||
from unittest import TestLoader
|
||||
return TestLoader().loadTestsFromName(__name__)
|
||||
|
Loading…
Reference in New Issue
Block a user