Commit graph

194 commits

Author SHA1 Message Date
Paul Kronenwetter e289d6e17b Add test for beacon 2022-06-15 19:42:16 -04:00
Paul Kronenwetter 1ff6f95045 Reduce number of burst retries. 2022-06-15 19:42:16 -04:00
Paul Kronenwetter e5f2f18798 Reduce variations to decrease test time. 2022-06-15 19:42:16 -04:00
Paul Kronenwetter 171b3b6b0a Convert test to use sock.SOCKET_QUEUE.
Makes this consistent with other tests.
2022-06-15 19:42:16 -04:00
Paul Kronenwetter 97244edeb5 Add timeout to highsnr_stdio tests. 2022-06-15 19:42:16 -04:00
Paul Kronenwetter 7a3259eee2 Use pytest's tmp_dir fixture
Used for log file and FIFO files.
2022-06-15 19:42:16 -04:00
Paul Kronenwetter f2f9fce6a4 Remove unused parameterizations.
Add retries.
2022-06-15 19:42:16 -04:00
Paul Kronenwetter 74abeec08d Decrease number of frame retries.
Attempt to shorten the time failed tests take to end.
2022-06-15 19:42:16 -04:00
Paul Kronenwetter 84e74d31e2 Use a better way to exit the infinite while loop. 2022-06-15 19:42:16 -04:00
Paul Kronenwetter ab772d1f70 Correct import fix. 2022-06-15 19:42:16 -04:00
Paul Kronenwetter fa84850de2 Rename to chat text. 2022-06-15 19:42:16 -04:00
Paul Kronenwetter a11c377a31 Minor updates 2022-06-15 19:42:16 -04:00
Paul Kronenwetter a13a2c0534 Clean up code and output. 2022-06-15 19:42:16 -04:00
Paul Kronenwetter e183f9a419 Adjust checks to use SOCKET_QUEUE. 2022-06-15 19:42:16 -04:00
Paul Kronenwetter 1fcd7dbdec Correct status check. 2022-06-15 19:42:16 -04:00
Paul Kronenwetter d258fa74b3 Update checks for successful transmission. 2022-06-15 19:42:16 -04:00
Paul Kronenwetter bd563012fa Adapt test to use SOCKET_QUEUE rather than static.INFO. 2022-06-15 19:42:16 -04:00
Paul Kronenwetter a9e60cd7bc Revert add priming packet to FIFO.
This didn't work as intended.
2022-06-15 19:42:16 -04:00
Paul Kronenwetter 1cec49bf77 Add priming packet to FIFO.
This forces the originating TNC to be out-of-sync when receiving frames.
2022-06-15 19:42:16 -04:00
Paul Kronenwetter 04948552d0 Clean up imports. 2022-06-15 19:42:16 -04:00
Paul Kronenwetter 3bd4b4cb75 Remove first packet send.
Fix missed status enum reference.
2022-06-15 19:42:16 -04:00
Paul Kronenwetter f0d327e98e Adjust timeouts. 2022-06-15 19:42:16 -04:00
Paul Kronenwetter 448777af86 Add another rerun on test failure. 2022-06-15 19:42:16 -04:00
Paul Kronenwetter 80784d7114 Ignore type "errors." 2022-06-15 19:42:16 -04:00
Paul Kronenwetter ea356f963a Help CPU load in while loop.
Tried 0.05 but it caused test failures.
2022-06-15 19:42:16 -04:00
Paul Kronenwetter 1071ef58e1 Remove dependence on static FRAME_TYPE enum. 2022-06-15 19:42:16 -04:00
Paul Kronenwetter 2481102fa2 Increase timeout for slower test machines. 2022-06-15 19:42:16 -04:00
Paul Kronenwetter b618fe6c89 Fix minor import problem. 2022-06-15 19:42:16 -04:00
Paul Kronenwetter 79a1ba2302 Short and long data transfer test.
These appear to work reasonably well with an
occasional transient failure.
2022-06-15 19:42:16 -04:00
Paul Kronenwetter 0ff2b69895 Adjust for setup_logging enhancement. 2022-06-15 19:42:16 -04:00
Paul Kronenwetter 59dbf4174d Work toward a usable test. 2022-06-15 19:42:16 -04:00
Paul Kronenwetter b3e0d1de1b Refactor tnc_states test.
This will avoid cross-test interference this test has caused.
2022-06-15 19:42:16 -04:00
Paul Kronenwetter 55fc2d2263 Adjustments to WIP utilities. 2022-06-15 19:42:16 -04:00
Paul Kronenwetter d478724558 Reduce number of retries. 2022-06-15 19:42:16 -04:00
Paul Kronenwetter e079c49729 Correct internal test order dependency. 2022-06-15 19:42:16 -04:00
Paul Kronenwetter af355244a1 Use pytest-rerunfailures instead of re-inventing it. 2022-06-15 19:42:16 -04:00
Paul Kronenwetter 9d268b99ad Add change to test directory for high SNR python tests. 2022-06-15 19:42:16 -04:00
Paul Kronenwetter c15b11fe7b Fix tests and tnc after merge. 2022-06-15 19:42:12 -04:00
Paul Kronenwetter 1f8106258d Adding bandwidth switch for arq test. 2022-06-15 19:40:14 -04:00
Paul Kronenwetter a6d1f89687 Restore accidentally deleted code. 2022-06-15 19:40:14 -04:00
Paul Kronenwetter b89be14319 Initial implementation. 2022-06-15 19:40:14 -04:00
Paul Kronenwetter 3a8cc57a72 Update for consistency with other tests. 2022-06-15 19:40:14 -04:00
Paul Kronenwetter ba4bc03a87 Renaming test utilities as util_.
Removed test_arq_short from the list while it's being rewritten.
2022-06-15 19:40:14 -04:00
Paul Kronenwetter a2992e6f0f Trying to be less dependent on env variables. 2022-06-15 19:40:14 -04:00
Paul Kronenwetter 46f95ad94e Ignore unknown arguments in argparse. 2022-06-15 19:37:55 -04:00
Paul Kronenwetter 1866e40145 Various refactorings.
Type hints, trailing backslash, range usage, etc.
2022-06-15 19:37:55 -04:00
Paul Kronenwetter 017005031f Parameterize recent tests.
Renamed datac0 to datacx after including all data codecs in test.
2022-06-15 19:37:55 -04:00
Paul Kronenwetter 739ab03343 Adding pure python highsnr_stdio_P_P_datac0 test.
Intended to replace highsnr_stdio_P_P_datac0 which uses POSIX shell.
2022-06-15 19:37:55 -04:00
Paul Kronenwetter 2325803dd3 Added parameters to tests.
Make other minor tweaks and documentation.
2022-06-15 19:37:55 -04:00
Paul Kronenwetter 3874cc19ad Completed initial set of tests. 2022-06-15 19:37:55 -04:00
Paul Kronenwetter 6a565ffe41 Merge branch 'main' into refactor_N2KIQ-202205-2 2022-05-28 11:52:05 -04:00
Paul Kronenwetter 4c16efaf2c Add retries to test_tnc to make passing more likely. 2022-05-24 18:28:06 -04:00
DJ2LS e05bc262ad and some more typos and whitespace correction.. 2022-05-23 14:26:14 +02:00
Paul Kronenwetter 5c6cee1c21
Enhance tests (#185)
* Initial attempt to create unit tests for DATA class (tnc).

* Completed initial set of tests.

* Adding pytest to install packages.

* Corrects issue #173 fix

I didn't look carefully enough at `helpers.check_callsign` to see that it returns a list. The first element of the list is `True`/`False`.

* Making check_callsign evaluation more consistent.

* Update .gitignore

this is more a test commit to see if GitHub Client for MacOS is working,

* mkfifo test prototype

First partially working prototype for testing the full tnc with mkfifo named pipes.

* single tnc test file

moved to a single file for running tnc tests

* fixed typo

* Added parameters to tests.

Make other minor tweaks and documentation.

* Clean up two existing tests.

Adapted both tests to pytest and maintained
compatibility with existing ctest method.
Tweaked CMakeLists.txt .

* Adding pure python  highsnr_stdio_P_P_multi test.

Intended to replace highsnr_stdio_P_P_multi which uses POSIX shell.

* Adding pure python  highsnr_stdio_P_P_datac0 test.

Intended to replace highsnr_stdio_P_P_datac0 which uses POSIX shell.

* Parameterize recent tests.

Renamed datac0 to datacx after including all data codecs in test.

* Parameterize mode as well.

Add ability to run tests from main directory as well as within test/.

* Add list of tests and brief descriptions.

* Add more native python tests conversions.

* Update README with new tests.

* Tweak README again.

* Rename test to be findable by pytest.

* Rename test for ctest.

* Update correct file this time.

* Minor test tweaks.

* Add modem test proof-of-concept.

* Adjustment to ARQ short test.

* Various refactorings.

Type hints, trailing backslash, range usage, etc.

* Ignore unknown arguments in argparse.

* Minor cleanups.

* Update test/README.md.

* Update test_pa to quiet pylint.

* Give up trying to suppress structlog output.

* Correct module comments.

* Remove excess trailing spaces.

* Remove excess newlines.

* Various refactorings.

Type hints, trailing backslash, range usage, etc.

* mkfifo test prototype

First partially working prototype for testing the full tnc with mkfifo named pipes.

* Update test_tnc and tweak IRS/ISS.

* Correct test_modem to detect failures.

* Trying to be less dependent on env variables.

* Add IRS/ISS tests to ctests

* Pin codec2 revision to v1.0.3.

* Correcting git mistake.

* Pin codec2 revision to master.

This should be a specific release, that implements freedv_set_tuning_range.

Co-authored-by: DJ2LS <75909252+DJ2LS@users.noreply.github.com>
2022-05-21 23:04:17 +00:00
dj2ls ea133f054d moved simple test from pyaudio to sounddevice
thisis just a test as I'm not happy with the overall way we are dong tests. This has been great during first steps with the tnc ( virtual audio devices ) but now we should to a more reliable way with named pipes for example
2022-04-30 12:27:14 +02:00
dj2ls a90abb122f enable/disable cq response
Enable and disable CQ response via GUI. Also moved settings to settings modal - with a small redesign. Auto updater still WIP
2022-04-18 17:17:53 +02:00
Paul Kronenwetter ee2eb790fa Minor typo correction. 2022-04-15 07:17:35 -04:00
dj2ls 7d6256ba6a fixed ctest 2022-04-15 11:29:40 +02:00
Paul Kronenwetter 4358dd9c8a Correcting some typos. 2022-04-10 13:20:58 -04:00
dj2ls a2552be843 repeat frame ack and fixed repeat transmission from gui 2022-04-06 10:15:14 +02:00
dj2ls 16f23d2f1d new chat release 2022-03-29 22:24:35 +02:00
dj2ls 1519c22358 connection mode, documentation, ...
changes in all areas
2022-03-04 16:50:32 +01:00
dj2ls 2d36411a72 fixed arq test
@drowe67 thanks, I forgit to move the test to the new fifo queue
2022-01-12 07:42:37 +01:00
dj2ls 32021ddfe5 updated readme 2022-01-12 07:32:09 +01:00
dj2ls 9458843a43 time meassurement for tests
added time meassurement for raw decoding time #106
2022-01-10 10:51:26 +01:00
DJ2LS 71be19ecc4
Merge branch 'main' into ls-hamlib-test 2022-01-05 11:54:31 +01:00
dj2ls f93415d0b8 test and ARQ improvements
preparation for possible N>1 frames per burst
2022-01-04 23:02:29 +01:00
dj2ls 6f3e8b9468 first arq ctest 2022-01-04 15:29:51 +01:00
dj2ls 2256d87816 accessed static 2021-12-28 21:25:19 +01:00
dj2ls 50328946a2 latest changes
latest results from valley of tears
2021-12-28 18:25:52 +01:00
dj2ls 5a15064a35 slight cleanup 2021-12-28 17:36:50 +01:00
dj2ls 8cc4c33f0c uploaded hamlib test
@drowe67 this is the file where I try to implement libhamlib directly
2021-12-28 17:27:26 +01:00
dj2ls a0486a6b00 multimode callback TX 2021-12-22 11:19:43 +01:00
dj2ls 705600a3b1 code cleanup 2021-12-22 11:19:27 +01:00
dj2ls 24f46204ea transmitting in callback mode
used a FIFO queue to store modulation...crazy somehow. But its working
2021-12-22 10:31:21 +01:00
dj2ls 05e65018d8 added stream.is_active excepotion
not sure if we really need this
2021-12-21 10:39:07 +01:00
dj2ls 3c01ff1301 logging in own thread
and also a small cleanup
2021-12-21 09:25:06 +01:00
drowe67 342dd29747 audio buffer thread sfaety test 2021-12-21 08:20:02 +10:30
dj2ls 82619ef098 reduced bytes_out buffer size factor *2
buffer was too large. this didnt affect the tests, but not that nice...
2021-12-20 15:57:32 +01:00
dj2ls 8b8dfd5233 added option for sending testframes
this testframes are used to interact with the TNC
2021-12-20 15:37:46 +01:00
dj2ls 5d62952e8a small cleanup
removed unused function
2021-12-20 12:16:03 +01:00
dj2ls 2bca7b26cd multimode callback tests
first working version
2021-12-20 12:15:35 +01:00
dj2ls eaa26d3672 updated to new folder structure
Ooops, I forgot this file...where's my brain...
2021-12-20 11:15:32 +01:00
dj2ls 83b420be9a changed folder structure
removed subdirectories for each test group
2021-12-20 11:10:41 +01:00
dj2ls 75e7ef64a1 removed old code 2021-12-20 10:35:52 +01:00
dj2ls 9608e3412d additional test with decoding outside callback
added this to see any differences
2021-12-20 10:33:35 +01:00
dj2ls 1c4bb7bfbc moved code to class
less globals and we also need this later
2021-12-20 10:22:55 +01:00
drowe67 84bf1970dd first pass callback model rx working 2021-12-20 09:36:39 +10:30
dj2ls 72b653b188 preparation for ARQ test
added a directory 003_highsnr_stdio_arq for working on ARQ tests
2021-12-19 19:45:08 +01:00
dj2ls 8b8678853d new codec2.py location
forgot this file....
2021-12-19 16:10:39 +01:00
dj2ls 8159e9b1ab moved codec2 to tnc folder
preparation for migration to codec2 module for the entire TNC
2021-12-19 15:14:52 +01:00
dj2ls a6d60dea1c initial callback test
crashes at the moment within resambler
2021-12-19 15:04:35 +01:00
drowe67 a0e7c210fb fixed exception checking logic, still getting occasional fails on virtual sound card tests 2021-12-17 06:16:40 +10:30
drowe67 2bf5c44cbb adding resampler to MM tests. still occasional fails on virtual card Pyaudio tests 2021-12-16 21:40:30 +10:30
drowe67 03dccc4348 test program to get experience with Pyaudio 2021-12-16 18:33:07 +10:30
drowe67 37c57b83f6 test_virtual2.sh pasing most of the time 2021-12-16 17:53:11 +10:30
drowe67 fa4e22c64b catching exceptions on stream.read() to help us spot buffer size issues, also saving a file of samples received to help debugging 2021-12-16 17:52:42 +10:30
drowe67 27a43f1cb0 fine grained virtual audio tests working PyAudio at 48 kHz 2021-12-16 17:44:07 +10:30
drowe67 8fcf882767 Shouldn't pass np.int16 to pyaudio stream.write(), must convert to Python bytes. Working OK now 2021-12-16 17:42:29 +10:30
drowe67 64b7582913 resampler working with pipe tests, but not virtual sound card 2021-12-16 13:54:59 +10:30