diff --git a/src/z3c/autoinclude/api.py b/src/z3c/autoinclude/api.py index 719e5c1..8cb6ca8 100644 --- a/src/z3c/autoinclude/api.py +++ b/src/z3c/autoinclude/api.py @@ -14,7 +14,7 @@ def disable_dependencies(): def enable_dependencies(): - del os.environ[DEP_KEY] + os.environ.pop(DEP_KEY, None) def plugins_disabled(): @@ -26,7 +26,7 @@ def disable_plugins(): def enable_plugins(): - del os.environ[PLUGIN_KEY] + os.environ.pop(PLUGIN_KEY, None) def debug_enabled(): @@ -34,7 +34,7 @@ def debug_enabled(): def disable_debug(): - del os.environ[DEBUG_KEY] + os.environ.pop(DEBUG_KEY, None) def enable_debug(): diff --git a/src/z3c/autoinclude/api.txt b/src/z3c/autoinclude/api.txt new file mode 100644 index 0000000..62cc511 --- /dev/null +++ b/src/z3c/autoinclude/api.txt @@ -0,0 +1,71 @@ +============= +API functions +============= + +The ``api.py`` module has some helpful functions. + + +Plugins +======= + +We can disable and enable autoincluding the plugins:: + + >>> from z3c.autoinclude import api + >>> api.plugins_disabled() + False + >>> api.disable_plugins() + >>> api.plugins_disabled() + True + >>> api.disable_plugins() # called twice to see if this breaks + >>> api.plugins_disabled() + True + >>> api.enable_plugins() + >>> api.plugins_disabled() + False + >>> api.enable_plugins() # called twice to see if this breaks + >>> api.plugins_disabled() + False + + +Dependencies +============ + +We can disable and enable autoincluding the dependencies:: + + >>> from z3c.autoinclude import api + >>> api.dependencies_disabled() + False + >>> api.disable_dependencies() + >>> api.dependencies_disabled() + True + >>> api.disable_dependencies() # called twice to see if this breaks + >>> api.dependencies_disabled() + True + >>> api.enable_dependencies() + >>> api.dependencies_disabled() + False + >>> api.enable_dependencies() # called twice to see if this breaks + >>> api.dependencies_disabled() + False + + +Debug +===== + +We can disable and enable the debug report of autoincluded packages:: + + >>> from z3c.autoinclude import api + >>> api.debug_enabled() + False + >>> api.enable_debug() + >>> api.debug_enabled() + True + >>> api.enable_debug() # called twice to see if this breaks + >>> api.debug_enabled() + True + >>> api.disable_debug() + >>> api.debug_enabled() + False + >>> api.disable_debug() # called twice to see if this breaks + >>> api.debug_enabled() + False diff --git a/src/z3c/autoinclude/tests/tests.py b/src/z3c/autoinclude/tests/tests.py index ad75e38..7491f78 100644 --- a/src/z3c/autoinclude/tests/tests.py +++ b/src/z3c/autoinclude/tests/tests.py @@ -118,7 +118,14 @@ def test_suite(): from pprint import pprint - suite = doctest.DocFileSuite( + simple_suite = doctest.DocFileSuite( + '../api.txt', + globs={'pprint': pprint}, + checker=IgnoreCaseChecker(), + optionflags=doctest.ELLIPSIS, + ) + + advanced_suite = doctest.DocFileSuite( '../utils.txt', '../dependency.txt', '../plugin.txt', @@ -129,7 +136,7 @@ def test_suite(): optionflags=doctest.ELLIPSIS, ) - return unittest.TestSuite((suite,)) + return unittest.TestSuite((simple_suite, advanced_suite)) if __name__ == '__main__':