Add basic 1to2 and 2to1 filters.
This commit is contained in:
@@ -47,6 +47,8 @@ ACLOCAL_AMFLAGS = -I m4
|
|||||||
include_subunitdir = $(includedir)/subunit
|
include_subunitdir = $(includedir)/subunit
|
||||||
|
|
||||||
dist_bin_SCRIPTS = \
|
dist_bin_SCRIPTS = \
|
||||||
|
filters/subunit-1to2 \
|
||||||
|
filters/subunit-2to1 \
|
||||||
filters/subunit-filter \
|
filters/subunit-filter \
|
||||||
filters/subunit-ls \
|
filters/subunit-ls \
|
||||||
filters/subunit-notify \
|
filters/subunit-notify \
|
||||||
|
|||||||
42
filters/subunit-1to2
Executable file
42
filters/subunit-1to2
Executable file
@@ -0,0 +1,42 @@
|
|||||||
|
#!/usr/bin/env python
|
||||||
|
# subunit: extensions to python unittest to get test results from subprocesses.
|
||||||
|
# Copyright (C) 2013 Robert Collins <robertc@robertcollins.net>
|
||||||
|
#
|
||||||
|
# Licensed under either the Apache License, Version 2.0 or the BSD 3-clause
|
||||||
|
# license at the users choice. A copy of both licenses are available in the
|
||||||
|
# project source as Apache-2.0 and BSD. You may not use this file except in
|
||||||
|
# compliance with one of these two licences.
|
||||||
|
#
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under these licenses is distributed on an "AS IS" BASIS, WITHOUT
|
||||||
|
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
||||||
|
# license you chose for the specific language governing permissions and
|
||||||
|
# limitations under that license.
|
||||||
|
#
|
||||||
|
|
||||||
|
"""Convert a version 1 subunit stream to version 2 stream."""
|
||||||
|
|
||||||
|
from optparse import OptionParser
|
||||||
|
import sys
|
||||||
|
|
||||||
|
from testtools import ExtendedToStreamDecorator
|
||||||
|
|
||||||
|
from subunit import StreamResultToBytes
|
||||||
|
from subunit.filters import run_tests_from_stream
|
||||||
|
|
||||||
|
|
||||||
|
def make_options(description):
|
||||||
|
parser = OptionParser(description=__doc__)
|
||||||
|
return parser
|
||||||
|
|
||||||
|
|
||||||
|
def main():
|
||||||
|
parser = make_options(__doc__)
|
||||||
|
(options, args) = parser.parse_args()
|
||||||
|
run_tests_from_stream(sys.stdin,
|
||||||
|
ExtendedToStreamDecorator(StreamResultToBytes(sys.stdout)))
|
||||||
|
sys.exit(0)
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
main()
|
||||||
46
filters/subunit-2to1
Executable file
46
filters/subunit-2to1
Executable file
@@ -0,0 +1,46 @@
|
|||||||
|
#!/usr/bin/env python
|
||||||
|
# subunit: extensions to python unittest to get test results from subprocesses.
|
||||||
|
# Copyright (C) 2013 Robert Collins <robertc@robertcollins.net>
|
||||||
|
#
|
||||||
|
# Licensed under either the Apache License, Version 2.0 or the BSD 3-clause
|
||||||
|
# license at the users choice. A copy of both licenses are available in the
|
||||||
|
# project source as Apache-2.0 and BSD. You may not use this file except in
|
||||||
|
# compliance with one of these two licences.
|
||||||
|
#
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under these licenses is distributed on an "AS IS" BASIS, WITHOUT
|
||||||
|
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
||||||
|
# license you chose for the specific language governing permissions and
|
||||||
|
# limitations under that license.
|
||||||
|
#
|
||||||
|
|
||||||
|
"""Convert a version 2 subunit stream to a version 1 stream."""
|
||||||
|
|
||||||
|
from optparse import OptionParser
|
||||||
|
import sys
|
||||||
|
|
||||||
|
from testtools import StreamToExtendedDecorator
|
||||||
|
|
||||||
|
from subunit import ByteStreamToStreamResult, TestProtocolClient
|
||||||
|
from subunit.filters import run_tests_from_stream
|
||||||
|
|
||||||
|
|
||||||
|
def make_options(description):
|
||||||
|
parser = OptionParser(description=__doc__)
|
||||||
|
return parser
|
||||||
|
|
||||||
|
|
||||||
|
def main():
|
||||||
|
parser = make_options(__doc__)
|
||||||
|
(options, args) = parser.parse_args()
|
||||||
|
case = ByteStreamToStreamResult(sys.stdin)
|
||||||
|
result = StreamToExtendedDecorator(TestProtocolClient(sys.stdout))
|
||||||
|
# What about stdout chunks?
|
||||||
|
result.startTestRun()
|
||||||
|
case.run(result)
|
||||||
|
result.stopTestRun()
|
||||||
|
sys.exit(0)
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
main()
|
||||||
2
setup.py
2
setup.py
@@ -49,6 +49,8 @@ setup(
|
|||||||
packages=['subunit', 'subunit.tests'],
|
packages=['subunit', 'subunit.tests'],
|
||||||
package_dir={'subunit': 'python/subunit'},
|
package_dir={'subunit': 'python/subunit'},
|
||||||
scripts = [
|
scripts = [
|
||||||
|
'filters/subunit-1to2',
|
||||||
|
'filters/subunit-2to1',
|
||||||
'filters/subunit2gtk',
|
'filters/subunit2gtk',
|
||||||
'filters/subunit2junitxml',
|
'filters/subunit2junitxml',
|
||||||
'filters/subunit2pyunit',
|
'filters/subunit2pyunit',
|
||||||
|
|||||||
Reference in New Issue
Block a user