我们从Python开源项目中,提取了以下20个代码示例,用于说明如何使用sys.pypy_version_info()。
def pytest_sessionstart(self, session): self._sessionstarttime = time.time() if not self.showheader: return self.write_sep("=", "test session starts", bold=True) verinfo = platform.python_version() msg = "platform %s -- Python %s" % (sys.platform, verinfo) if hasattr(sys, 'pypy_version_info'): verinfo = ".".join(map(str, sys.pypy_version_info[:3])) msg += "[pypy-%s-%s]" % (verinfo, sys.pypy_version_info[3]) msg += ", pytest-%s, py-%s, pluggy-%s" % ( pytest.__version__, py.__version__, pluggy.__version__) if self.verbosity > 0 or self.config.option.debug or \ getattr(self.config.option, 'pastebin', None): msg += " -- " + str(sys.executable) self.write_line(msg) lines = self.config.hook.pytest_report_header( config=self.config, startdir=self.startdir) lines.reverse() for line in flatten(lines): self.write_line(line)
def test_uint64(self): if sys.maxsize != (1 << 63)-1: py.test.skip('64 bit only') if IS_PYPY and sys.pypy_version_info < (5, 6): py.test.skip('Broken on PyPy<5.6') # buf = struct.pack('Q', sys.maxsize) val = unpack_primitive(ord('Q'), buf, 0) assert val == sys.maxsize assert type(val) is int # buf = struct.pack('Q', sys.maxsize+1) val = unpack_primitive(ord('Q'), buf, 0) assert val == sys.maxsize+1 if six.PY3: assert type(val) is int else: assert type(val) is long
def test_uint64(self): if sys.maxsize != (1 << 63)-1: pytest.skip('64 bit only') if IS_PYPY and sys.pypy_version_info < (5, 6): pytest.skip('Broken on PyPy<5.6') # buf = struct.pack('QQ', sys.maxsize, sys.maxsize+1) s = BaseSegment(buf) # val = s.read_uint64_magic(0) assert val == sys.maxsize == s.read_uint64(0) assert type(val) is int # val = s.read_primitive(0, ord('Q')) assert val == sys.maxsize == s.read_uint64(0) assert type(val) is int # val = s.read_uint64_magic(8) assert val == sys.maxsize+1 == s.read_uint64(8) if PY3: assert type(val) is int else: assert type(val) is long
def test_strhash(): expected_hash_empty_string = 0 if IS_PYPY: if PY3: # pypy3.5 v5.8 uses salt even for empty string expected_hash_empty_string = hash('') elif sys.pypy_version_info[:2] < (5,4): # pypy changed this on 5.4, related to issue #3 expected_hash_empty_string = -1 else: expected_hash_empty_string = -2 # h = _hash.strhash assert h(b'', 0, 0) == hash('') == expected_hash_empty_string assert h(b'hello', 0, 5) == hash('hello') assert h(b'hello', 1, 4) == hash('ello') assert h(b'hello', 1, 3) == hash('ell') assert h(b'hello', 1, 100) == hash('ello') assert h(b'hello', 1, 0) == hash('') assert h(b'hello', 100, 5) == hash('')
def test_capturing_unicode(testdir, method): if hasattr(sys, "pypy_version_info") and sys.pypy_version_info < (2,2): pytest.xfail("does not work on pypy < 2.2") if sys.version_info >= (3, 0): obj = "'b\u00f6y'" else: obj = "u'\u00f6y'" testdir.makepyfile(""" # coding=utf8 # taken from issue 227 from nosetests def test_unicode(): import sys print (sys.stdout) print (%s) """ % obj) result = testdir.runpytest("--capture=%s" % method) result.stdout.fnmatch_lines([ "*1 passed*" ])
def pypy_version(value=None): """Mock :data:`sys.pypy_version_info` Decorator example:: @mock.pypy_version((3, 6, 1)) def test_foo(self): ... Context example:: with mock.pypy_version((3, 6, 1)): ... """ return replace_module_value(sys, 'pypy_version_info', value)
def get_service_info(self): language_version = platform.python_version() if hasattr(sys, 'pypy_version_info'): runtime_version = '.'.join(map(str, sys.pypy_version_info[:3])) else: runtime_version = language_version result = { 'name': self.config.service_name, 'version': self.config.app_version, 'agent': { 'name': 'python', 'version': elasticapm.VERSION, }, 'argv': sys.argv, 'language': { 'name': 'python', 'version': platform.python_version(), }, 'pid': os.getpid(), 'process_title': None, 'runtime': { 'name': platform.python_implementation(), 'version': runtime_version, } } if self.config.framework_name: result['framework'] = { 'name': self.config.framework_name, 'version': self.config.framework_version, } return result
def start(self, seed=None, msg="test process starts"): self.write_center(msg) executable = sys.executable v = tuple(sys.version_info) python_version = "%s.%s.%s-%s-%s" % v implementation = platform.python_implementation() if implementation == 'PyPy': implementation += " %s.%s.%s-%s-%s" % sys.pypy_version_info self.write("executable: %s (%s) [%s]\n" % (executable, python_version, implementation)) from .misc import ARCH self.write("architecture: %s\n" % ARCH) from sympy.core.cache import USE_CACHE self.write("cache: %s\n" % USE_CACHE) from sympy.core.compatibility import GROUND_TYPES, HAS_GMPY version = '' if GROUND_TYPES =='gmpy': if HAS_GMPY == 1: import gmpy elif HAS_GMPY == 2: import gmpy2 as gmpy version = gmpy.version() self.write("ground types: %s %s\n" % (GROUND_TYPES, version)) if seed is not None: self.write("random seed: %d\n" % seed) from .misc import HASH_RANDOMIZATION self.write("hash randomization: ") hash_seed = os.getenv("PYTHONHASHSEED") or '0' if HASH_RANDOMIZATION and (hash_seed == "random" or int(hash_seed)): self.write("on (PYTHONHASHSEED=%s)\n" % hash_seed) else: self.write("off\n") if self._split: self.write("split: %s\n" % self._split) self.write('\n') self._t_start = clock()
def user_agent(): """ Return a string representing the user agent. """ data = { "installer": {"name": "pip", "version": pip.__version__}, "python": platform.python_version(), "implementation": { "name": platform.python_implementation(), }, } if data["implementation"]["name"] == 'CPython': data["implementation"]["version"] = platform.python_version() elif data["implementation"]["name"] == 'PyPy': if sys.pypy_version_info.releaselevel == 'final': pypy_version_info = sys.pypy_version_info[:3] else: pypy_version_info = sys.pypy_version_info data["implementation"]["version"] = ".".join( [str(x) for x in pypy_version_info] ) elif data["implementation"]["name"] == 'Jython': # Complete Guess data["implementation"]["version"] = platform.python_version() elif data["implementation"]["name"] == 'IronPython': # Complete Guess data["implementation"]["version"] = platform.python_version() if sys.platform.startswith("linux"): distro = dict(filter( lambda x: x[1], zip(["name", "version", "id"], platform.linux_distribution()), )) libc = dict(filter( lambda x: x[1], zip(["lib", "version"], platform.libc_ver()), )) if libc: distro["libc"] = libc if distro: data["distro"] = distro if sys.platform.startswith("darwin") and platform.mac_ver()[0]: data["distro"] = {"name": "OS X", "version": platform.mac_ver()[0]} if platform.system(): data.setdefault("system", {})["name"] = platform.system() if platform.release(): data.setdefault("system", {})["release"] = platform.release() if platform.machine(): data["cpu"] = platform.machine() return "{data[installer][name]}/{data[installer][version]} {json}".format( data=data, json=json.dumps(data, separators=(",", ":"), sort_keys=True), )