mirror of
https://github.com/anrieff/libcpuid
synced 2025-07-02 14:04:15 +00:00
Add simple sanity tests of the Python bindings
And include them in the CI together with pylint and formatting checks.
This commit is contained in:
parent
ec938b5d42
commit
9915832b21
4 changed files with 95 additions and 1 deletions
46
python/tests/sanity_test.py
Normal file
46
python/tests/sanity_test.py
Normal file
|
@ -0,0 +1,46 @@
|
|||
"""Sanity tests for the libcpuid package."""
|
||||
|
||||
import os
|
||||
import tempfile
|
||||
import libcpuid
|
||||
from libcpuid.info import CPUInfo, SystemInfo
|
||||
from libcpuid.raw import CPURawData, CPURawDataArray
|
||||
|
||||
|
||||
def test_cpu_name_in_vendor_list():
|
||||
"""
|
||||
Checks that the current CPU codename appears
|
||||
in the list of all CPUs of its vendor.
|
||||
"""
|
||||
info = CPUInfo.from_current_cpu()
|
||||
cpulist = libcpuid.get_cpu_list(info.vendor)
|
||||
assert info.cpu_codename in cpulist
|
||||
|
||||
|
||||
def test_serialization():
|
||||
"""
|
||||
Checks that CPU data serialization and
|
||||
deserialization does not raise any errors.
|
||||
"""
|
||||
with tempfile.TemporaryDirectory() as tmpdirname:
|
||||
info_file = os.path.join(tmpdirname, "info.txt")
|
||||
raw = CPURawData.from_current_cpu()
|
||||
raw.serialize(info_file)
|
||||
info = CPUInfo.from_raw(raw)
|
||||
info_from_file = CPUInfo.from_raw(CPURawData.from_file(info_file))
|
||||
assert info.features == info_from_file.features
|
||||
|
||||
|
||||
def test_array_serialization():
|
||||
"""
|
||||
Checks that CPU array data serialization and
|
||||
deserialization does not raise any errors.
|
||||
"""
|
||||
with tempfile.TemporaryDirectory() as tmpdirname:
|
||||
info_file = os.path.join(tmpdirname, "info.txt")
|
||||
raw_array = CPURawDataArray.from_all_cpus()
|
||||
raw_array.serialize(info_file)
|
||||
info = SystemInfo.from_raw_array(raw_array)
|
||||
info_from_file = SystemInfo.from_raw_array(CPURawDataArray.from_file(info_file))
|
||||
assert len(info) == len(info_from_file)
|
||||
assert info[0].features == info_from_file[0].features
|
Loading…
Add table
Add a link
Reference in a new issue