diff -r 23c3effa5d4f Lib/test/test_operator.py --- a/Lib/test/test_operator.py Sat Mar 28 23:40:41 2015 -0600 +++ b/Lib/test/test_operator.py Sun Mar 29 21:50:14 2015 +0300 @@ -1,3 +1,4 @@ +import inspect import operator import unittest @@ -33,6 +34,17 @@ class OperatorTestCase(unittest.TestCase): + + def test_missing_module_attribute(self): + skip = {'__subclasshook__', '__new__'} + + def _predicate(member): + return inspect.isbuiltin(member) and member.__name__ not in skip + + objects = inspect.getmembers(operator, predicate=_predicate) + for _, value in objects: + self.assertEqual(value.__module__, "operator", value) + def test_lt(self): self.failUnlessRaises(TypeError, operator.lt) self.failUnlessRaises(TypeError, operator.lt, 1j, 2j) diff -r 23c3effa5d4f src/org/python/modules/operator.java --- a/src/org/python/modules/operator.java Sat Mar 28 23:40:41 2015 -0600 +++ b/src/org/python/modules/operator.java Sun Mar 29 21:50:14 2015 +0300 @@ -27,6 +27,10 @@ this(name, index, argcount, argcount); } + public PyObject getModule() { + return Py.newString("operator"); + } + public OperatorFunctions(String name, int index, int minargs, int maxargs) { super(name, index, minargs, maxargs);