Commit graph

167 commits

Author SHA1 Message Date
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
drowe67
a04cfa62f3 refactored resampler to handle arb length arrays 2021-12-16 12:31:35 +10:30
drowe67
5b9ca6d463 resampler on test_rx.py is doing something sensible 2021-12-16 12:10:03 +10:30
drowe67
84f5cd315e resampler class 2021-12-16 11:56:39 +10:30
drowe67
b95562740a automated test for FreeDV resampler 2021-12-16 07:50:24 +10:30
drowe67
653713918d C array offset working, upsampled sine wave sounds OK :-) 2021-12-16 07:22:02 +10:30
drowe67
dfcc136583 Work in progress t48_8_short.py 2021-12-16 07:07:30 +10:30
drowe67
3f2bedfd4f building up resampler support and audio_buffer comments 2021-12-16 06:15:33 +10:30
drowe67
cbd89324f3 multimode virtual test working better 2021-12-15 16:43:47 +10:30
drowe67
53a88bfaae tell us when we Tx a frame 2021-12-15 16:43:30 +10:30
drowe67
e418f0be7a larger buffers, and an different approach to logging 2021-12-15 16:42:38 +10:30
drowe67
2e66a67884 test_multimode_rx.py using audio_buffer calls and working well :) 2021-12-15 15:05:30 +10:30
drowe67
da478d3b83 create audiobuffer class 2021-12-15 14:38:29 +10:30
drowe67
3e1dc4ee1c buffering system based on design in codec2/demo/freedv_datac0c1_rx.c 2021-12-15 14:08:53 +10:30
drowe67
f1992d16f6 test_multimode_tx.py sounds good through sound card, and test_rx.py can receiver each mode OK 2021-12-15 12:19:43 +10:30
drowe67
ae80958b65 longer timeout on test_virtual2 2021-12-15 12:19:06 +10:30
drowe67
b619b341d1 wait until output buffer empties before finishing 2021-12-15 11:33:07 +10:30
drowe67
8c9f1c5761 fine grained tests at 48000 Hz, currently won't work as resampler commented out of test_tx.py and test_rx.py 2021-12-15 11:12:31 +10:30
drowe67
8a93ec4896 display tx auto sound device selection 2021-12-15 09:26:55 +10:30
dj2ls
b27563fe77 redesign of buffer management 2021-12-14 23:07:01 +01:00
drowe67
2642ae414b added finer grained tests - cirtual sound card using aplay/arecord which works well 2021-12-15 07:21:54 +10:30
drowe67
55ae1c31ef counting errors based on rx_status 2021-12-15 07:00:20 +10:30
drowe67
e93dc4d197 rx_status table to return flags in text format 2021-12-15 06:48:18 +10:30
drowe67
eeb221a31b simpler script 2021-12-15 06:47:36 +10:30
drowe67
dee3f87ceb sound card input coded but not working in test_multimode_rx.py 2021-12-14 14:24:45 +10:30
drowe67
290d2dd8b7 test_multimode_tx.py sounds OK through a sound card 2021-12-14 13:46:20 +10:30
drowe67
e7fbca9405 enable use of default sound card devnum 0 2021-12-14 13:42:47 +10:30
drowe67
b8a9f4126b first attempt at test using virtual sound cards 2021-12-14 13:18:12 +10:30