1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
|
https://github.com/nose-devs/nose/commit/0181572a64195a8fa1c6c867ae6c61a79a9606ca.diff
diff --git a/nose/util.py b/nose/util.py
index dcb5fef..e612696 100644
--- a/nose/util.py
+++ b/nose/util.py
@@ -447,11 +447,10 @@ def try_run(obj, names):
if func is not None:
if type(obj) == types.ModuleType:
# py.test compatibility
- try:
- args, varargs, varkw, defaults = inspect.getargspec(func)
- if hasattr(func, '__call__') and ismethod(func.__call__):
- args.pop(0)
- except TypeError:
+ if isinstance(func, types.FunctionType):
+ args, varargs, varkw, defaults = \
+ inspect.getargspec(func)
+ else:
# Not a function. If it's callable, call it anyway
if hasattr(func, '__call__'):
func = func.__call__
diff --git a/unit_tests/test_utils.py b/unit_tests/test_utils.py
index 2bd837c..cd9ba6e 100644
--- a/unit_tests/test_utils.py
+++ b/unit_tests/test_utils.py
@@ -1,4 +1,5 @@
import os
+import sys
import unittest
import nose
from nose import case
@@ -168,7 +169,7 @@ def __call__(self):
class Bar_m:
def __call__(self, mod):
pass
-
+
foo = imp.new_module('foo')
foo.bar = bar
foo.bar_m = bar_m
|