Commit 8824dc03 authored by iahu's avatar iahu
parents c0f02d51 0ccc6c9f
text eol=lf
.DS_Store
*.pyc
*.sublime-workspace
sudo: false
language: python
python:
- "3.3"
#command to run tests
script: python -m unittest
This diff is collapsed.
{
"folders":
[
{
"path": "."
}
],
"settings": {
"ensure_newline_at_eof_on_save": true,
"translate_to_spaces": false,
"trim_trailing_white_space_on_save": true
},
"build_systems":
[
{
"name": "Run Tests",
"cmd": ["python", "-m", "unittest"],
"file_regex": "^\\s*File \"(.*?)\", line \\d+",
"working_dir": "${project_path:${folder}}",
"selector": "source.json, source.python"
}
]
}
# Package Control Default Channel
The `channel.json`, `repository.json` and `repository/*.json` files contain a
list of repositories and packages for use with
[Package Control](https://packagecontrol.io).
The `channel.json` file is published at https://packagecontrol.io/channel.json
and is included with Package Control as the default channel.
Please be sure to follow the instructions at
https://packagecontrol.io/docs/developers to help the process of adding your
package or repository go smoothly.
{
"schema_version": "3.0.0",
"packages": [],
"dependencies": [],
"includes": [
"./repository/0-9.json",
"./repository/a.json",
"./repository/b.json",
"./repository/c.json",
"./repository/d.json",
"./repository/e.json",
"./repository/f.json",
"./repository/g.json",
"./repository/h.json",
"./repository/i.json",
"./repository/j.json",
"./repository/k.json",
"./repository/l.json",
"./repository/m.json",
"./repository/n.json",
"./repository/o.json",
"./repository/p.json",
"./repository/q.json",
"./repository/r.json",
"./repository/s.json",
"./repository/t.json",
"./repository/u.json",
"./repository/v.json",
"./repository/w.json",
"./repository/x.json",
"./repository/y.json",
"./repository/z.json",
"./repository/dependencies.json"
]
}
{
"schema_version": "3.0.0",
"packages": [
{
"name": "1337 Color Scheme",
"details": "https://github.com/MarkMichos/1337-Scheme",
"labels": ["color scheme"],
"releases": [
{
"sublime_text": "*",
"tags": true
}
]
},
{
"name": "1Self",
"details": "https://github.com/1self/sublime-text-plugin",
"labels": ["time tracking", "activity"],
"previous_names": ["QuantifiedDev"],
"releases": [
{
"sublime_text": "*",
"tags": true
}
]
},
{
"name": "2pdf",
"details": "https://github.com/fraoustin/Sublime2pdf",
"releases": [
{
"sublime_text": "<3000",
"branch": "master"
}
]
},
{
"name": "3024 Color Scheme",
"details": "https://github.com/idleberg/3024.tmTheme",
"labels": ["color scheme"],
"releases": [
{
"sublime_text": "*",
"branch": "master"
}
]
},
{
"name": "42 Headers",
"details": "https://github.com/Globidev/Sublime-Text-42-Headers",
"releases": [
{
"sublime_text": ">=3000",
"tags": true
}
]
},
{
"name": "4GL",
"details": "https://github.com/skarcha/SublimeText2-4GL",
"labels": ["language syntax"],
"releases": [
{
"sublime_text": "*",
"branch": "master"
}
]
}
]
}
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
{
"schema_version": "3.0.0",
"packages": [],
"dependencies": [
{
"name": "arrow",
"load_order": "01",
"description": "Python arrow module - https://github.com/crsmithdev/arrow",
"author": "douglas-vaz",
"issues": "https://github.com/douglas-vaz/arrow/issues",
"releases": [
{
"sublime_text": "*",
"base": "https://github.com/douglas-vaz/arrow",
"tags": true
}
]
},
{
"name": "bz2",
"load_order": "02",
"description": "Python bz2 module",
"author": "wbond",
"issues": "https://github.com/codexns/sublime-bz2/issues",
"releases": [
{
"sublime_text": "*",
"base": "https://github.com/codexns/sublime-bz2",
"tags": true
}
]
},
{
"name": "jinja2",
"load_order": "51",
"description": "Python Jinja2 module",
"author": "teddy_beer_maniac",
"issues": "https://bitbucket.org/teddy_beer_maniac/sublime-text-dependency-jinja2/issues",
"releases": [
{
"base": "https://bitbucket.org/teddy_beer_maniac/sublime-text-dependency-jinja2",
"tags": true,
"sublime_text": "*"
}
]
},
{
"name": "lxml",
"load_order": "10",
"description": "lxml",
"author": "eerohele",
"issues": "https://github.com/eerohele/sublime-lxml/issues",
"releases": [
{
"base": "https://github.com/eerohele/sublime-lxml",
"tags": true,
"sublime_text": ">=3000",
"platforms": ["osx-x64", "linux-x64"]
}
]
},
{
"name": "markupsafe",
"load_order": "50",
"description": "Python MarkupSafe module",
"author": "teddy_beer_maniac",
"issues": "https://bitbucket.org/teddy_beer_maniac/sublime-text-dependency-markupsafe/issues",
"releases": [
{
"base": "https://bitbucket.org/teddy_beer_maniac/sublime-text-dependency-markupsafe",
"tags": true,
"sublime_text": "*"
}
]
},
{
"name": "oauthlib",
"load_order": "50",
"description": "Python oauthlib module",
"author": "csch0",
"issues": "https://github.com/packagecontrol/oauthlib/issues",
"releases": [
{
"base": "https://github.com/packagecontrol/oauthlib",
"tags": true,
"sublime_text": "*"
}
]
},
{
"name": "ordereddict",
"load_order": "50",
"description": "Python ordereddict module",
"author": "FichteFoll",
"issues": "https://github.com/packagecontrol/ordereddict/issues",
"releases": [
{
"base": "https://github.com/packagecontrol/ordereddict",
"tags": true,
"sublime_text": "<3000"
}
]
},
{
"name": "paramiko",
"load_order": "51",
"description": "Python implementation of the SSHv2 protocol - http://paramiko-www.readthedocs.org/en/latest/index.html",
"author": "jlegewie",
"issues": "https://github.com/jlegewie/sublime-paramiko/issues",
"releases": [
{
"base": "https://github.com/jlegewie/sublime-paramiko",
"sublime_text": ">=3000",
"platforms": ["osx"],
"tags": true
}
]
},
{
"name": "PyCrypto",
"load_order": "50",
"description": "Python Cryptography Toolkit - https://www.dlitz.net/software/pycrypto/",
"author": "jlegewie",
"issues": "https://github.com/jlegewie/sublime-PyCrypto/issues",
"releases": [
{
"base": "https://github.com/jlegewie/sublime-PyCrypto",
"sublime_text": ">=3000",
"platforms": ["osx-x64"],
"tags": true
}
]
},
{
"name": "pygments",
"load_order": "01",
"description": "Python pygments module",
"author": "AndreasBackx",
"issues": "https://github.com/packagecontrol/pygments/issues",
"releases": [
{
"base": "https://github.com/packagecontrol/pygments",
"tags": true,
"sublime_text": "*"
}
]
},
{
"name": "pytz",
"load_order": "50",
"description": "Python pytz module",
"author": "FichteFoll",
"issues": "https://github.com/packagecontrol/pytz/issues",
"releases": [
{
"base": "https://github.com/packagecontrol/pytz",
"tags": true,
"sublime_text": "*"
}
]
},
{
"name": "pyyaml",
"load_order": "50",
"description": "Python PyYAML module",
"author": "FichteFoll",
"issues": "https://github.com/packagecontrol/pyyaml/issues",
"releases": [
{
"base": "https://github.com/packagecontrol/pyyaml",
"tags": true,
"sublime_text": "*"
}
]
},
{
"name": "requests",
"load_order": "50",
"description": "Python requests module",
"author": "FichteFoll",
"issues": "https://github.com/packagecontrol/requests/issues",
"releases": [
{
"base": "https://github.com/packagecontrol/requests",
"tags": true,
"sublime_text": "*"
}
]
},
{
"name": "requests-oauthlib",
"load_order": "51",
"description": "Python requests-oauthlib module",
"author": "csch0",
"issues": "https://github.com/packagecontrol/requests-oauthlib/issues",
"releases": [
{
"base": "https://github.com/packagecontrol/requests-oauthlib",
"tags": true,
"sublime_text": "*"
}
]
},
{
"name": "select-windows",
"load_order": "02",
"description": "Python select module for Sublime Text 2 on Windows",
"author": "wbond",
"issues": "https://github.com/codexns/sublime-select-windows/issues",
"releases": [
{
"sublime_text": "*",
"base": "https://github.com/codexns/sublime-select-windows",
"tags": true
}
]
},
{
"name": "ssl-linux",
"load_order": "01",
"description": "Python _ssl module for Linux",
"author": "wbond",
"issues": "https://github.com/codexns/sublime-ssl-linux/issues",
"releases": [
{
"sublime_text": "*",
"platforms": ["linux"],
"version": "1.0.1",
"url": "http://packagecontrol.io/ssl/1.0.1/ssl-linux.sublime-package",
"sha256": "862d061cbe666777cd1e9cd1cbc7c82f48ad8897dbb68332975f3edf5ce0f38d"
}
]
},
{
"name": "ssl-windows",
"load_order": "01",
"description": "Python _ssl module for Sublime Text 2 on Windows",
"author": "wbond",
"issues": "https://github.com/codexns/sublime-ssl-windows/issues",
"releases": [
{
"sublime_text": "<3000",
"platforms": ["windows"],
"version": "1.0.0",
"url": "http://packagecontrol.io/ssl/1.0.0/ssl-windows.sublime-package",
"sha256": "efe25e3bdf2e8f791d86327978aabe093c9597a6ceb8c2fb5438c1d810e02bea"
}
]
},
{
"name": "StyledPopup",
"load_order": "50",
"description": "Pyton module for Sublime Text to automatically style popups based on active color scheme.",
"author": "huot25",
"issues": "https://github.com/huot25/StyledPopup/issues",
"releases": [
{
"sublime_text": ">=3070",
"base": "https://github.com/huot25/StyledPopup",
"tags": true
}
]
},
{
"name": "tabulate",
"load_order": "01",
"description": "Python tabulate module",
"author": "csch0",
"issues": "https://github.com/packagecontrol/tabulate/issues",
"releases": [
{
"base": "https://github.com/packagecontrol/tabulate",
"tags": true,
"sublime_text": "*"
}
]
}
]
}
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
{
"schema_version": "3.0.0",
"packages": [
{
"name": "K Framework",
"details": "https://github.com/Zhomart/kframework-Sublime-Plugin",
"labels": ["language syntax", "kframework"],
"releases": [
{
"sublime_text": "*",
"branch": "master"
}
]
},
{
"name": "Kaneva API (KPI) Completions",
"details": "https://github.com/FracturedShader/kpiCompletions",
"labels": ["completions", "Kaneva", "Lua"],
"previous_names": ["Kaneva API (KPI) Snippets"],
"releases": [
{
"sublime_text": "*",
"branch": "master"
}
]
},
{
"name": "KCPS Theme",
"details": "https://github.com/KCPS/st3-theme-kcps",
"labels": ["KCPS", "text colour scheme", "user interface colour scheme"],
"releases": [
{
"sublime_text": ">=3000",
"tags": true
}
]
},
{
"name": "Keep Open On Last Tab Close",
"details": "https://github.com/vprimachenko/Sublime2KeepOpen",
"releases": [
{
"sublime_text": "*",
"branch": "master"
}
]
},
{
"name": "Kellys Color Scheme",
"details": "https://github.com/maxhoffmann/Kellys",
"labels": ["color scheme"],
"releases": [
{
"sublime_text": "*",
"branch": "master"
}
]
},
{
"name": "Kerbal Space Program Configuration Syntax",
"details": "https://github.com/NathanJang/KSP-tmLanguage",
"releases": [
{
"sublime_text": "*",
"tags": true
}
]
},
{
"name": "KeyboardSpellCheck",
"details": "https://github.com/jlknuth/KeyboardSpellCheck",
"labels": ["spell check", "vintage", "vi", "google"],
"releases": [
{
"sublime_text": "*",
"tags": true
}
]
},
{
"name": "KeymapEnhanced",
"details": "https://github.com/shagabutdinov/sublime-keymap-enhanced",
"donate": "https://github.com/shagabutdinov/sublime-enhanced/blob/master/readme-donations.md",
"labels": ["sublime-enhanced", "keymap"],
"releases": [
{
"sublime_text": "*",
"branch": "master"
}
]
},
{
"details": "https://github.com/welefen/KeymapManager",
"releases": [
{
"sublime_text": "<3000",
"branch": "master"
}
]
},
{
"name": "Keymaps",
"details": "https://github.com/MiroHibler/sublime-keymaps",
"labels": ["keymap", "cheat sheet"],
"releases": [
{
"sublime_text": "*",
"branch": "master"
}
]
},
{
"name": "Kick Assembler (C64)",
"details": "https://github.com/Swoffa/SublimeKickAssemblerC64",
"labels": ["language syntax", "build system", "snippets"],
"releases": [
{
"sublime_text": "*",
"tags": true
}
]
},
{
"name": "Kickoff Snippets",
"details": "https://github.com/trykickoff/Kickoff-snippets",
"labels": ["completions", "html", "css", "sass", "js", "javascript"],
"releases": [
{
"sublime_text": "*",
"tags": true
}
]
},
{
"name": "Kimbie Color Scheme",
"details": "https://github.com/idleberg/Kimbie.tmTheme",
"labels": ["color scheme"],
"releases": [
{
"sublime_text": "*",
"branch": "master"
}
]
},
{
"name": "Kirby2 CMS Snippets",
"details": "https://github.com/mauricerenck/sublime-kirby2",
"labels": ["completions", "php", "snippets"],
"releases": [
{
"sublime_text": "*",
"tags": true
}
]
},
{
"name": "Kivy Language",
"details": "https://github.com/ivlevdenis/kivylng",
"labels": ["auto-complete","build system","language syntax","snippets"],
"author": "ivlevdenis",
"releases": [
{
"sublime_text": "*",
"tags": true
}
]
},
{
"name": "KIXtart",
"details": "https://github.com/vipex/KIXtart.tmLanguage",
"labels": ["language syntax", "build system", "snippets", "kix"],
"releases": [
{
"sublime_text": "*",
"tags": true
}
]
},
{
"name": "knitr",
"details": "https://github.com/andrewheiss/SublimeKnitr",
"labels": ["knitr", "latex", "r", "markdown"],
"releases": [
{
"sublime_text": "*",
"tags": true
}
]
},
{
"details": "https://github.com/aziz/knockdown",
"releases": [
{
"sublime_text": "*",
"branch": "master"
}
]
},
{
"details": "https://github.com/SublimeText/KnowledgeBase",
"releases": [
{
"sublime_text": "*",
"branch": "master"
}
]
},
{
"name": "Kodery",
"details": "https://github.com/phuu/sublime.kodery",
"releases": [
{
"sublime_text": "*",
"tags": true
}
]
},
{
"name": "Kohana",
"details": "https://github.com/Zeelot/sublime-kohana",
"releases": [
{
"sublime_text": "*",
"branch": "master"
}
]
},
{
"name": "Kohana 2.x Snippets",
"details": "https://github.com/golf3gtiii/Kohana234-sublimeText2-plugin",
"labels": ["snippets"],
"releases": [
{
"sublime_text": "*",
"branch": "master"
}
]
},
{
"name": "Kohana 3 Snippets",
"details": "https://bitbucket.org/temperedvision/sublime-kohana3",
"releases": [
{
"sublime_text": "*",
"branch": "master"
}
]
},
{
"name": "Koken",
"details": "https://github.com/koken/koken-sublime",
"releases": [
{
"sublime_text": "*",
"branch": "master"
}
]
},
{
"name": "Kotlin",
"details": "https://github.com/vkostyukov/kotlin-sublime-package",
"releases": [
{
"sublime_text": "*",
"branch": "master"
}
]
},
{
"name": "KRL (Kinetic Rule Language) Syntax",
"details": "https://github.com/drautb/krl-syntax",
"labels": ["language syntax"],
"releases": [
{
"sublime_text": "*",
"tags": true
}
]
},
{
"name": "KRL (Kinetic Rule Language) Validator",
"details": "https://github.com/trevordixon/sublime-krl-validator",
"releases": [
{
"sublime_text": ">=3000",
"branch": "master"
}
]
},
{
"name": "Kroman",
"details": "https://github.com/cheunghy/kroman-sublime",
"releases": [
{
"sublime_text": ">=3000",
"tags": true
}
]
},
{
"name": "Kulture",
"details": "https://github.com/OmniSharp/Kulture",
"previous_names": ["vNext"],
"releases": [
{
"sublime_text": ">=3000",
"branch": "release"
}
]
},
{
"name": "KWrite Color Scheme",
"details": "https://github.com/daris/sublime-kwrite-color-scheme",
"labels": ["color scheme"],
"releases": [
{
"sublime_text": "*",
"branch": "master"
}
]
}
]
}
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
{
"schema_version": "3.0.0",
"packages": [
{
"name": "Qiita for Sublime",
"details": "https://github.com/blueplanet/sublime-qiita",
"releases": [
{
"sublime_text": ">=3000",
"tags": true
}
]
},
{
"name": "QMakeProject",
"details": "https://github.com/nsubiron/sublime-qmakeproject-syntax",
"releases": [
{
"sublime_text": "*",
"tags": true
}
]
},
{
"name": "QML",
"details": "https://github.com/skozlovf/Sublime-QML",
"labels": ["language syntax", "snippets"],
"releases": [
{
"sublime_text": "*",
"tags": true
}
]
},
{
"name": "qooxdoo Tools",
"details": "https://github.com/danielwagner/qooxdoo-sublime",
"labels": ["auto-complete"],
"releases": [
{
"sublime_text": "<3000",
"tags": true
}
]
},
{
"name": "QSwitch",
"details": "https://github.com/mintyPT/QSwitch",
"releases": [
{
"sublime_text": "*",
"branch": "master"
}
]
},
{
"name": "QuarkPHP",
"details": "https://github.com/sahibalejandro/quark-php-sublime",
"releases": [
{
"sublime_text": "<3000",
"branch": "master"
}
]
},
{
"name": "Quartz-Syntax",
"details": "https://github.com/contradictioned/quartz-syntax",
"labels": ["language syntax"],
"releases": [
{
"sublime_text": "*",
"tags": true
}
]
},
{
"name": "Query Completions Silencer",
"details": "https://github.com/twolfson/sublime-query-completions-silencer",
"labels": ["auto-complete"],
"releases": [
{
"sublime_text": "*",
"tags": true
}
]
},
{
"name": "Quick Docs Launcher",
"details": "https://github.com/linkarys/QuickDocsLauncher",
"labels": ["docs", "search", "command line"],
"releases": [
{
"sublime_text": "*",
"branch": "master"
}
]
},
{
"name": "Quick File Creator",
"details": "https://github.com/noklesta/SublimeQuickFileCreator",
"releases": [
{
"sublime_text": "*",
"branch": "master"
}
]
},
{
"name": "Quick File Move",
"details": "https://github.com/wulftone/sublime-text-quick-file-move",
"previous_names": ["Quick File Renamer", "QuickFileMove"],
"releases": [
{
"sublime_text": "*",
"branch": "master"
}
]
},
{
"name": "Quick File Open",
"details": "https://github.com/gsingh93/sublime-quick-file-open",
"releases": [
{
"sublime_text": "*",
"tags": true
}
]
},
{
"details": "https://github.com/facelessuser/QuickCal",
"releases": [
{
"sublime_text": ">=3000",
"tags": "st3-"
}
]
},
{
"name": "QuickGotoAnything",
"details": "https://github.com/lite3/Sublime-QuickGotoAnything",
"releases": [
{
"sublime_text": "*",
"tags": true
}
]
},
{
"name": "QuickLinks",
"details": "https://bitbucket.org/sigzegv/quicklinks",
"releases": [
{
"sublime_text": "*",
"branch": "master"
}
]
},
{
"name": "QuickOpen",
"details": "https://github.com/zsytssk/QuickOpen",
"releases": [
{
"sublime_text": ">=3000",
"tags": true
}
]
},
{
"details": "https://github.com/agibsonsw/QuickPrint",
"releases": [
{
"sublime_text": "<3000",
"branch": "master"
}
]
},
{
"details": "https://github.com/danpe/QuickRails",
"previous_names": ["Quick Rails"],
"releases": [
{
"sublime_text": "<3000",
"branch": "master"
}
]
},
{
"name": "QuickRef Command Lookup",
"details": "https://bitbucket.org/rablador/quickref",
"previous_names": ["QuickRef"],
"releases": [
{
"sublime_text": "*",
"branch": "develop"
}
]
},
{
"name": "QuickSearchEnhanced",
"details": "https://github.com/shagabutdinov/sublime-quick-search-enhanced",
"donate": "https://github.com/shagabutdinov/sublime-enhanced/blob/master/readme-donations.md",
"labels": ["sublime-enhanced", "text navigation"],
"releases": [
{
"sublime_text": "*",
"branch": "master"
}
]
},
{
"name": "QuickSimplenote",
"details": "https://github.com/sickmartian/quick_simplenote",
"labels": ["simplenote", "todo", "php", "html", "quote"],
"releases": [
{
"sublime_text": "<3000",
"tags": "st2-"
},
{
"sublime_text": ">=3000",
"tags": "st3-"
}
]
},
{
"details": "https://github.com/chrislongo/QuickThemes",
"releases": [
{
"sublime_text": "*",
"branch": "master"
}
]
},
{
"name": "QuickXDev",
"details": "https://github.com/leitwolf/QuickXDev",
"releases": [
{
"sublime_text": "*",
"branch": "master"
}
]
},
{
"name": "Quijotipsum Snippet",
"details": "https://github.com/ArmandoMendoza/sublime-quijotipsum",
"releases": [
{
"sublime_text": "*",
"branch": "master"
}
]
},
{
"name": "Qunit Snippets",
"details": "https://github.com/maxhoffmann/qunit-snippets",
"releases": [
{
"sublime_text": "*",
"branch": "master"
}
]
},
{
"name": "QuoteHTML",
"details": "https://github.com/mutian/Sublime-Quote-HTML",
"labels": ["javascript", "js", "php", "html", "quote"],
"releases": [
{
"sublime_text": "*",
"branch": "master"
}
]
}
]
}
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
import sys
import re
import unittest
from functools import wraps
def inject_into_unittest():
assert sys.version_info < (3,)
if sys.version_info < (2, 7):
class PatchedTestCase(unittest.TestCase):
def assertIn(self, member, container, msg=None):
"""Just like self.assertTrue(a in b), but with a nicer default message."""
if member not in container:
if not msg:
msg = '%r not found in %r' % (member, container)
self.fail(msg)
def assertNotIn(self, member, container, msg=None):
"""Just like self.assertTrue(a not in b), but with a nicer default message."""
if member in container:
if not msg:
msg = '%s unexpectedly found in %s' % (member,
container)
self.fail(msg)
def assertGreater(self, a, b, msg=None):
"""Just like self.assertTrue(a > b), but with a nicer default message."""
if not a > b:
if not msg:
msg = '%s not greater than %s' % (a, b)
self.fail(msg)
def assertRegex(self, text, expected_regexp, msg=None):
"""Fail the test unless the text matches the regular expression."""
if isinstance(expected_regexp, basestring):
expected_regexp = re.compile(expected_regexp)
if not expected_regexp.search(text):
msg = msg or "Regexp didn't match"
msg = '%s: %r not found in %r' % (msg, expected_regexp.pattern, text)
raise self.failureException(msg)
def assertNotRegex(self, text, unexpected_regexp, msg=None):
"""Fail the test if the text matches the regular expression."""
if isinstance(unexpected_regexp, basestring):
unexpected_regexp = re.compile(unexpected_regexp)
match = unexpected_regexp.search(text)
if match:
msg = msg or "Regexp matched"
msg = '%s: %r matches %r in %r' % (msg,
text[match.start():match.end()],
unexpected_regexp.pattern,
text)
raise self.failureException(msg)
def assertIsInstance(self, obj, cls, msg=None):
"""Same as self.assertTrue(isinstance(obj, cls)), with a nicer
default message."""
if not isinstance(obj, cls):
if not msg:
msg = '%s is not an instance of %r' % (obj, cls)
self.fail(msg)
unittest.TestCase = PatchedTestCase
# Patch setUpClass and tearDownClass into unittest.TestSuite
def run(self, result):
def run_if_attr(obj, attrname):
method = getattr(obj, attrname, None)
if method:
method()
last_class = None
for test in self._tests:
if isinstance(test, unittest.TestCase):
cur_class = test.__class__
if last_class.__class__ != cur_class:
if last_class is not None:
run_if_attr(last_class, 'tearDownClass')
run_if_attr(cur_class, 'setUpClass')
last_class = cur_class
if result.shouldStop:
break
test(result)
if last_class is not None:
run_if_attr(last_class, 'tearDownClass')
return result
unittest.TestSuite.run = run
elif sys.version_info < (3, 2):
unittest.TestCase.assertRegex = unittest.TestCase.assertRegexpMatches
unittest.TestCase.assertNotRegex = unittest.TestCase.assertNotRegexpMatches
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment