Commit graph

84 commits

Author SHA1 Message Date
Daniele Forsi IU5HKX
2890da9d79 Split the tests
It makes it easier in future to conditionally run some tests(eg.
to not test PTT for receiver-only rigs), or to run tests in
isolation (after renaming them).
It makes it easier to look at failing tests because pytest prints
the code of the failing test up to the failure including any
function that called the failed test (in this case would print
everything from def test_with_open() up to the line with the
failed assert.
2025-08-09 15:57:45 +02:00
Daniele Forsi IU5HKX
3bc1cc8744 Implement remaining event callbacks
Implements:
rig_set_dcd_callback(), rig_set_freq_callback(), rig_set_mode_callback(),
rig_pltune_callback(), rig_set_ptt_callback(), rig_set_spectrum_callback(),
rig_set_vfo_callback()
2025-08-09 10:33:51 +02:00
Daniele Forsi IU5HKX
8324c85487 Implement the Python callback for freq_event
Fixes #481.
2025-08-09 10:33:17 +02:00
Daniele Forsi IU5HKX
fbe9803777 Fix initialization of comm_status
The function rig_init() doesn't touch the hardware, it's rig_open()
that initiates the connection and in fact the first use of comm_status
in rig_open() is when it gets the value RIG_COMM_STATUS_CONNECTING and
rig_close() sets it to RIG_COMM_STATUS_DISCONNECTED.
2025-08-03 13:34:36 +02:00
Nate Bargmann
48804dc4da
Merge GitHub PR #1819 2025-07-27 18:45:52 -05:00
Daniele Forsi IU5HKX
c0ec84ca4b Add default values for make (dist)check 2025-07-27 20:13:07 +02:00
dforsi
96d5abab47
Merge branch 'master' into fix/pytest 2025-07-27 18:22:26 +02:00
Nate Bargmann
0d543f9483
Merge GitHub PR #1815 2025-07-27 10:54:55 -05:00
Daniele Forsi IU5HKX
0df9d1767e Allow to execute some tests with a simulator or with a real amplifier
To execute the tests with the installed Hamlib use the same long arguments
as ampctl, eg:
 bindings/python/test_amp.py --model {MODEL_NUMBER} --amp-file /dev/ttyUSB0 --serial-speed {BAUD}

To execute the tests from the build tree, add the path to the libraries
that you built, eg. from the root of the build tree:
 PYTHONPATH=bindings/:bindings/.libs/ ...your command...
2025-07-27 12:57:35 +02:00
Daniele Forsi IU5HKX
6088445635 Allow to execute some tests with a simulator or with a real rotator
To execute the tests with the installed Hamlib use the same long arguments
as rotctl, eg:
 bindings/python/test_rot.py --model {MODEL_NUMBER} --rot-file /dev/ttyUSB0 --serial-speed {BAUD}

To execute the tests from the build tree, add the path to the libraries
that you built, eg. from the root of the build tree:
 PYTHONPATH=bindings/:bindings/.libs/ ...your command...
2025-07-27 12:53:23 +02:00
Daniele Forsi IU5HKX
c3ec11e5f7 Allow to execute some tests with a simulator or with a real rig
To execute the tests with the installed Hamlib use the same long arguments
as rigctl, eg:
 bindings/python/test_rig.py --model {MODEL_NUMBER} --rig-file /dev/ttyUSB0 --serial-speed {BAUD}

To execute the tests from the build tree, add the path to the libraries
that you built, eg. from the root of the build tree:
 PYTHONPATH=bindings/:bindings/.libs/ ...your command...
2025-07-27 10:47:46 +02:00
Daniele Forsi IU5HKX
eb5a838f30 Check datatype before actual value 2025-07-27 10:22:54 +02:00
Daniele Forsi IU5HKX
fae77e4c02 Do the tests for set_vfo() and get_vfo() when the rig is open
Hamlib returns -RIG_EINVAL if the rig is not open.
2025-07-27 10:22:54 +02:00
Daniele Forsi IU5HKX
389155fcdf Do the tests for RIT and XIT when the rig is open
Hamlib returns -RIG_EINVAL if the rig is not open.
2025-07-27 10:22:54 +02:00
Daniele Forsi IU5HKX
c4ee44b135 Swap arguments of Rig.set_dcs_sql() and make both mandatory
Makes the signature of Rig.set_dcs_sql() similar to those of
set_ctcss_sql() set_ctcss_tone() set_dcs_code()
2025-07-27 10:22:54 +02:00
Daniele Forsi IU5HKX
62e42eb4b3 Do the tests for tones when the rig is open
Hamlib returns -RIG_EINVAL if the rig is not open.
2025-07-27 10:22:54 +02:00
Daniele Forsi IU5HKX
5c06c7b942 Add tests for Rig.set_freq() and Rig.get_freq() 2025-07-27 10:22:54 +02:00
Daniele Forsi IU5HKX
e54c38c522 Add comments to group tests 2025-07-27 10:22:49 +02:00
Daniele Forsi IU5HKX
9574e761ff Add meaningful arguments 2025-07-27 10:22:04 +02:00
Daniele Forsi IU5HKX
e83d72608b Fix the tests 2025-07-27 10:22:04 +02:00
Daniele Forsi IU5HKX
36576f8e40 Revert "Fix Rig.send_morse()"
This reverts commit 656cf536524197c56d0523d424ba4eacfdbbc278.

Conflicts:
	bindings/python/test_rig.py
2025-07-27 10:22:04 +02:00
Daniele Forsi IU5HKX
43193681b0 Revert "Fix Rig.send_dtmf()"
This reverts commit 0e3a90bb351f9a412c5920981ea7cdc18855c4cc.

Conflicts:
	bindings/python/test_rig.py
2025-07-27 10:22:04 +02:00
Daniele Forsi IU5HKX
5319f8b31b Revert "Fix Rig.set_freq()"
This reverts commit 070efb7b4127f0b5626596d071d6c68fcee1d3de.
2025-07-27 10:22:04 +02:00
Daniele Forsi IU5HKX
a617863a23 Revert "Fix Rig.set_mem()"
This reverts commit 663612051c7fcc455c978c9f82889e2a9ab4836d.
2025-07-27 10:22:04 +02:00
Daniele Forsi IU5HKX
2199ff2bde Revert "Fix Rig.set_ctcss_sql() Rig.set_ctcss_tone() Rig.set_dcs_code()"
This reverts commit ed7e5b2344ccabe0abf5d4f215345acf86aa834f.
2025-07-27 10:22:04 +02:00
Daniele Forsi IU5HKX
3240d2f8d3 Revert "Fix various methods"
This reverts commit 623b93db3dfb5c80aa89f67eb2eb2eff4c044faa.
2025-07-27 10:22:04 +02:00
Daniele Forsi IU5HKX
292da12566 Fix various methods
Fixes: set_ptt set_rit set_rptr_offs set_rptr_shift
set_split_freq set_ts set_xit vfo_op

This is also swapping the arguments to make the vfo optional
like in other methods.
2025-07-27 10:22:04 +02:00
Daniele Forsi IU5HKX
160c941e9e Fix Rig.set_ctcss_sql() Rig.set_ctcss_tone() Rig.set_dcs_code()
This is also swapping the arguments to make the vfo optional
like in other methods.
2025-07-27 10:22:04 +02:00
Daniele Forsi IU5HKX
25aae7d8e2 Fix Rig.set_mem()
This is also swapping the arguments to make the vfo optional
like in other methods.
2025-07-27 10:22:04 +02:00
Daniele Forsi IU5HKX
90c56f3e1f Fix Rig.set_freq()
This is also swapping the arguments to make the vfo optional
like in other methods.
2025-07-27 10:22:04 +02:00
Daniele Forsi IU5HKX
2b1428fd3e Add meaningful arguments 2025-07-27 10:22:04 +02:00
Daniele Forsi IU5HKX
8901b210ee Fix Rig.send_dtmf() 2025-07-27 10:22:04 +02:00
Daniele Forsi IU5HKX
13c2413bba Fix Rig.send_morse()
This is also swapping the arguments to make the vfo optional
like in other methods.
2025-07-27 10:22:04 +02:00
Daniele Forsi IU5HKX
25a2a4447f Fix Rig.get_ant() tests
The first argument is the antenna.
2025-07-27 10:22:04 +02:00
Daniele Forsi IU5HKX
bc25855f48 Check split argument in dummy_get_split_mode() and fix the test 2025-07-26 19:59:36 +02:00
Daniele Forsi IU5HKX
83ba4eb27f Update the tests 2025-07-22 23:42:30 +02:00
Michael Morgan
4da91f1a28
Use alternate quoting for older Python versions
Since Python 3.12, strings such as:

f"test_{object_name.replace(".", "_")}_class.py"

are allowed but older versions require single quotes around the dot and
underscore within the double quoted string.

Should quell CI error on Ubuntu Noble.
2025-07-22 16:15:56 -05:00
Daniele Forsi IU5HKX
ce6e4a8e57 Make test_amp.py more similar to the others 2025-07-19 17:22:25 +02:00
Daniele Forsi IU5HKX
1e484942fc Add the new includes that contain the state
And update the test again.
2025-07-19 17:15:56 +02:00
Daniele Forsi IU5HKX
74914f0db8 Remove duplicated tests 2025-07-19 17:15:53 +02:00
Daniele Forsi IU5HKX
e31ad81402 New model added 2025-07-18 23:56:54 +02:00
Daniele Forsi IU5HKX
a3ba82a8c8 Rewrite automated tests with newlines 2025-07-18 23:47:53 +02:00
Daniele Forsi IU5HKX
9931b1ce9c Put each item of callables and properties on a new line
Makes it easier to see diffs.
2025-07-18 23:41:36 +02:00
Daniele Forsi IU5HKX
60541cf35b Sort the lists of callables and properties
The dir() function returns a list which is not necessarily ordered
in fact it wasn't ordered on the CI runner.
2025-07-18 00:01:23 +02:00
George Baltz N3GB
b8c1d80626 Add required noise 2025-07-11 15:45:27 -04:00
Michael Morgan
6ae7e5986f
Update test_Hamlib_class.py 2025-07-09 11:11:02 -05:00
Daniele Forsi IU5HKX
61ad3cda10 Use Hamlib.rigerror2() to get the error message for the given error number 2025-07-06 15:25:51 +02:00
Daniele Forsi IU5HKX
bf518c0609 Fix Rig.get_ant()
The only supported value for get_ant() in the union of "option"
is signed integer.
Do the test when the rig is open.
2025-06-26 20:29:25 +02:00
Daniele Forsi IU5HKX
6c399b55ff Assert the length of sequences instead of the list datatype
We only need to check how many values exist.
2025-06-25 22:54:18 +02:00
Daniele Forsi IU5HKX
7223fb0766 Fix Rig.get_vfo_info() 2025-06-25 19:16:33 +02:00