Commit Graph

223 Commits

Author SHA1 Message Date
Dan Smith
544663eaf4 Add bitwise tests for arrays outside of structs
Related to #547
2013-10-27 09:00:01 -07:00
Dan Smith
e15ec1cbad Add bitwise tests for arrays outside of structs
Related to #547
2013-10-27 09:00:01 -07:00
Dan Smith
5babac35ef [vx2] Add Yaesu VX-2 image for testing from Jens
#833
2013-10-20 07:40:01 -07:00
Dan Smith
de881d6dfd Add C++ style comment support to bitwise
Fixes #1161
2013-10-05 10:33:42 -07:00
Marco Filippi
8127cd4b55 [brute_force test] Provide credible frequencies in all cases
Discovered while implementing #1149
2013-09-28 12:27:00 +02:00
Dan Smith
2f1f13f3fa [bf888] Add Baofeng BF-888 test image 2013-09-09 14:06:23 -07:00
Dan Smith
40a67770f1 Add another delete option to shift all memories up
(not just to the next blank).

This changes the delete options in the context menu to be a submenu
with three options.

Resolves #779
2013-04-10 19:17:38 -07:00
Dan Smith
5b587cd42c Add Baofeng UV-B5 test image
Related to #629
2013-04-07 11:56:32 -07:00
Dan Smith
adea8401f9 Make Radio able to return multiple MemoryMapping objects
This lays the groundwork for things like Scan Lists. Start by just defining
the new interface, making it call the old one, and updating import_logic
and the tests to match.

Related to #741
2013-04-01 20:43:50 -07:00
Dan Smith
85fe5e0c05 Fix some straggling bank interface issues
The offending author should really run tests before pushing...
Related to #741
2013-04-01 17:33:31 -07:00
Dan Smith
ab8aa3141f Abstract Bank and BankModel to MemoryMapping and MappingModel
This is mostly just a search-and-replace for the above names, but makes
way for supporting things like scan lists that behave exactly the same
way.

Related to #741
2013-04-01 16:40:48 -07:00
Dan Smith
926ecb1ad5 Fix erroneous fix in previous fix.
* A single lbcd is the same as a bbcd, they only actually differ when they're
  in sequences of bytes (duh - _byte_ order)
* There were actually two places in the bitwise code that were reversing
  each other (causing the confusion above), so unify/simplify those bits.
* The previous patch introduced an additional check to string setting,
  which the ict70 driver was violating

Fallout of the fallout from #547.

Sigh.
2013-03-28 16:34:23 -07:00
Dan Smith
b71432fbe7 Add support for testing writes to bitwise unit tests
And fix a buglet found in the process.

Related to the tests added in #547
2013-03-28 16:05:18 -07:00
Tom Hayward
417f598557 bitwise: add "bit" type for reading arrays of single-bit flags. #727
Example usage:
struct {
  char  name[8];
  bit   ch_enable_flag[128];
  u8    unknown[8];
} scan_list[17];
2013-03-28 14:58:32 -07:00
Dan Smith
5dfa403591 Add ALL_DTCS_CODES and use that for gating the memory values
Also adds valid_dtcs_codes to RadioFeatures, defaulting to the common
set so nothing else should have to change.

Needed for #365
2013-02-22 18:17:48 -08:00
Dan Smith
ddd60cf42a Make crashing tests report where in the test they're being called from
Need while working on #365
2013-02-22 17:39:06 -08:00
Dan Smith
3490f8fa8e Fix parse_freq to handle cases like ".6" after recent change
Broken in the fix for #595
2013-02-22 15:43:27 -08:00
Dan Smith
97b60ff445 Fix split_tone_encode() inconsistent behavior on non-Cross tone modes
Also add unit tests for various utility functions in common.

Fixes #603
2013-02-20 19:44:20 -08:00
Dan Smith
5508d230c2 [id51] Add Icom ID-51A test image from Dean
Related to #553
2013-02-20 19:31:50 -08:00
Dan Smith
1b3ec4abb0 Add forgotten ID-31A test image
Related to long-closed issue #66
2013-02-20 14:34:42 -08:00
Dan Smith
cbcce652f1 Fix multiple issues in import_logic #601 2013-02-20 14:33:27 -08:00
Dan Smith
6f70f11aa2 Fix parse_freq() to handle various edge cases
Also add unit tests to help prove it.

Fixes #595
2013-02-17 18:58:44 -08:00
Dan Smith
6a5507dc54 Correct automatic tone mode behavior to not trigger DTCS on RX Code change
Related to #591
2013-02-17 15:17:43 -08:00
Dan Smith
e8679a0ffc Fix unit tests after adding toggle for automatic tone modes
#591
2013-02-17 15:04:26 -08:00
Dan Smith
4614c62ac9 Actually include image changes from last commit
Related to #356
2013-02-17 14:55:34 -08:00
Dan Smith
1948a7b203 Make the UI enforce reasonable tone modes when tone columns are changed
This ensures that if the user touches one of the tone columns, that the
tone mode changes to an appropriate value so as not to confuse them.

Fixes #591
2013-02-17 14:50:37 -08:00
Dan Smith
45c9668b10 [baofengf11] Add test image
Related to #571
2013-02-16 10:48:48 -08:00
Dan Smith
3cb24b0419 Add new settings functions:
- RadioSettingValueFloat
 - Validation callback to RadioSettingValue
 - Apply callback to RadioSetting
 - Unit tests for above

In support of #539
2013-02-16 10:04:30 -08:00
Dan Smith
3a65c3732f Add Kenwood TK-8102 support
Fixes #573
2013-02-15 20:05:50 -08:00
Dan Smith
fc5051d177 Avoid GTK warnings in unit tests
Introduced while fixing #541
2013-02-13 15:53:54 -08:00
Dan Smith
a00455f701 Avoid re-sorting serial ports in the UI
All the platforms now return serial ports in the proper order. Don't
mess that up with an alphanumeric sort in the UI.

Actually fixes #549
2013-02-13 15:39:28 -08:00
Dan Smith
c7b413d048 Fix delete-and-shift when the hole target becomes the last memory
Fixes #541
2013-02-12 17:41:50 -08:00
Dan Smith
a0c8d24569 Fix serial port sorting in Win32Platform
Fixes #549
2013-02-12 15:59:36 -08:00
Dan Smith
805f678749 Add unit tests for bitwise (before I start messing with it)
Related to #547
2013-02-12 09:12:29 -08:00
Dan Smith
02d578115c Add Yaesu FTM-350R driver and test image
A big thanks to Jon Bryan for donating a cable to CHIRP for this effort.

Related to #144
2013-02-11 17:21:36 -08:00
Dan Smith
ead73732dc Add Yaesu FT-1802M test image
Related to #503
2013-02-07 06:46:46 -08:00
Tom Hayward
2a1ab6e4a4 [tests] Check that can_odd_split is defined when 'split' is a supported duplex. #505 2013-02-05 19:42:26 -08:00
Dan Smith
ffe6667c8b Change BruteForce test to ignore rx_dtcs unless in ->DTCS mode
#93
2013-01-10 08:03:36 -08:00
Dan Smith
6d5a584542 [thd72] Add clone-mode image from Tom 2013-01-08 13:27:24 -08:00
Tom Hayward
0d2852b853 [thd72] Resolve some test failures. #81 2013-01-07 21:52:44 -08:00
Dan Smith
e47f810fb5 [ic208] Add test image
#222
2013-01-03 19:23:21 -08:00
Dan Smith
20c500b8e2 [tests] Fix logs directory creation on first run
#93
2013-01-01 09:22:35 -08:00
Dan Smith
4a3912eeb1 [uv5r] Update tests image for change made in #370
Related to #370
2012-12-25 14:40:54 -08:00
Dan Smith
ee8b5a126e [tests] Fix test logic to tolerate IC-Q7's implicit AM bands
Related to #297
2012-12-25 14:37:39 -08:00
Dan Smith
9fc186018a Speed up tests by short-circuiting time.sleep()
Lots of the modules use sleep delays for timing clone responses and
retries. This makes the tests run slowly. Instead, make time.sleep()
return immediately.

#93
2012-12-19 20:22:03 -08:00
Dan Smith
bbac971969 [dj175] Add support for Alinco DJ175
Fixes #186
2012-12-19 20:11:13 -08:00
Dan Smith
d7ab4d7913 Add support for Icom IC-T8A
Closes #354
2012-11-16 16:02:11 -08:00
Marco Filippi
4429ba53eb [KG816] Initial support - still experimental
First implementation of issue #320
2012-10-14 20:55:56 +02:00
Marco Filippi
8ecf615bdb [KG-UVD1P KG-UV6D KG-UV6X] Change match_model to avoid wrong model identification
Removed KG-UV6X as is the same radio as KG-UV6D but with different freq range which
will be managed as side effect of Feature #285, now there's only KG-UV6
Fix Bug #312
2012-10-11 16:52:14 +02:00
Dan Smith
9696173070 [ict7h] Add test image
#247
2012-07-18 19:48:02 -07:00
Dan Smith
50cc6fbd3f Add initial support for TYT TH-UVF1
#204
2012-06-29 17:16:23 -07:00
Marco Filippi
a884291c2e Make test more smart on tone and dtcs usage
needed to follow improvement from Feature #100
2012-05-25 13:56:00 +02:00
Marco Filippi
07a4fd183e [KG-UV6D/X] Initial support
implements feature #53
2012-05-26 16:11:43 +02:00
Dan Smith
f5cd80a236 [tests] Add test image for TH-UV3R 2012-05-22 16:15:39 -07:00
Dan Smith
b96bae9909 [tests] Don't expect the radio to return the same cross_mode
...if tmode is not "Cross"
#93
2012-05-09 17:32:59 -07:00
Dan Smith
99894d04e0 [tests] Fix column alignment with recent long-named vendor
#93
2012-04-19 16:50:50 -07:00
Dan Smith
04ba6e7cf3 Fix up BruteForce test to be gracious about Baofeng shortcomings
#93
2012-04-19 16:41:24 -07:00
Dan Smith
c314de0ea5 Add the ability to exclude a test from the set
Misc fixes #93
2012-04-19 13:46:21 -07:00
Dan Smith
e86c49a4ee [tests] Add a corner case test for split duplex with a 12.5kHz
TX frequency, since this is stored in a funky way on some yaesu
radios.
Tests #125
2012-04-19 07:03:46 -07:00
Dan Smith
3d25d7778d Add support for Vertex Standard VXA-700
Feature #120
2012-04-17 16:11:33 -07:00
Dan Smith
13325f53e6 Change import_logic.import_mem to take just the feature set of the source
radio, which is all that is really necessary and avoids needing a reference
to the whole radio to do an import.
Bug #113
2012-04-10 18:12:00 -07:00
Dan Smith
cd5ca17bbd Okay, for real this time. Fix the FT-857 test image.
#93
2012-04-10 13:48:34 -07:00
Dan Smith
f137c4f764 Add the FT-857 image back in that mercurial seemed to have lost...
Related to #93
2012-04-10 13:42:13 -07:00
Dan Smith
dc70757666 Rename test images to be in line with the previous patch
Minor changes: #93
2012-04-10 11:04:03 -07:00
Tom Hayward
b4251accc0 Add example .hmk file to test images. #102 2012-04-05 10:08:22 -06:00
Dan Smith
ff77ac402f Add initial support for the Baofeng UV-5R
Fixes #84
2012-04-04 18:30:58 -07:00
Dan Smith
055ed926bb Fix test ANSI output for long radio names and sorted by vendor/model
#93
2012-04-04 12:43:58 -07:00
Dan Smith
d0f74794b2 Clone Tests
Bug #93
2012-04-04 12:10:29 -07:00
Dan Smith
10c7efce23 The BruteForce test for Cross tone modes should not expect the driver to
know the difference between TSQL and Tone->Tone if the tones are identical.
Related to Bug #65
2012-04-01 14:58:37 -07:00
Dan Smith
3b52977cff Don't fail detection test if we're a live radio 2012-03-21 15:53:20 -07:00
Dan Smith
4c29df6d70 Add valid_dtcs_pols list, basically so we can support receive-only devices 2012-02-23 11:53:54 -08:00
Dan Smith
1ab69dc3bf Rename the test images according to the new dynamic registration convention 2012-02-17 16:12:07 -08:00
Dan Smith
ceea319554 Dynamic driver registration
This patch gets rid of the big silly static definition of the driver
directory and replaces it with one that is populated dynamically. When
multiple people are working on a driver, it's often the case that patches
will conflict because they both made edits to the directory listing.
Further, it makes it harder to add/remove a module during development because
you have to edit the directory.

This patch introduces a "register" decorator in the directory module. Any
driver claiming to implement a radio driver can decorate that class and
have it automatically included in the directory. Thus, simply placing
mydriver.py in the chirp module folder will cause it to be included.
2012-02-17 16:08:23 -08:00
Dan Smith
74f45efd8b [tests] Properly test the new bank model, and add more thorough testing
than we had before
2012-02-09 17:37:54 -08:00
Dan Smith
b23711f8cd Import logic for new bank model 2012-02-09 17:37:54 -08:00
Dan Smith
f90252970d [tests] Add FT817ND (US version) and FT857 (US version) test images 2012-02-07 07:01:14 -08:00
Dan Smith
9ca69c3f74 [tests] Add FT857 test image 2012-02-07 06:57:15 -08:00
Marco Filippi
98c173c762 Use valid_cross_modes during test 2012-01-21 10:13:03 +01:00
Dan Smith
ea0c266c3f [tests] Add a very simple cross mode tone test, run if the radio supports it 2012-01-20 18:59:00 -08:00
Dan Smith
446b429e70 [tests] Don't choke on radios that support cross-mode tones 2012-01-20 18:51:41 -08:00
Dan Smith
9368fb2ce2 [ft817] Add images for testing 2012-01-16 12:01:26 -08:00
Dan Smith
1029d53252 [tests] Various cleanups to the ANSI test output 2011-11-16 16:22:24 -08:00
Dan Smith
bfeeb54ae1 [tests] Fix tests to not punish radios for unsupported tone values 2011-11-16 15:57:17 -08:00
Dan Smith
afd9468441 Fix tests module for csv rename 2011-09-27 17:07:25 -07:00
Dan Smith
ca25ca67c9 [tests] Add a test to verify that image-based detection is working 2011-08-28 10:19:54 -07:00
Dan Smith
763ba123a1 [uv3r] Refresh the test image 2011-08-28 10:02:54 -07:00
Dan Smith
af641aff01 Add ft60.img test image 2011-08-26 17:30:44 -07:00
Dan Smith
784e393735 Add px2r test image (and px777 that I forgot long ago) 2011-08-26 17:29:46 -07:00
Dan Smith
3c6a393e26 Allow passthru of certain exceptions during test wrapper execution. Use this
to pass through unsupported tone errors and ignore them.
2011-08-22 14:58:44 -07:00
Dan Smith
1bbabe73a2 [dj596] Add an image for testing 2011-08-17 07:59:10 -07:00
Dan Smith
05d80defbf Make import_logic cautious about moving between radios with differing
ctone/rtone models.
2011-08-16 09:22:16 -07:00
Dan Smith
733c35826e [ft2800] Add image for testing 2011-08-09 16:09:46 -07:00
Dan Smith
116e83229b [tests] Fix running a non-subdevice live radio test 2011-08-08 17:12:04 -07:00
Dan Smith
41e411d64c [tests] Add some bank tests 2011-08-02 15:40:15 -07:00
Dan Smith
da28359345 [tests] Allow tests to be skipped for unsupported features 2011-08-02 15:40:15 -07:00
Dan Smith
cefc5c8886 [uv3r] Add tests for uv3r 2011-07-25 09:36:07 -07:00
Dan Smith
bb0cff6c39 [tests] Allow running tests against live-mode radios 2011-06-08 17:37:06 -07:00
Dan Smith
5e8307ac2e [tests] Some adjustments to the sample csv file 2011-06-08 17:36:41 -07:00
Dan Smith
c6a5dcfeb9 When testing DV mode, make sure we update the call lists first 2011-06-08 15:17:45 -07:00
Dan Smith
3e68b23b54 Run tests against drivers in alphabetical order 2011-06-08 15:02:51 -07:00
Dan Smith
50611daa36 Add HTML output to run_tests 2011-06-08 14:54:10 -07:00
Dan Smith
5fd42fda70 Merge intHz with mainline 2011-05-24 15:41:35 -07:00
Dan Smith
8668f29ce7 Add Puxing PX-177 support and fix up Wouxun support
NB: This causes the wouxun driver to create differently-arranged
images, but attempts to open both and convert the old style to
the new style.
2011-05-23 12:15:59 -07:00
Dan Smith
effdd459be Merge integral hertz with mainline 2011-05-16 16:05:51 -07:00
Dan Smith
e02b4e1bd9 [tests] Colorize the PASSED/FAILED/CRASHED to make it easier to read 2011-05-13 21:49:37 -07:00
Dan Smith
c499768166 Merge integral hertz tree with mainline 2011-05-08 14:09:14 -07:00
Dan Smith
e74d2a9fc3 [tests] Don't complain about tuning step mismatch if unsupported 2011-05-08 13:57:03 -07:00
Dan Smith
54f2671b1b [tests] Don't require rtone,ctone,dtcs,offset if not in tone or duplex mode
since the Wouxun doesn't store everything.
2011-05-08 13:52:12 -07:00
Dan Smith
2d14840c4f Move the core import logic to its own module so that we can use it for tests 2011-05-08 13:49:16 -07:00
Dan Smith
23f96c71bf [tests] Add a set of "odd step" frequency tests 2011-05-08 10:25:48 -07:00
Dan Smith
86f8d162fd Make sure the BruteForce test case uses a DVMemory when mode==DV 2011-05-08 09:54:21 -07:00
Dan Smith
130b3e86f8 [tests] Don't stop running tests just because one case CRASHED 2011-05-06 22:08:31 -07:00
Dan Smith
c165d06cbb Fix tests for integral Hertz 2011-05-06 21:36:50 -07:00
Dan Smith
dff0637d43 [tests] Push the limits (so to speak) 2011-05-06 13:23:36 -07:00
Dan Smith
d2bf296c1e [tests] Add some command-line argument functionality to run_tests 2011-05-06 13:15:15 -07:00
Dan Smith
642c995ddd [tests] Don't hold a driver responsible for ctone if not rf.has_ctone 2011-05-02 17:09:46 -07:00
Dan Smith
394185c17e [tests] Be fair to the id800 driver and don't set a blank dv_urcall 2011-05-02 15:53:05 -07:00
Dan Smith
a367e9c841 [tests] Don't lose failure detail while aggregating 2011-05-02 15:17:34 -07:00
Dan Smith
625d7bc964 [tests] Fix getting proper destination radio features
This was causing a bunch of things not to run because the source features
specified starting at 0 and many radios under test would fail validation
incorrectly.
2011-05-02 15:04:24 -07:00
Dan Smith
a6495f0da3 DTCS and TSQL-R tests 2011-05-01 22:10:47 -07:00
Dan Smith
09fa6434ca Log reasons for failed comparisons 2011-05-01 16:56:47 -07:00
Dan Smith
688e326215 Add an automated test harness
This is in tests/run_tests.  It is a (hopefully) modular approach
to banging on the radio drivers in a generic way to find/report
issues.  It attempts to gracefully handle failues and crashes,
logging information to logs/ when available and appropriate.

Two test cases are included:

BruteForce, which attempts to try to set every possible value
for various things like tone, duplex, skip, etc.  It should be
expanded, but covers some of the juicy stuff right now.

CopyAll, which attempts to do an effective import operation from
a CSV file (images/csv.csv) which has a bunch of gnarly stuff in
it (such as 12.5kHz step channels, D-STAR, 800MHz, etc).

Each of these are run against every (clone mode) driver in the
directory, making sure that any memories that we set come back
as we expect them.
2011-05-01 16:43:44 -07:00
Dan Smith
70de444c40 Add some binary images to the tree for testing
These should be replaced over time with clean images of empty
radios.  However, they'll do for now.
2011-05-01 16:38:06 -07:00