2025-05-04 19:42:10 +00:00
|
|
|
#! /bin/env pytest
|
|
|
|
"""Tests of the Python bindings for Hamlib
|
|
|
|
|
|
|
|
Running this script directly will use the installed bindings.
|
|
|
|
For an in-tree run use "make check", or set PYTHONPATH to point to
|
|
|
|
the directories containing Hamlib.py and _Hamlib.so.
|
|
|
|
"""
|
|
|
|
import Hamlib
|
|
|
|
|
|
|
|
Hamlib.rig_set_debug(Hamlib.RIG_DEBUG_NONE)
|
|
|
|
|
|
|
|
AMP_MODEL = Hamlib.AMP_MODEL_DUMMY
|
|
|
|
|
|
|
|
class TestClass:
|
|
|
|
"""Container class for tests"""
|
|
|
|
|
|
|
|
def test_open_close(self):
|
|
|
|
"""Smoke test"""
|
|
|
|
amp = Hamlib.Amp(AMP_MODEL)
|
|
|
|
assert amp is not None
|
|
|
|
assert amp.open() is None
|
|
|
|
assert amp.close() is None
|
2025-05-04 20:47:44 +00:00
|
|
|
|
|
|
|
|
|
|
|
def test_all_methods(self):
|
|
|
|
"""Just call all the methods"""
|
|
|
|
amp = Hamlib.Amp(AMP_MODEL)
|
|
|
|
assert amp is not None
|
|
|
|
|
|
|
|
# the tests that do not depend on open()
|
|
|
|
assert amp.set_conf("", "") is None
|
|
|
|
assert amp.get_conf("") == ""
|
|
|
|
assert amp.get_conf(0) == ""
|
|
|
|
conf = amp.get_conf("mcfg")
|
|
|
|
assert isinstance(conf, str)
|
|
|
|
assert amp.set_conf("mcfg", "foo") is None
|
|
|
|
conf = amp.get_conf("mcfg")
|
|
|
|
assert conf == "" # FIXME: should return "foo"
|
|
|
|
assert amp.token_lookup("") is None
|
|
|
|
|
|
|
|
# the tests that depend on open()
|
|
|
|
assert amp.state.comm_state == 0
|
|
|
|
assert amp.open() is None
|
|
|
|
assert amp.state.comm_state == 1
|
|
|
|
info = amp.get_info()
|
|
|
|
assert isinstance(info, str)
|
|
|
|
assert amp.reset(Hamlib.AMP_RESET_FAULT) is None
|
|
|
|
assert amp.set_freq(0) is None
|
|
|
|
# assert amp.get_freq() is None # FIXME: AttributeError: 'Amp' object has no attribute 'get_freq'
|
|
|
|
assert amp.set_powerstat(Hamlib.RIG_POWER_OFF) is None
|
|
|
|
# assert amp.get_powerstat() is None # FIXME: AttributeError: 'Amp' object has no attribute 'get_powerstat'
|
|
|
|
assert amp.close() is None
|
|
|
|
assert amp.state.comm_state == 0
|
|
|
|
info = amp.get_info()
|
|
|
|
assert info is None
|