[Python-modules-commits] [python-cpuinfo] 01/03: New upstream version 3.3.0
Hugo Lefeuvre
hle at moszumanska.debian.org
Sun Sep 24 21:54:20 UTC 2017
This is an automated email from the git hooks/post-receive script.
hle pushed a commit to branch master
in repository python-cpuinfo.
commit ae99e7410a481178af90bbd6f4f69803a516011a
Author: Hugo Lefeuvre <hle at debian.org>
Date: Sun Sep 24 23:42:33 2017 +0200
New upstream version 3.3.0
---
ChangeLog | 15 +
PKG-INFO | 147 +---------
README.rst | 145 +---------
cpuinfo/cpuinfo.py | 159 ++++++++++-
py_cpuinfo.egg-info/PKG-INFO | 147 +---------
py_cpuinfo.egg-info/SOURCES.txt | 3 +
setup.py | 2 +-
test_suite.py | 11 +
tests/helpers.py | 12 +
tests/test_actual.py | 2 +-
tests/test_free_bsd_11_x86_64.py | 3 +-
tests/test_haiku_x86_32.py | 3 +-
tests/test_linux_aarch64_64.py | 5 +-
tests/test_linux_beagle_bone_arm.py | 3 +-
tests/test_linux_debian_8_5_x86_64.py | 3 +-
tests/test_linux_debian_8_7_1_ppc64le.py | 33 ++-
tests/test_linux_debian_8_x86_64.py | 3 +-
tests/test_linux_fedora_24_ppc64le.py | 405 +++++++++++++++++++++++++++
tests/test_linux_fedora_24_x86_64.py | 3 +-
tests/test_linux_gentoo_2_2_x86_64.py | 3 +-
tests/test_linux_odroid_c2_aarch64.py | 3 +-
tests/test_linux_odroid_xu3_arm_32.py | 317 +++++++++++++++++++++
tests/test_linux_raspberry_pi_model_b_arm.py | 3 +-
tests/test_linux_rhel_7_3_ppc64le.py | 383 +++++++++++++++++++++++++
tests/test_linux_ubuntu_16_04_x86_64.py | 3 +-
tests/test_osx_10_12_x86_64.py | 3 +-
tests/test_osx_10_9_x86_64.py | 9 +-
tests/test_parse_errors.py | 1 +
tests/test_pcbsd_10_x86_64.py | 3 +-
tests/test_solaris_11_x86_32.py | 3 +-
tests/test_windows_10_x86_64.py | 9 +-
tests/test_windows_8_x86_64.py | 9 +-
32 files changed, 1382 insertions(+), 471 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index 7638d1f..9e16c55 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,18 @@
+06/10/2017 Release 3.3.0
+ * Fixed Bug #70: subprocess.Popen breaks under Windows GUI app
+ * Fixed Bug #72: Fails to parse invalid CPUID result.
+
+04/19/2017 Release 3.2.0
+ * Fixed Bug #68: Broken Qemu guest CPU flag parsing on Ubuntu 17.04 POWER8
+
+04/19/2017 Release 3.1.0
+ * Fixed Bug #63: Include py-cpuinfo version in output
+ * Fixed Bug #29: Missing AVX2 CPU flag on OS X
+ * Fixed Bug #41: Broken on Odroid XU3 armhf ARM 32bit
+ * Fixed Bug #61: Not working on RHEL7.3 ppc64le
+ * Fixed Bug #56: Not working on Red Flag Linux ppc64le
+ * Fixed Bug #55: Not working on Fedora 24 ppc64le
+
04/05/2017 Release 3.0.0
* Change API to hide low level functions
* Fixed Bug #51: Combine data from all sources instead of picking one
diff --git a/PKG-INFO b/PKG-INFO
index 74bd113..101f8d0 100644
--- a/PKG-INFO
+++ b/PKG-INFO
@@ -1,6 +1,6 @@
Metadata-Version: 1.1
Name: py-cpuinfo
-Version: 3.0.0
+Version: 3.3.0
Summary: Get CPU info with pure Python 2 & 3
Home-page: https://github.com/workhorsy/py-cpuinfo
Author: Matthew Brennan Jones
@@ -15,150 +15,7 @@ Description: py-cpuinfo
It does not require any compilation(C/C++, assembly, et cetera) to use.
It works with Python 2 and 3.
- OS Support
- ----------
-
- +-----------+----------------------------------------------------------+-------------------+
- | OS | Tested and should work | Untested |
- +===========+==========================================================+===================+
- | Android | | Everything |
- +-----------+----------------------------------------------------------+-------------------+
- | BSD | FreeBSD, PC-BSD | OpenBSD, NetBSD |
- +-----------+----------------------------------------------------------+-------------------+
- | Cygwin | Windows | |
- +-----------+----------------------------------------------------------+-------------------+
- | Haiku | Haiku Nightly | BeOS |
- +-----------+----------------------------------------------------------+-------------------+
- | Linux | Arch, Centos, Debian, Fedora, Gentoo, OpenSuse, Ubuntu | |
- +-----------+----------------------------------------------------------+-------------------+
- | OS X | 10.8, 10.9, 10.10 | 10.11 |
- +-----------+----------------------------------------------------------+-------------------+
- | Solaris | Oracle Solaris, OpenIndiana | |
- +-----------+----------------------------------------------------------+-------------------+
- | Windows | XP, Vista, 7, 8, 10 | RT |
- +-----------+----------------------------------------------------------+-------------------+
-
- CPU Support
- -----------
-
- - X86 32bit and 64bit
- - Some ARM CPUs (tested on BeagleBone armv7l)
-
- API
- ---
-
- .. code:: python
-
- '''
- Returns the CPU info by using the best sources of information for your OS.
- Returns {} if nothing is found.
- '''
- get_cpu_info()
-
- Output
- ------
-
- +----------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- [...]
- | key | Example value [...]
- +============================+====================================================================================================================================================================================================================================================================================================================================================================================================================================================================== [...]
- | vendor\_id | "GenuineIntel" [...]
- +----------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- [...]
- | hardware | "BCM2708" [...]
- +----------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- [...]
- | brand | "Intel(R) Core(TM) i7 CPU 870 @ 2.93GHz" [...]
- +----------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- [...]
- | hz\_advertised | "2.9300 GHz" [...]
- +----------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- [...]
- | hz\_actual | "1.7330 GHz" [...]
- +----------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- [...]
- | hz\_advertised\_raw | (2930000000, 0) [...]
- +----------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- [...]
- | hz\_actual\_raw | (1733000000, 0) [...]
- +----------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- [...]
- | arch | "X86\_64" [...]
- +----------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- [...]
- | bits | 64 [...]
- +----------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- [...]
- | count | 4 [...]
- +----------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- [...]
- | raw\_arch\_string | "x86\_64" [...]
- +----------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- [...]
- | l2\_cache\_size | "8192 KB" [...]
- +----------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- [...]
- | l2\_cache\_line\_size | 0 [...]
- +----------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- [...]
- | l2\_cache\_associativity | 0 [...]
- +----------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- [...]
- | stepping | 5 [...]
- +----------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- [...]
- | model | 30 [...]
- +----------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- [...]
- | family | 6 [...]
- +----------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- [...]
- | processor\_type | 0 [...]
- +----------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- [...]
- | extended\_model | 0 [...]
- +----------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- [...]
- | extended\_family | 0 [...]
- +----------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- [...]
- | flags | ['acpi', 'aperfmperf', 'apic', 'arch\_perfmon', 'bts', 'clflush', 'cmov', 'constant\_tsc', 'cx16', 'cx8', 'de', 'ds\_cpl', 'dtes64', 'dtherm', 'dts', 'ept', 'est', 'flexpriority', 'fpu', 'fxsr', 'ht', 'ida', 'lahf\_lm', 'lm', 'mca', 'mce', 'mmx', 'monitor', 'msr', 'mtrr', 'nonstop\_tsc', 'nopl', 'nx', 'pae', 'pat', 'pbe', 'pdcm', 'pebs', 'pge', 'pni', 'popcnt', 'pse', 'pse36', 'rdtscp', 'rep\_good', 'sep', 'smx', 'ss', 'sse', 'sse2', 'sse4\_1', 'sse [...]
- +----------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- [...]
-
- These approaches are used for getting info:
- -------------------------------------------
-
- 1. Windows Registry (Windows)
- 2. /proc/cpuinfo (Linux)
- 3. sysctl (OS X)
- 4. dmesg (Unix/Linux)
- 5. /var/run/dmesg.boot (BSD/Unix)
- 6. isainfo and kstat (Solaris)
- 7. cpufreq-info (BeagleBone)
- 8. lscpu (Unix/Linux)
- 9. sysinfo (Haiku)
- 10. Querying the CPUID register (Intel X86 CPUs)
-
- Run as a script
- ---------------
-
- .. code:: bash
-
- $ python cpuinfo/cpuinfo.py
-
- Run as a module
- ---------------
-
- .. code:: bash
-
- $ python -m cpuinfo
-
- Run as a library
- ----------------
-
- .. code:: python
-
- import cpuinfo
- info = cpuinfo.get_cpu_info()
- print(info)
-
- Install instructions
- ----------------
-
- .. code:: bash
- $ python -m pip install -U py-cpuinfo
-
- Bugs and Corrections
- --------------------
-
- Please report a Bug if you suspect any of this information is wrong.
-
- If py-cpuinfo does not work on your machine, run the script:
-
- .. code:: bash
-
- python tools/get_system_info.py
-
- and create bug report with the generated "system\_info.txt" file.
+ Documentation can be viewed here: https://github.com/workhorsy/py-cpuinfo
Platform: UNKNOWN
Classifier: Development Status :: 5 - Production/Stable
diff --git a/README.rst b/README.rst
index ff3f322..d61c2a8 100644
--- a/README.rst
+++ b/README.rst
@@ -7,147 +7,4 @@ without any extra programs or libraries, beyond what your OS provides.
It does not require any compilation(C/C++, assembly, et cetera) to use.
It works with Python 2 and 3.
-OS Support
-----------
-
-+-----------+----------------------------------------------------------+-------------------+
-| OS | Tested and should work | Untested |
-+===========+==========================================================+===================+
-| Android | | Everything |
-+-----------+----------------------------------------------------------+-------------------+
-| BSD | FreeBSD, PC-BSD | OpenBSD, NetBSD |
-+-----------+----------------------------------------------------------+-------------------+
-| Cygwin | Windows | |
-+-----------+----------------------------------------------------------+-------------------+
-| Haiku | Haiku Nightly | BeOS |
-+-----------+----------------------------------------------------------+-------------------+
-| Linux | Arch, Centos, Debian, Fedora, Gentoo, OpenSuse, Ubuntu | |
-+-----------+----------------------------------------------------------+-------------------+
-| OS X | 10.8, 10.9, 10.10 | 10.11 |
-+-----------+----------------------------------------------------------+-------------------+
-| Solaris | Oracle Solaris, OpenIndiana | |
-+-----------+----------------------------------------------------------+-------------------+
-| Windows | XP, Vista, 7, 8, 10 | RT |
-+-----------+----------------------------------------------------------+-------------------+
-
-CPU Support
------------
-
-- X86 32bit and 64bit
-- Some ARM CPUs (tested on BeagleBone armv7l)
-
-API
----
-
-.. code:: python
-
-'''
-Returns the CPU info by using the best sources of information for your OS.
-Returns {} if nothing is found.
-'''
- get_cpu_info()
-
-Output
-------
-
-+----------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ [...]
-| key | Example value [...]
-+============================+============================================================================================================================================================================================================================================================================================================================================================================================================================================================================== [...]
-| vendor\_id | "GenuineIntel" [...]
-+----------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ [...]
-| hardware | "BCM2708" [...]
-+----------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ [...]
-| brand | "Intel(R) Core(TM) i7 CPU 870 @ 2.93GHz" [...]
-+----------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ [...]
-| hz\_advertised | "2.9300 GHz" [...]
-+----------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ [...]
-| hz\_actual | "1.7330 GHz" [...]
-+----------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ [...]
-| hz\_advertised\_raw | (2930000000, 0) [...]
-+----------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ [...]
-| hz\_actual\_raw | (1733000000, 0) [...]
-+----------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ [...]
-| arch | "X86\_64" [...]
-+----------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ [...]
-| bits | 64 [...]
-+----------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ [...]
-| count | 4 [...]
-+----------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ [...]
-| raw\_arch\_string | "x86\_64" [...]
-+----------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ [...]
-| l2\_cache\_size | "8192 KB" [...]
-+----------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ [...]
-| l2\_cache\_line\_size | 0 [...]
-+----------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ [...]
-| l2\_cache\_associativity | 0 [...]
-+----------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ [...]
-| stepping | 5 [...]
-+----------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ [...]
-| model | 30 [...]
-+----------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ [...]
-| family | 6 [...]
-+----------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ [...]
-| processor\_type | 0 [...]
-+----------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ [...]
-| extended\_model | 0 [...]
-+----------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ [...]
-| extended\_family | 0 [...]
-+----------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ [...]
-| flags | ['acpi', 'aperfmperf', 'apic', 'arch\_perfmon', 'bts', 'clflush', 'cmov', 'constant\_tsc', 'cx16', 'cx8', 'de', 'ds\_cpl', 'dtes64', 'dtherm', 'dts', 'ept', 'est', 'flexpriority', 'fpu', 'fxsr', 'ht', 'ida', 'lahf\_lm', 'lm', 'mca', 'mce', 'mmx', 'monitor', 'msr', 'mtrr', 'nonstop\_tsc', 'nopl', 'nx', 'pae', 'pat', 'pbe', 'pdcm', 'pebs', 'pge', 'pni', 'popcnt', 'pse', 'pse36', 'rdtscp', 'rep\_good', 'sep', 'smx', 'ss', 'sse', 'sse2', 'sse4\_1', 'sse4\_2', ' [...]
-+----------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ [...]
-
-These approaches are used for getting info:
--------------------------------------------
-
-1. Windows Registry (Windows)
-2. /proc/cpuinfo (Linux)
-3. sysctl (OS X)
-4. dmesg (Unix/Linux)
-5. /var/run/dmesg.boot (BSD/Unix)
-6. isainfo and kstat (Solaris)
-7. cpufreq-info (BeagleBone)
-8. lscpu (Unix/Linux)
-9. sysinfo (Haiku)
-10. Querying the CPUID register (Intel X86 CPUs)
-
-Run as a script
----------------
-
-.. code:: bash
-
- $ python cpuinfo/cpuinfo.py
-
-Run as a module
----------------
-
-.. code:: bash
-
- $ python -m cpuinfo
-
-Run as a library
-----------------
-
-.. code:: python
-
- import cpuinfo
- info = cpuinfo.get_cpu_info()
- print(info)
-
-Install instructions
-----------------
-
-.. code:: bash
- $ python -m pip install -U py-cpuinfo
-
-Bugs and Corrections
---------------------
-
-Please report a Bug if you suspect any of this information is wrong.
-
-If py-cpuinfo does not work on your machine, run the script:
-
-.. code:: bash
-
- python tools/get_system_info.py
-
-and create bug report with the generated "system\_info.txt" file.
+Documentation can be viewed here: https://github.com/workhorsy/py-cpuinfo
diff --git a/cpuinfo/cpuinfo.py b/cpuinfo/cpuinfo.py
index 5698585..d682a64 100644
--- a/cpuinfo/cpuinfo.py
+++ b/cpuinfo/cpuinfo.py
@@ -25,8 +25,10 @@
# TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
# SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+CPUINFO_VERSION = (3, 3, 0)
import os, sys
+import glob
import re
import time
import platform
@@ -95,6 +97,10 @@ class DataSource(object):
return len(program_paths('lscpu')) > 0
@staticmethod
+ def has_ibm_pa_features():
+ return len(program_paths('lsprop')) > 0
+
+ @staticmethod
def cat_proc_cpuinfo():
return run_and_get_stdout(['cat', '/proc/cpuinfo'])
@@ -139,6 +145,12 @@ class DataSource(object):
return run_and_get_stdout(['lscpu'])
@staticmethod
+ def ibm_pa_features():
+ ibm_features = glob.glob('/proc/device-tree/cpus/*/ibm,pa-features')
+ if ibm_features:
+ return run_and_get_stdout(['lsprop', ibm_features[0]])
+
+ @staticmethod
def winreg_processor_brand():
key = winreg.OpenKey(winreg.HKEY_LOCAL_MACHINE, r"Hardware\Description\System\CentralProcessor\0")
processor_brand = winreg.QueryValueEx(key, "ProcessorNameString")[0]
@@ -182,19 +194,22 @@ def obj_to_b64(thing):
return d
def b64_to_obj(thing):
- a = base64.b64decode(thing)
- b = pickle.loads(a)
- return b
+ try:
+ a = base64.b64decode(thing)
+ b = pickle.loads(a)
+ return b
+ except:
+ return {}
def run_and_get_stdout(command, pipe_command=None):
if not pipe_command:
- p1 = subprocess.Popen(command, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
+ p1 = subprocess.Popen(command, stdout=subprocess.PIPE, stderr=subprocess.PIPE, stdin=subprocess.PIPE)
output = p1.communicate()[0]
if not PY2:
output = output.decode(encoding='UTF-8')
return p1.returncode, output
else:
- p1 = subprocess.Popen(command, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
+ p1 = subprocess.Popen(command, stdout=subprocess.PIPE, stderr=subprocess.PIPE, stdin=subprocess.PIPE)
p2 = subprocess.Popen(pipe_command, stdin=p1.stdout, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
p1.stdout.close()
output = p2.communicate()[0]
@@ -1200,7 +1215,10 @@ def _get_cpu_info_from_cpufreq_info():
if returncode != 0:
return {}
- hz_brand = output.split('current CPU frequency is')[1].split('\n')[0].rsplit('.', 1)[0].lower().strip()
+ hz_brand = output.split('current CPU frequency is')[1].split('\n')[0]
+ i = hz_brand.find('Hz')
+ assert(i != -1)
+ hz_brand = hz_brand[0 : i+2].strip().lower()
if hz_brand.endswith('mhz'):
scale = 6
@@ -1299,6 +1317,130 @@ def _get_cpu_info_from_dmesg():
return _parse_dmesg_output(output)
+
+# https://openpowerfoundation.org/wp-content/uploads/2016/05/LoPAPR_DRAFT_v11_24March2016_cmt1.pdf
+# page 767
+def _get_cpu_info_from_ibm_pa_features():
+ '''
+ Returns the CPU info gathered from lsprop /proc/device-tree/cpus/*/ibm,pa-features
+ Returns {} if lsprop is not found or ibm,pa-features does not have the desired info.
+ '''
+ try:
+ # Just return {} if there is no lsprop
+ if not DataSource.has_ibm_pa_features():
+ return {}
+
+ # If ibm,pa-features fails return {}
+ returncode, output = DataSource.ibm_pa_features()
+ if output == None or returncode != 0:
+ return {}
+
+ # Filter out invalid characters from output
+ value = output.split("ibm,pa-features")[1].lower()
+ value = [s for s in value if s in list('0123456789abcfed')]
+ value = ''.join(value)
+
+ # Get data converted to Uint32 chunks
+ left = int(value[0 : 8], 16)
+ right = int(value[8 : 16], 16)
+
+ # Get the CPU flags
+ flags = {
+ # Byte 0
+ 'mmu' : is_bit_set(left, 0),
+ 'fpu' : is_bit_set(left, 1),
+ 'slb' : is_bit_set(left, 2),
+ 'run' : is_bit_set(left, 3),
+ #'reserved' : is_bit_set(left, 4),
+ 'dabr' : is_bit_set(left, 5),
+ 'ne' : is_bit_set(left, 6),
+ 'wtr' : is_bit_set(left, 7),
+
+ # Byte 1
+ 'mcr' : is_bit_set(left, 8),
+ 'dsisr' : is_bit_set(left, 9),
+ 'lp' : is_bit_set(left, 10),
+ 'ri' : is_bit_set(left, 11),
+ 'dabrx' : is_bit_set(left, 12),
+ 'sprg3' : is_bit_set(left, 13),
+ 'rislb' : is_bit_set(left, 14),
+ 'pp' : is_bit_set(left, 15),
+
+ # Byte 2
+ 'vpm' : is_bit_set(left, 16),
+ 'dss_2.05' : is_bit_set(left, 17),
+ #'reserved' : is_bit_set(left, 18),
+ 'dar' : is_bit_set(left, 19),
+ #'reserved' : is_bit_set(left, 20),
+ 'ppr' : is_bit_set(left, 21),
+ 'dss_2.02' : is_bit_set(left, 22),
+ 'dss_2.06' : is_bit_set(left, 23),
+
+ # Byte 3
+ 'lsd_in_dscr' : is_bit_set(left, 24),
+ 'ugr_in_dscr' : is_bit_set(left, 25),
+ #'reserved' : is_bit_set(left, 26),
+ #'reserved' : is_bit_set(left, 27),
+ #'reserved' : is_bit_set(left, 28),
+ #'reserved' : is_bit_set(left, 29),
+ #'reserved' : is_bit_set(left, 30),
+ #'reserved' : is_bit_set(left, 31),
+
+ # Byte 4
+ 'sso_2.06' : is_bit_set(right, 0),
+ #'reserved' : is_bit_set(right, 1),
+ #'reserved' : is_bit_set(right, 2),
+ #'reserved' : is_bit_set(right, 3),
+ #'reserved' : is_bit_set(right, 4),
+ #'reserved' : is_bit_set(right, 5),
+ #'reserved' : is_bit_set(right, 6),
+ #'reserved' : is_bit_set(right, 7),
+
+ # Byte 5
+ 'le' : is_bit_set(right, 8),
+ 'cfar' : is_bit_set(right, 9),
+ 'eb' : is_bit_set(right, 10),
+ 'lsq_2.07' : is_bit_set(right, 11),
+ #'reserved' : is_bit_set(right, 12),
+ #'reserved' : is_bit_set(right, 13),
+ #'reserved' : is_bit_set(right, 14),
+ #'reserved' : is_bit_set(right, 15),
+
+ # Byte 6
+ 'dss_2.07' : is_bit_set(right, 16),
+ #'reserved' : is_bit_set(right, 17),
+ #'reserved' : is_bit_set(right, 18),
+ #'reserved' : is_bit_set(right, 19),
+ #'reserved' : is_bit_set(right, 20),
+ #'reserved' : is_bit_set(right, 21),
+ #'reserved' : is_bit_set(right, 22),
+ #'reserved' : is_bit_set(right, 23),
+
+ # Byte 7
+ #'reserved' : is_bit_set(right, 24),
+ #'reserved' : is_bit_set(right, 25),
+ #'reserved' : is_bit_set(right, 26),
+ #'reserved' : is_bit_set(right, 27),
+ #'reserved' : is_bit_set(right, 28),
+ #'reserved' : is_bit_set(right, 29),
+ #'reserved' : is_bit_set(right, 30),
+ #'reserved' : is_bit_set(right, 31),
+ }
+
+ # Get a list of only the flags that are true
+ flags = [k for k, v in flags.items() if v]
+ flags.sort()
+
+ info = {
+ 'flags' : flags
+ }
+ info = {k: v for k, v in info.items() if v}
+
+ return info
+ except:
+ return {}
+
+
def _get_cpu_info_from_cat_var_run_dmesg_boot():
'''
Returns the CPU info gathered from /var/run/dmesg.boot.
@@ -1607,6 +1749,7 @@ def get_cpu_info():
arch, bits = parse_arch(DataSource.raw_arch_string)
info = {
+ 'cpuinfo_version' : CPUINFO_VERSION,
'arch' : arch,
'bits' : bits,
'count' : DataSource.cpu_count,
@@ -1637,6 +1780,9 @@ def get_cpu_info():
# Try /var/run/dmesg.boot
CopyNewFields(info, _get_cpu_info_from_cat_var_run_dmesg_boot())
+ # Try lsprop ibm,pa-features
+ CopyNewFields(info, _get_cpu_info_from_ibm_pa_features())
+
# Try sysinfo
CopyNewFields(info, _get_cpu_info_from_sysinfo())
@@ -1660,6 +1806,7 @@ def main():
info = get_cpu_info()
if info:
+ print('cpuinfo version: {0}'.format(info.get('cpuinfo_version', '')))
print('Vendor ID: {0}'.format(info.get('vendor_id', '')))
print('Hardware Raw: {0}'.format(info.get('hardware', '')))
print('Brand: {0}'.format(info.get('brand', '')))
diff --git a/py_cpuinfo.egg-info/PKG-INFO b/py_cpuinfo.egg-info/PKG-INFO
index 74bd113..101f8d0 100644
--- a/py_cpuinfo.egg-info/PKG-INFO
+++ b/py_cpuinfo.egg-info/PKG-INFO
@@ -1,6 +1,6 @@
Metadata-Version: 1.1
Name: py-cpuinfo
-Version: 3.0.0
+Version: 3.3.0
Summary: Get CPU info with pure Python 2 & 3
Home-page: https://github.com/workhorsy/py-cpuinfo
Author: Matthew Brennan Jones
@@ -15,150 +15,7 @@ Description: py-cpuinfo
It does not require any compilation(C/C++, assembly, et cetera) to use.
It works with Python 2 and 3.
- OS Support
- ----------
-
- +-----------+----------------------------------------------------------+-------------------+
- | OS | Tested and should work | Untested |
- +===========+==========================================================+===================+
- | Android | | Everything |
- +-----------+----------------------------------------------------------+-------------------+
- | BSD | FreeBSD, PC-BSD | OpenBSD, NetBSD |
- +-----------+----------------------------------------------------------+-------------------+
- | Cygwin | Windows | |
- +-----------+----------------------------------------------------------+-------------------+
- | Haiku | Haiku Nightly | BeOS |
- +-----------+----------------------------------------------------------+-------------------+
- | Linux | Arch, Centos, Debian, Fedora, Gentoo, OpenSuse, Ubuntu | |
- +-----------+----------------------------------------------------------+-------------------+
- | OS X | 10.8, 10.9, 10.10 | 10.11 |
- +-----------+----------------------------------------------------------+-------------------+
- | Solaris | Oracle Solaris, OpenIndiana | |
- +-----------+----------------------------------------------------------+-------------------+
- | Windows | XP, Vista, 7, 8, 10 | RT |
- +-----------+----------------------------------------------------------+-------------------+
-
- CPU Support
- -----------
-
- - X86 32bit and 64bit
- - Some ARM CPUs (tested on BeagleBone armv7l)
-
- API
- ---
-
- .. code:: python
-
- '''
- Returns the CPU info by using the best sources of information for your OS.
- Returns {} if nothing is found.
- '''
- get_cpu_info()
-
- Output
- ------
-
- +----------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- [...]
- | key | Example value [...]
- +============================+====================================================================================================================================================================================================================================================================================================================================================================================================================================================================== [...]
- | vendor\_id | "GenuineIntel" [...]
- +----------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- [...]
- | hardware | "BCM2708" [...]
- +----------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- [...]
- | brand | "Intel(R) Core(TM) i7 CPU 870 @ 2.93GHz" [...]
- +----------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- [...]
- | hz\_advertised | "2.9300 GHz" [...]
- +----------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- [...]
- | hz\_actual | "1.7330 GHz" [...]
- +----------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- [...]
- | hz\_advertised\_raw | (2930000000, 0) [...]
- +----------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- [...]
- | hz\_actual\_raw | (1733000000, 0) [...]
- +----------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- [...]
- | arch | "X86\_64" [...]
- +----------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- [...]
- | bits | 64 [...]
- +----------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- [...]
- | count | 4 [...]
- +----------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- [...]
- | raw\_arch\_string | "x86\_64" [...]
- +----------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- [...]
- | l2\_cache\_size | "8192 KB" [...]
- +----------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- [...]
- | l2\_cache\_line\_size | 0 [...]
- +----------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- [...]
- | l2\_cache\_associativity | 0 [...]
- +----------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- [...]
- | stepping | 5 [...]
- +----------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- [...]
- | model | 30 [...]
- +----------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- [...]
- | family | 6 [...]
- +----------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- [...]
- | processor\_type | 0 [...]
- +----------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- [...]
- | extended\_model | 0 [...]
- +----------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- [...]
- | extended\_family | 0 [...]
- +----------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- [...]
- | flags | ['acpi', 'aperfmperf', 'apic', 'arch\_perfmon', 'bts', 'clflush', 'cmov', 'constant\_tsc', 'cx16', 'cx8', 'de', 'ds\_cpl', 'dtes64', 'dtherm', 'dts', 'ept', 'est', 'flexpriority', 'fpu', 'fxsr', 'ht', 'ida', 'lahf\_lm', 'lm', 'mca', 'mce', 'mmx', 'monitor', 'msr', 'mtrr', 'nonstop\_tsc', 'nopl', 'nx', 'pae', 'pat', 'pbe', 'pdcm', 'pebs', 'pge', 'pni', 'popcnt', 'pse', 'pse36', 'rdtscp', 'rep\_good', 'sep', 'smx', 'ss', 'sse', 'sse2', 'sse4\_1', 'sse [...]
- +----------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- [...]
-
- These approaches are used for getting info:
- -------------------------------------------
-
- 1. Windows Registry (Windows)
- 2. /proc/cpuinfo (Linux)
- 3. sysctl (OS X)
- 4. dmesg (Unix/Linux)
- 5. /var/run/dmesg.boot (BSD/Unix)
- 6. isainfo and kstat (Solaris)
- 7. cpufreq-info (BeagleBone)
- 8. lscpu (Unix/Linux)
- 9. sysinfo (Haiku)
- 10. Querying the CPUID register (Intel X86 CPUs)
-
- Run as a script
- ---------------
-
- .. code:: bash
-
- $ python cpuinfo/cpuinfo.py
-
- Run as a module
- ---------------
-
- .. code:: bash
-
- $ python -m cpuinfo
-
- Run as a library
- ----------------
-
- .. code:: python
-
- import cpuinfo
- info = cpuinfo.get_cpu_info()
- print(info)
-
- Install instructions
- ----------------
-
- .. code:: bash
- $ python -m pip install -U py-cpuinfo
-
- Bugs and Corrections
- --------------------
-
- Please report a Bug if you suspect any of this information is wrong.
-
- If py-cpuinfo does not work on your machine, run the script:
-
- .. code:: bash
-
- python tools/get_system_info.py
-
- and create bug report with the generated "system\_info.txt" file.
+ Documentation can be viewed here: https://github.com/workhorsy/py-cpuinfo
Platform: UNKNOWN
Classifier: Development Status :: 5 - Production/Stable
diff --git a/py_cpuinfo.egg-info/SOURCES.txt b/py_cpuinfo.egg-info/SOURCES.txt
index 1eb71aa..8cb5f9d 100644
--- a/py_cpuinfo.egg-info/SOURCES.txt
+++ b/py_cpuinfo.egg-info/SOURCES.txt
@@ -24,10 +24,13 @@ tests/test_linux_beagle_bone_arm.py
tests/test_linux_debian_8_5_x86_64.py
tests/test_linux_debian_8_7_1_ppc64le.py
tests/test_linux_debian_8_x86_64.py
+tests/test_linux_fedora_24_ppc64le.py
tests/test_linux_fedora_24_x86_64.py
tests/test_linux_gentoo_2_2_x86_64.py
tests/test_linux_odroid_c2_aarch64.py
+tests/test_linux_odroid_xu3_arm_32.py
tests/test_linux_raspberry_pi_model_b_arm.py
+tests/test_linux_rhel_7_3_ppc64le.py
tests/test_linux_ubuntu_16_04_x86_64.py
tests/test_osx_10_12_x86_64.py
tests/test_osx_10_9_x86_64.py
diff --git a/setup.py b/setup.py
index 7bbecd8..edb4f2a 100644
--- a/setup.py
+++ b/setup.py
@@ -11,7 +11,7 @@ with open(os.path.join(os.getcwd(), 'README.rst'), 'r') as f:
setup(
name = "py-cpuinfo",
- version = "3.0.0",
+ version = "3.3.0",
author = "Matthew Brennan Jones",
author_email = "matthew.brennan.jones at gmail.com",
description = "Get CPU info with pure Python 2 & 3",
diff --git a/test_suite.py b/test_suite.py
index 507adbd..6e29e72 100644
--- a/test_suite.py
+++ b/test_suite.py
@@ -18,11 +18,14 @@ from test_linux_debian_8_5_x86_64 import TestLinuxDebian_8_5_X86_64
from test_linux_debian_8_7_1_ppc64le import TestLinuxDebian_8_7_1_ppc64le
from test_linux_ubuntu_16_04_x86_64 import TestLinuxUbuntu_16_04_X86_64
from test_linux_fedora_24_x86_64 import TestLinuxFedora_24_X86_64
+from test_linux_fedora_24_ppc64le import TestLinuxFedora_24_ppc64le
from test_linux_aarch64_64 import TestLinux_Aarch_64
from test_linux_gentoo_2_2_x86_64 import TestLinuxGentoo_2_2_X86_64
+from test_linux_rhel_7_3_ppc64le import TestLinuxRHEL_7_3_ppc64le
from test_linux_beagle_bone_arm import TestLinux_BeagleBone
from test_linux_raspberry_pi_model_b_arm import TestLinux_RaspberryPiModelB
from test_linux_odroid_c2_aarch64 import TestLinux_Odroid_C2_Aarch_64
+from test_linux_odroid_xu3_arm_32 import TestLinux_Odroid_XU3_arm_32
from test_pcbsd_10_x86_64 import TestPCBSD
from test_free_bsd_11_x86_64 import TestFreeBSD_11_X86_64
from test_osx_10_9_x86_64 import TestOSX_10_9
@@ -35,6 +38,11 @@ from test_cpuid import TestCPUID
from test_actual import TestActual
if __name__ == '__main__':
+ def logger(msg):
+ import inspect
+ print("\n{0}:{1}".format(msg, inspect.stack()[1][1:3]))
+ unittest.logger = logger
+
# Get all the tests
tests = [
TestParseCPUString,
@@ -46,11 +54,14 @@ if __name__ == '__main__':
TestLinuxDebian_8_7_1_ppc64le,
TestLinuxUbuntu_16_04_X86_64,
TestLinuxFedora_24_X86_64,
+ TestLinuxFedora_24_ppc64le,
TestLinux_Aarch_64,
TestLinuxGentoo_2_2_X86_64,
+ TestLinuxRHEL_7_3_ppc64le,
TestLinux_BeagleBone,
TestLinux_RaspberryPiModelB,
TestLinux_Odroid_C2_Aarch_64,
+ TestLinux_Odroid_XU3_arm_32,
TestFreeBSD_11_X86_64,
TestPCBSD,
TestOSX_10_9,
diff --git a/tests/helpers.py b/tests/helpers.py
index 9855e39..30a5bb3 100644
--- a/tests/helpers.py
+++ b/tests/helpers.py
@@ -12,6 +12,10 @@ class EmptyDataSource(object):
return False
@staticmethod
+ def has_ibm_pa_features():
+ return False
+
+ @staticmethod
def has_dmesg():
return False
@@ -103,6 +107,8 @@ def _actual_monkey_patch_data_source(cpuinfo, NewDataSource):
cpuinfo.DataSource.has_kstat = staticmethod(NewDataSource.has_kstat)
if hasattr(NewDataSource, 'has_sysinfo'):
cpuinfo.DataSource.has_sysinfo = staticmethod(NewDataSource.has_sysinfo)
+ if hasattr(NewDataSource, 'has_ibm_pa_features'):
+ cpuinfo.DataSource.has_ibm_pa_features = staticmethod(NewDataSource.has_ibm_pa_features)
if hasattr(NewDataSource, 'has_lscpu'):
cpuinfo.DataSource.has_lscpu = staticmethod(NewDataSource.has_lscpu)
if hasattr(NewDataSource, 'cat_proc_cpuinfo'):
@@ -125,6 +131,8 @@ def _actual_monkey_patch_data_source(cpuinfo, NewDataSource):
cpuinfo.DataSource.kstat_m_cpu_info = staticmethod(NewDataSource.kstat_m_cpu_info)
if hasattr(NewDataSource, 'lscpu'):
cpuinfo.DataSource.lscpu = staticmethod(NewDataSource.lscpu)
+ if hasattr(NewDataSource, 'ibm_pa_features'):
+ cpuinfo.DataSource.ibm_pa_features = staticmethod(NewDataSource.ibm_pa_features)
if hasattr(NewDataSource, 'sysinfo_cpu'):
cpuinfo.DataSource.sysinfo_cpu = staticmethod(NewDataSource.sysinfo_cpu)
if hasattr(NewDataSource, 'winreg_processor_brand'):
@@ -157,6 +165,7 @@ def backup_data_source(cpuinfo):
cpuinfo.BackupDataSource.has_kstat = staticmethod(cpuinfo.DataSource.has_kstat)
cpuinfo.BackupDataSource.has_sysinfo = staticmethod(cpuinfo.DataSource.has_sysinfo)
cpuinfo.BackupDataSource.has_lscpu = staticmethod(cpuinfo.DataSource.has_lscpu)
+ cpuinfo.BackupDataSource.has_ibm_pa_features = staticmethod(cpuinfo.DataSource.has_ibm_pa_features)
cpuinfo.BackupDataSource.cat_proc_cpuinfo = staticmethod(cpuinfo.DataSource.cat_proc_cpuinfo)
cpuinfo.BackupDataSource.cpufreq_info = staticmethod(cpuinfo.DataSource.cpufreq_info)
cpuinfo.BackupDataSource.sestatus_allow_execheap = staticmethod(cpuinfo.DataSource.sestatus_allow_execheap)
@@ -167,6 +176,7 @@ def backup_data_source(cpuinfo):
cpuinfo.BackupDataSource.isainfo_vb = staticmethod(cpuinfo.DataSource.isainfo_vb)
cpuinfo.BackupDataSource.kstat_m_cpu_info = staticmethod(cpuinfo.DataSource.kstat_m_cpu_info)
cpuinfo.BackupDataSource.lscpu = staticmethod(cpuinfo.DataSource.lscpu)
+ cpuinfo.BackupDataSource.ibm_pa_features = staticmethod(cpuinfo.DataSource.ibm_pa_features)
cpuinfo.BackupDataSource.sysinfo_cpu = staticmethod(cpuinfo.DataSource.sysinfo_cpu)
cpuinfo.BackupDataSource.winreg_processor_brand = staticmethod(cpuinfo.DataSource.winreg_processor_brand)
cpuinfo.BackupDataSource.winreg_vendor_id = staticmethod(cpuinfo.DataSource.winreg_vendor_id)
@@ -191,6 +201,7 @@ def restore_data_source(cpuinfo):
cpuinfo.DataSource.has_kstat = cpuinfo.BackupDataSource.has_kstat
cpuinfo.DataSource.has_sysinfo = cpuinfo.BackupDataSource.has_sysinfo
cpuinfo.DataSource.has_lscpu = cpuinfo.BackupDataSource.has_lscpu
+ cpuinfo.DataSource.has_ibm_pa_features = cpuinfo.BackupDataSource.has_ibm_pa_features
cpuinfo.DataSource.cat_proc_cpuinfo = cpuinfo.BackupDataSource.cat_proc_cpuinfo
cpuinfo.DataSource.cpufreq_info = cpuinfo.BackupDataSource.cpufreq_info
cpuinfo.DataSource.sestatus_allow_execheap = cpuinfo.BackupDataSource.sestatus_allow_execheap
@@ -201,6 +212,7 @@ def restore_data_source(cpuinfo):
cpuinfo.DataSource.isainfo_vb = cpuinfo.BackupDataSource.isainfo_vb
cpuinfo.DataSource.kstat_m_cpu_info = cpuinfo.BackupDataSource.kstat_m_cpu_info
cpuinfo.DataSource.lscpu = cpuinfo.BackupDataSource.lscpu
+ cpuinfo.DataSource.ibm_pa_features = cpuinfo.BackupDataSource.ibm_pa_features
cpuinfo.DataSource.sysinfo_cpu = cpuinfo.BackupDataSource.sysinfo_cpu
cpuinfo.DataSource.winreg_processor_brand = cpuinfo.BackupDataSource.winreg_processor_brand
cpuinfo.DataSource.winreg_vendor_id = cpuinfo.BackupDataSource.winreg_vendor_id
diff --git a/tests/test_actual.py b/tests/test_actual.py
index 16a6f0e..fa0d934 100644
--- a/tests/test_actual.py
+++ b/tests/test_actual.py
@@ -70,7 +70,7 @@ class TestActual(unittest.TestCase):
elif os_type == 'Linux':
self.assertEqual({}, cpuinfo._get_cpu_info_from_registry())
self.assertEqual({}, cpuinfo._get_cpu_info_from_cpufreq_info())
- self.assertTrue(len(cpuinfo._get_cpu_info_from_lscpu()) > 0)
+ #self.assertTrue(len(cpuinfo._get_cpu_info_from_lscpu()) > 0)
self.assertTrue(len(cpuinfo._get_cpu_info_from_proc_cpuinfo()) > 0)
self.assertEqual({}, cpuinfo._get_cpu_info_from_sysctl())
self.assertEqual({}, cpuinfo._get_cpu_info_from_kstat())
diff --git a/tests/test_free_bsd_11_x86_64.py b/tests/test_free_bsd_11_x86_64.py
index 0a83477..d8ed0bb 100644
--- a/tests/test_free_bsd_11_x86_64.py
+++ b/tests/test_free_bsd_11_x86_64.py
@@ -78,9 +78,10 @@ class TestFreeBSD_11_X86_64(unittest.TestCase):
self.assertEqual(0, len(cpuinfo._get_cpu_info_from_kstat()))
self.assertEqual(10, len(cpuinfo._get_cpu_info_from_dmesg()))
self.assertEqual(10, len(cpuinfo._get_cpu_info_from_cat_var_run_dmesg_boot()))
+ self.assertEqual(0, len(cpuinfo._get_cpu_info_from_ibm_pa_features()))
self.assertEqual(0, len(cpuinfo._get_cpu_info_from_sysinfo()))
self.assertEqual(0, len(cpuinfo._get_cpu_info_from_cpuid()))
- self.assertEqual(14, len(cpuinfo.get_cpu_info()))
+ self.assertEqual(15, len(cpuinfo.get_cpu_info()))
def test_get_cpu_info_from_dmesg(self):
info = cpuinfo._get_cpu_info_from_dmesg()
diff --git a/tests/test_haiku_x86_32.py b/tests/test_haiku_x86_32.py
index 41c2fd7..c241979 100644
--- a/tests/test_haiku_x86_32.py
+++ b/tests/test_haiku_x86_32.py
@@ -71,9 +71,10 @@ class TestHaiku(unittest.TestCase):
self.assertEqual(0, len(cpuinfo._get_cpu_info_from_kstat()))
self.assertEqual(0, len(cpuinfo._get_cpu_info_from_dmesg()))
self.assertEqual(0, len(cpuinfo._get_cpu_info_from_cat_var_run_dmesg_boot()))
+ self.assertEqual(0, len(cpuinfo._get_cpu_info_from_ibm_pa_features()))
self.assertEqual(9, len(cpuinfo._get_cpu_info_from_sysinfo()))
self.assertEqual(0, len(cpuinfo._get_cpu_info_from_cpuid()))
- self.assertEqual(13, len(cpuinfo.get_cpu_info()))
+ self.assertEqual(14, len(cpuinfo.get_cpu_info()))
def test_get_cpu_info_from_sysinfo(self):
info = cpuinfo._get_cpu_info_from_sysinfo()
diff --git a/tests/test_linux_aarch64_64.py b/tests/test_linux_aarch64_64.py
index eaba791..44b6c66 100644
--- a/tests/test_linux_aarch64_64.py
+++ b/tests/test_linux_aarch64_64.py
@@ -123,14 +123,15 @@ class TestLinux_Aarch_64(unittest.TestCase):
self.assertEqual(0, len(cpuinfo._get_cpu_info_from_kstat()))
self.assertEqual(0, len(cpuinfo._get_cpu_info_from_dmesg()))
self.assertEqual(0, len(cpuinfo._get_cpu_info_from_cat_var_run_dmesg_boot()))
+ self.assertEqual(0, len(cpuinfo._get_cpu_info_from_ibm_pa_features()))
self.assertEqual(0, len(cpuinfo._get_cpu_info_from_sysinfo()))
self.assertEqual(0, len(cpuinfo._get_cpu_info_from_cpuid()))
- self.assertEqual(5, len(cpuinfo.get_cpu_info()))
+ self.assertEqual(6, len(cpuinfo.get_cpu_info()))
def test_get_cpu_info_from_lscpu(self):
info = cpuinfo._get_cpu_info_from_lscpu()
- self.assertEqual(0, len(cpuinfo._get_cpu_info_from_lscpu()))
+ self.assertEqual(0, len(info))
def test_get_cpu_info_from_proc_cpuinfo(self):
info = cpuinfo._get_cpu_info_from_proc_cpuinfo()
diff --git a/tests/test_linux_beagle_bone_arm.py b/tests/test_linux_beagle_bone_arm.py
index e9fae88..df5948f 100644
--- a/tests/test_linux_beagle_bone_arm.py
+++ b/tests/test_linux_beagle_bone_arm.py
@@ -84,9 +84,10 @@ class TestLinux_BeagleBone(unittest.TestCase):
self.assertEqual(0, len(cpuinfo._get_cpu_info_from_kstat()))
self.assertEqual(0, len(cpuinfo._get_cpu_info_from_dmesg()))
self.assertEqual(0, len(cpuinfo._get_cpu_info_from_cat_var_run_dmesg_boot()))
+ self.assertEqual(0, len(cpuinfo._get_cpu_info_from_ibm_pa_features()))
self.assertEqual(0, len(cpuinfo._get_cpu_info_from_sysinfo()))
self.assertEqual(0, len(cpuinfo._get_cpu_info_from_cpuid()))
... 1482 lines suppressed ...
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/python-modules/packages/python-cpuinfo.git
More information about the Python-modules-commits
mailing list