[Python-modules-commits] [logilab-common] 01/04: Import logilab-common_1.2.0.orig.tar.gz
Sandro Tosi
morph at moszumanska.debian.org
Wed Apr 20 18:45:47 UTC 2016
This is an automated email from the git hooks/post-receive script.
morph pushed a commit to branch master
in repository logilab-common.
commit 61c281bf15d8e8c0ceaa914d0b4bd025a0223e69
Author: Sandro Tosi <morph at debian.org>
Date: Wed Apr 20 19:40:41 2016 +0100
Import logilab-common_1.2.0.orig.tar.gz
---
ChangeLog | 9 ++++++
PKG-INFO | 2 +-
__pkginfo__.py | 2 +-
logilab/common/__init__.py | 2 +-
logilab/common/configuration.py | 2 +-
logilab/common/date.py | 2 +-
logilab/common/pytest.py | 59 +---------------------------------------
logilab/common/testlib.py | 38 ++++++++++++++++++++++++--
logilab_common.egg-info/PKG-INFO | 2 +-
test/unittest_date.py | 14 ++++++++--
test/unittest_pytest.py | 15 ----------
11 files changed, 63 insertions(+), 84 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index 9a47911..8c87d34 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,6 +1,15 @@
ChangeLog for logilab.common
============================
+2016-03-15 -- 1.2.0
+
+ * pytest: TraceController class, pause_tracing and resume_tracing
+ functions, deprecated from 0.63.1, got removed. The nocoverage
+ and pause_trace utilities are now available from the testlib
+ module rather than pytest.
+
+ * date: datetime2ticks uses the milliseconds from the datetime objects
+
2015-10-12 -- 1.1.0
* configuration: have a stable order for sections (#298658)
diff --git a/PKG-INFO b/PKG-INFO
index 6101c77..3299e17 100644
--- a/PKG-INFO
+++ b/PKG-INFO
@@ -1,6 +1,6 @@
Metadata-Version: 1.1
Name: logilab-common
-Version: 1.1.0
+Version: 1.2.0
Summary: collection of low-level Python packages and modules used by Logilab projects
Home-page: http://www.logilab.org/project/logilab-common
Author: Logilab
diff --git a/__pkginfo__.py b/__pkginfo__.py
index 8b50d7d..b91f0ac 100644
--- a/__pkginfo__.py
+++ b/__pkginfo__.py
@@ -25,7 +25,7 @@ modname = 'common'
subpackage_of = 'logilab'
subpackage_master = True
-numversion = (1, 1, 0)
+numversion = (1, 2, 0)
version = '.'.join([str(num) for num in numversion])
license = 'LGPL' # 2.1 or later
diff --git a/logilab/common/__init__.py b/logilab/common/__init__.py
index fc01e4d..796831a 100644
--- a/logilab/common/__init__.py
+++ b/logilab/common/__init__.py
@@ -38,7 +38,7 @@ __pkginfo__.__package__ = __name__
__pkginfo__.version = __version__
sys.modules['logilab.common.__pkginfo__'] = __pkginfo__
-STD_BLACKLIST = ('CVS', '.svn', '.hg', 'debian', 'dist', 'build')
+STD_BLACKLIST = ('CVS', '.svn', '.hg', '.git', '.tox', 'debian', 'dist', 'build')
IGNORED_EXTENSIONS = ('.pyc', '.pyo', '.elc', '~', '.swp', '.orig')
diff --git a/logilab/common/configuration.py b/logilab/common/configuration.py
index 38af31d..b7f364b 100644
--- a/logilab/common/configuration.py
+++ b/logilab/common/configuration.py
@@ -635,7 +635,7 @@ class OptionsManagerMixIn(object):
parser = self.cfgfile_parser
parser.read([config_file])
# normalize sections'title
- for sect, values in parser._sections.items():
+ for sect, values in list(parser._sections.items()):
if not sect.isupper() and values:
parser._sections[sect.upper()] = values
elif not self.quiet:
diff --git a/logilab/common/date.py b/logilab/common/date.py
index a093a8a..37e371b 100644
--- a/logilab/common/date.py
+++ b/logilab/common/date.py
@@ -237,7 +237,7 @@ def todatetime(somedate):
return datetime(somedate.year, somedate.month, somedate.day)
def datetime2ticks(somedate):
- return timegm(somedate.timetuple()) * 1000
+ return timegm(somedate.timetuple()) * 1000 + int(somedate.microsecond / 1000)
def ticks2datetime(ticks):
miliseconds, microseconds = divmod(ticks, 1000)
diff --git a/logilab/common/pytest.py b/logilab/common/pytest.py
index c1dca63..11647b7 100644
--- a/logilab/common/pytest.py
+++ b/logilab/common/pytest.py
@@ -121,7 +121,6 @@ import types
import inspect
import traceback
from inspect import isgeneratorfunction, isclass
-from contextlib import contextmanager
from random import shuffle
from itertools import dropwhile
@@ -130,7 +129,7 @@ from logilab.common import textutils
from logilab.common import testlib, STD_BLACKLIST
# use the same unittest module as testlib
from logilab.common.testlib import unittest, start_interactive_mode
-from logilab.common.deprecation import deprecated
+from logilab.common.testlib import nocoverage, pause_trace, replace_trace # bwcompat
from logilab.common.debugger import Debugger, colorize_source
import doctest
@@ -152,62 +151,6 @@ except ImportError:
CONF_FILE = 'pytestconf.py'
-## coverage pausing tools
-
- at contextmanager
-def replace_trace(trace=None):
- """A context manager that temporary replaces the trace function"""
- oldtrace = sys.gettrace()
- sys.settrace(trace)
- try:
- yield
- finally:
- # specific hack to work around a bug in pycoverage, see
- # https://bitbucket.org/ned/coveragepy/issue/123
- if (oldtrace is not None and not callable(oldtrace) and
- hasattr(oldtrace, 'pytrace')):
- oldtrace = oldtrace.pytrace
- sys.settrace(oldtrace)
-
-
-def pause_trace():
- """A context manager that temporary pauses any tracing"""
- return replace_trace()
-
-class TraceController(object):
- ctx_stack = []
-
- @classmethod
- @deprecated('[lgc 0.63.1] Use the pause_trace() context manager')
- def pause_tracing(cls):
- cls.ctx_stack.append(pause_trace())
- cls.ctx_stack[-1].__enter__()
-
- @classmethod
- @deprecated('[lgc 0.63.1] Use the pause_trace() context manager')
- def resume_tracing(cls):
- cls.ctx_stack.pop().__exit__(None, None, None)
-
-
-pause_tracing = TraceController.pause_tracing
-resume_tracing = TraceController.resume_tracing
-
-
-def nocoverage(func):
- """Function decorator that pauses tracing functions"""
- if hasattr(func, 'uncovered'):
- return func
- func.uncovered = True
-
- def not_covered(*args, **kwargs):
- with pause_trace():
- return func(*args, **kwargs)
- not_covered.uncovered = True
- return not_covered
-
-## end of coverage pausing tools
-
-
TESTFILE_RE = re.compile("^((unit)?test.*|smoketest)\.py$")
def this_is_a_testfile(filename):
"""returns True if `filename` seems to be a test file"""
diff --git a/logilab/common/testlib.py b/logilab/common/testlib.py
index 9fafdfa..0114713 100644
--- a/logilab/common/testlib.py
+++ b/logilab/common/testlib.py
@@ -44,6 +44,7 @@ __docformat__ = "restructuredtext en"
# disable camel case warning
# pylint: disable=C0103
+from contextlib import contextmanager
import sys
import os, os.path as osp
import re
@@ -78,7 +79,7 @@ from logilab.common.decorators import cached, classproperty
from logilab.common import textutils
-__all__ = ['unittest_main', 'find_tests']
+__all__ = ['unittest_main', 'find_tests', 'nocoverage', 'pause_trace']
DEFAULT_PREFIXES = ('test', 'regrtest', 'smoketest', 'unittest',
'func', 'validation')
@@ -199,6 +200,40 @@ def start_interactive_mode(result):
break
+# coverage pausing tools #####################################################
+
+ at contextmanager
+def replace_trace(trace=None):
+ """A context manager that temporary replaces the trace function"""
+ oldtrace = sys.gettrace()
+ sys.settrace(trace)
+ try:
+ yield
+ finally:
+ # specific hack to work around a bug in pycoverage, see
+ # https://bitbucket.org/ned/coveragepy/issue/123
+ if (oldtrace is not None and not callable(oldtrace) and
+ hasattr(oldtrace, 'pytrace')):
+ oldtrace = oldtrace.pytrace
+ sys.settrace(oldtrace)
+
+
+pause_trace = replace_trace
+
+
+def nocoverage(func):
+ """Function decorator that pauses tracing functions"""
+ if hasattr(func, 'uncovered'):
+ return func
+ func.uncovered = True
+
+ def not_covered(*args, **kwargs):
+ with pause_trace():
+ return func(*args, **kwargs)
+ not_covered.uncovered = True
+ return not_covered
+
+
# test utils ##################################################################
@@ -293,7 +328,6 @@ def _deprecate(original_func):
class TestCase(unittest.TestCase):
"""A unittest.TestCase extension with some additional methods."""
maxDiff = None
- pdbclass = Debugger
tags = Tags()
def __init__(self, methodName='runTest'):
diff --git a/logilab_common.egg-info/PKG-INFO b/logilab_common.egg-info/PKG-INFO
index 6101c77..3299e17 100644
--- a/logilab_common.egg-info/PKG-INFO
+++ b/logilab_common.egg-info/PKG-INFO
@@ -1,6 +1,6 @@
Metadata-Version: 1.1
Name: logilab-common
-Version: 1.1.0
+Version: 1.2.0
Summary: collection of low-level Python packages and modules used by Logilab projects
Home-page: http://www.logilab.org/project/logilab-common
Author: Logilab
diff --git a/test/unittest_date.py b/test/unittest_date.py
index 973951d..22302b0 100644
--- a/test/unittest_date.py
+++ b/test/unittest_date.py
@@ -20,11 +20,12 @@ Unittests for date helpers
"""
from logilab.common.testlib import TestCase, unittest_main, tag
-from logilab.common.date import date_range, endOfMonth
-from logilab.common.date import add_days_worked, nb_open_days, \
- get_national_holidays, ustrftime, ticks2datetime, utcdatetime
+from logilab.common.date import (date_range, endOfMonth, add_days_worked,
+ nb_open_days, get_national_holidays, ustrftime, ticks2datetime,
+ utcdatetime, datetime2ticks)
from datetime import date, datetime, timedelta
+from calendar import timegm
import pytz
try:
@@ -166,6 +167,13 @@ class DateTC(TestCase):
self.assertEqual(d, self.datetimecls(2014, 7, 26, 10, 0, 0, 57))
self.assertIsNone(d.tzinfo)
+ def test_datetime2ticks(self):
+ d = datetime(2014, 11, 26, 12, 0, 0, 57, tzinfo=pytz.utc)
+ timestamp = timegm(d.timetuple())
+ self.assertEqual(datetime2ticks(d), timestamp * 1000)
+ d = d.replace(microsecond=123456)
+ self.assertEqual(datetime2ticks(d), timestamp * 1000 + 123)
+
class MxDateTC(DateTC):
datecls = mxDate
diff --git a/test/unittest_pytest.py b/test/unittest_pytest.py
index 7966111..48e36ce 100644
--- a/test/unittest_pytest.py
+++ b/test/unittest_pytest.py
@@ -81,21 +81,6 @@ class ModuleFunctionTC(TestCase):
with replace_trace(tracefn):
myfn()
- def test_legacy_pause_resume_tracing(self):
- def tracefn(frame, event, arg):
- pass
-
- with replace_trace(tracefn):
- pause_tracing()
- self.assertIs(sys.gettrace(), None)
- with replace_trace(tracefn):
- pause_tracing()
- self.assertIs(sys.gettrace(), None)
- resume_tracing()
- self.assertIs(sys.gettrace(), tracefn)
- self.assertIs(sys.gettrace(), None)
- resume_tracing()
- self.assertIs(sys.gettrace(), tracefn)
if __name__ == '__main__':
unittest_main()
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/python-modules/packages/logilab-common.git
More information about the Python-modules-commits
mailing list