Issue2291

classification
Title: Allow to set version-related attributes in sys module
Type: Severity: normal
Components: Core Versions: Jython 2.7
Milestone:
process
Status: open Resolution:
Dependencies: Superseder:
Assigned To: Nosy List: Arfrever, jeff.allen, zyasoft
Priority: normal Keywords:

Created on 2015-03-13.11:34:22 by Arfrever, last changed 2018-03-06.19:29:52 by jeff.allen.

Messages
msg9644 (view) Author: Arfrever Frehtes Taifersar Arahesis (Arfrever) Date: 2015-03-13.11:34:21
Test suite of logilab-common-0.63.2 temporarily changes sys.version_info:


    def setUp(self):
        self.pyversion = sys.version_info

    def tearDown(self):
        sys.version_info = self.pyversion

    def test_require_version_good(self):
        """ should return the same function
        """
        def func() :
            pass
        sys.version_info = (2, 5, 5, 'final', 4)
        current = sys.version_info[:3]
        compare = ('2.4', '2.5', '2.5.4', '2.5.5')
        for version in compare:
            decorator = require_version(version)
            self.assertEqual(func, decorator(func), '%s =< %s : function \
                return by the decorator should be the same.' % (version,
                '.'.join([str(element) for element in current])))

    def test_require_version_bad(self):
        """ should return a different function : skipping test
        """
        def func() :
            pass
        sys.version_info = (2, 5, 5, 'final', 4)
        current = sys.version_info[:3]
        compare = ('2.5.6', '2.6', '2.6.5')
        for version in compare:
            decorator = require_version(version)
            self.assertNotEqual(func, decorator(func), '%s >= %s : function \
                 return by the decorator should NOT be the same.'
                 % ('.'.join([str(element) for element in current]), version))


I suggest to allow setting of version-related attributes:
sys._mercurial
sys.hexversion
sys.subversion
sys.version
sys.version_info

(See also bug #2290.)
msg9646 (view) Author: Jim Baker (zyasoft) Date: 2015-03-13.18:38:30
Hmmm, I suppose we could allow for this fiction, even though we generally prefer statics like these to be final.
msg9671 (view) Author: Jim Baker (zyasoft) Date: 2015-03-18.03:24:04
Defer to 2.7.1
msg11749 (view) Author: Jeff Allen (jeff.allen) Date: 2018-03-06.19:29:52
Looks like this continues to be allowed in CPython 3. Not high priority, I suggest, but likely to be easy.
History
Date User Action Args
2018-03-06 19:29:52jeff.allensetpriority: high -> normal
nosy: + jeff.allen
messages: + msg11749
milestone: Jython 2.7.2 ->
2015-12-29 23:47:54zyasoftsetmilestone: Jython 2.7.1 -> Jython 2.7.2
2015-04-20 20:57:13zyasoftsetmilestone: Jython 2.7.1
2015-03-18 03:24:04zyasoftsetpriority: high
messages: + msg9671
2015-03-13 18:38:30zyasoftsetmessages: + msg9646
2015-03-13 11:34:36Arfreversetcomponents: + Core
2015-03-13 11:34:22Arfrevercreate