1
0
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:
Jelmer Vernooij 2010-03-29 16:25:03 +02:00
parent c873329500
commit 082e7f20d7
5 changed files with 50 additions and 3 deletions

View File

@ -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

View File

@ -1,4 +1,4 @@
#!/usr/bin/env python
#!/usr/bin/python
#
# Simple subunit testrunner for python
# Copyright (C) Jelmer Vernooij <jelmer@samba.org> 2007

View File

@ -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)

View File

@ -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)

View File

@ -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__)