summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ipalib/__init__.py46
-rwxr-xr-xipatests/ipa-run-tests1
2 files changed, 40 insertions, 7 deletions
diff --git a/ipalib/__init__.py b/ipalib/__init__.py
index 4f0909047..79490865a 100644
--- a/ipalib/__init__.py
+++ b/ipalib/__init__.py
@@ -880,8 +880,46 @@ freeIPA.org:
http://freeipa.org/page/Contribute
'''
+version_info = (2, 0, 0, 'alpha', 0)
+if version_info[3] == 'final':
+ __version__ = '%d.%d.%d' % version_info[:3]
+else:
+ __version__ = '%d.%d.%d.%s.%d' % version_info
+
-import os
+def _enable_warnings(error=False):
+ """Enable additional warnings during development
+ """
+ import ctypes
+ import warnings
+
+ # get reference to Py_BytesWarningFlag from Python CAPI
+ byteswarnings = ctypes.c_int.in_dll( # pylint: disable=no-member
+ ctypes.pythonapi, 'Py_BytesWarningFlag')
+
+ if byteswarnings.value >= 2:
+ # bytes warnings flag already set to error
+ return
+
+ # default warning mode for all modules: warn once per location
+ warnings.simplefilter('default', BytesWarning)
+ if error:
+ byteswarnings.value = 2
+ action = 'error'
+ else:
+ byteswarnings.value = 1
+ action = 'default'
+
+ module = '(ipa.*|__main__)'
+ warnings.filterwarnings(action, category=BytesWarning, module=module)
+ warnings.filterwarnings(action, category=DeprecationWarning,
+ module=module)
+
+# call this as early as possible
+if version_info[3] != 'final':
+ _enable_warnings(False)
+
+# noqa: E402
from ipalib import plugable
from ipalib.backend import Backend
from ipalib.frontend import Command, LocalOrRemote, Updater
@@ -893,12 +931,6 @@ from ipalib.parameters import (BytesEnum, StrEnum, IntEnum, AccessTime, File,
from ipalib.errors import SkipPluginModule
from ipalib.text import _, ngettext, GettextFactory, NGettextFactory
-version_info = (2, 0, 0, 'alpha', 0)
-if version_info[3] == 'final':
- __version__ = '%d.%d.%d' % version_info[:3]
-else:
- __version__ = '%d.%d.%d.%s.%d' % version_info
-
Registry = plugable.Registry
diff --git a/ipatests/ipa-run-tests b/ipatests/ipa-run-tests
index cafd993fd..6b2070bdb 100755
--- a/ipatests/ipa-run-tests
+++ b/ipatests/ipa-run-tests
@@ -32,6 +32,7 @@ import sys
import pytest
+import ipalib
import ipatests
# This is set to store --with-xunit report in an accessible place: