Commit graph

37 commits

Author SHA1 Message Date
Dominik Riebeling
0e315e848a rbutil: Rework handling of available voice languages.
- Move Rockbox voice language names handling to PlayerBuildInfo, and
  handle it similarly to the rest of the device specific values. Rework
  internal handling to simplify things.
- Enable language list from build server for installing prerendered
  voice files other than english.
- Extend unit tests.

Change-Id: I1a1a717fa4409fa965dabc86f52d52a4fc516315
2020-12-05 13:44:37 +01:00
Dominik Riebeling
7739bb31b3 rbutil: Convert RockboxInfo unit test to data driven QTest.
Change-Id: Ic566f9be3532d327af4916605f0215da636ee7d6
2020-12-03 22:25:12 +01:00
Dominik Riebeling
3300815c44 rbutil: Update and fix unit tests.
- Fix changed dependencies and provide real stubs.
- Update to use QTest global data for test table, so individual test
  vector entries show up as individual tests. That way a single
  comparison failing doesn't make all appear as failed and provide
  better indication what went wrong.

Change-Id: I69681c3acd5ceceb4c8ceb1feb341e90a65dd603
2020-12-03 22:25:12 +01:00
Dominik Riebeling
b064a6cbb5 rbutil: Rework and merge player and build server info handling.
Handling the data for players from rbutil.ini and the build-info data
from the server is closely related. Splitting things up into different
classes only creates tightly coupling, which is unnecessary, and the
need to differentiate between them in the application.

Merge both classes into a single one and rework handling so the
application doesn't have to deal with two separate classes anymore.

Furthermore, change URL templates to use new values from build-info
instead of hard coding them.

Change-Id: Ica550973ce23d1559110782add52bc214eba552d
2020-12-03 22:25:12 +01:00
Dominik Riebeling
ad37655687 rbutil: Use pattern replacement for SystemInfo build type.
Use pattern replacement for lookup instead of expanded values. Will
allow simplifying things later for better handling of different build
types.

Change-Id: Iaad67a6c8654d27c3206cf95a379acab169565bc
2020-11-22 14:43:01 +01:00
Dominik Riebeling
f608de723c rbutil: Convert ServerInfo to singleton.
Change-Id: I29d94eb6bae084754e5e3f337c41de8354ba123c
2020-11-19 21:32:41 +01:00
Dominik Riebeling
dec5421ca2 rbutil: Rework server info data handling.
Return status as int, not as string, and provide a separate function for
converting to string. This allows to filter based on the actual status,
not a (localized) status string, which is more robust.

Fix a regression that made players with missing status value show up as
retired.

Change-Id: I15f83ae0df484199b1b3b5b95069db8b4d425987
2020-11-15 21:55:34 +01:00
Dominik Riebeling
6c2780e709 rbutil: Rework server info data handling.
Allow constructing release candidate URL from configuration the same way
we construct the URL for releases.

Note that the server path used does not exist, taken from old release
candidate builds not available anymore.

Change-Id: I7332f08df05ed39724b4900556aaa1f5e0ba463b
2020-11-15 21:24:51 +01:00
Dominik Riebeling
9bb60b7d85 rbutil: Rework server info data handling.
Allow extracting release candidate version even if no URL is present.
Avoids a special case for version handling.

Change-Id: If496d30059c3181899ab9337a35a07b39eaef52e
2020-11-15 21:06:33 +01:00
Dominik Riebeling
104ff3433a rbutil: Rework server info data handling.
Don't create our own in-memory map with server data. Instead use the
configuration file retrieved from the download server, and do the
resolve / replacement on the fly.

Simplifies things, and prepares for cleaner handling for different build
types.

Change-Id: Ifd027b21486e402fda3df9c2f7a30264651f733d
2020-11-15 21:01:36 +01:00
Dominik Riebeling
687edc1866 rbutil: Extend test for ServerInfo.
- Further extend stubs, pull in less non-stubbed implementations.
- Change some test URLs to make sure the code actually uses the correct
  ones.

Change-Id: Iac1d683748b5834e61aa4974d1b893b77f90b517
2020-11-15 14:22:57 +01:00
Dominik Riebeling
cb71e2154c rbutil: Extend test for ServerInfo.
- Add tests for missing info values.
- Extend stubs, pull in less non-stubbed implementations.

Change-Id: I9a349f0eafe65811de37418c141fb581b6d9f59a
2020-11-15 14:22:57 +01:00
Dominik Riebeling
7d1078a9d5 rbutil: Fix unit test.
Change-Id: I0d1a33190d6590687d9e6eadd86a7ab8d8f877df
2020-11-15 14:22:57 +01:00
Dominik Riebeling
b1332d974a rbutil: Fix compile warning in unit test.
Change-Id: Ieb97a6079a70095f7531a90d7117ddf7bfc50afd
2020-08-16 12:12:48 +02:00
Dominik Riebeling
efe3775145 Create local file URL using QUrl.
Don't construct the local file URL from string. On Windows the URL needs to
start with file:/// instead of file://. QUrl handles this.

Change-Id: I3dea29a8d368ebdc20eeff6b1f1cf5058d1b5d05
2016-12-16 19:46:00 +01:00
Dominik Riebeling
14ef6079c0 Fix various unit test compilation.
There's now a dependency on Logger.h, add stub folder to includes to stub it.

Change-Id: I1afdc6bd878182b03cb3c1f3538779eaa9f83f28
2016-12-16 19:44:41 +01:00
Dominik Riebeling
ee567d8579 Fix wrong typecast in test.
Change-Id: I01acae450bcbb9c9e2b45d3ee62817b9256540c3
2016-03-27 12:38:18 +02:00
Dominik Riebeling
7d7359ae63 Fix and extend HttpGet unit test again.
Fix wrong initialization (why did that compile?) and add check for progress
signal.

Change-Id: I83a193252afcf66acaa333750b0ac2ef83e38478
2015-12-20 11:10:18 +01:00
Dominik Riebeling
70baf0f7be Fix compiling HttpGet unit test.
Provide a stub for Logger class to make the test compile.

Change-Id: I142eaf443c1f9026506100b82c9341e83b619ab6
2015-12-18 23:42:18 +01:00
Dominik Riebeling
7e7fd0c7b8 Use random port for HttpGet unit tests.
Make local HttpDaemon for testing use a random unused port instead of a fixed
one. Avoids possible issues with the port chosen already being used on the
local machine.

Change-Id: I1ca10b7e5ce198350e14321afc50c36d78b1c0b4
2015-12-18 23:42:18 +01:00
Dominik Riebeling
d24a9ea3b2 Add support file:// URLs in HttpGet.
QNetworkAccessManager can handle file:// URLs without additional work. Make
HttpGet aware of that so you can now also use it to retrieve file:// URLs. Add
a unit test for it as well.

Change-Id: If64b57453460b70bca9e5b0c725bb78344617bcd
2015-12-18 23:42:17 +01:00
Dominik Riebeling
d4fee36971 Remove unnecessary Id line.
Change-Id: I48428eb1e455a841f9f1295cf6a61631bd925977
2015-05-02 16:52:13 +02:00
Dominik Riebeling
72b81c2559 Improve update check information dialog.
Show the user both the current and updated version.

Change-Id: Ief693cce020a39a0c79bf2705da4a44b7bd15928
2015-05-02 16:52:13 +02:00
Dominik Riebeling
d94ce51462 Default to non-GUI configuration for tests.
Change-Id: Iae0cd3ec7a4bb173bf4032b557f9ae7efb64c67d
2013-03-09 19:40:57 +01:00
Dominik Riebeling
e96df430c4 Implement test for HttpGet class.
Change-Id: I1df793fd32dafdea999b875452ee832b773d8156
2013-01-27 20:11:18 +01:00
Dominik Riebeling
dd79face4d Extend ServerInfo unit test for manual URL.
Change-Id: I599adf7d692e95310fe12bca8fe0c69695aa4784
2012-06-18 23:18:32 +02:00
Dominik Riebeling
14727b1ac3 Implement unit test for ServerInfo input parsing.
Change-Id: I9e28c94ca72c7644a154e40a258d9f00df5f5edd
2012-06-17 13:01:09 +02:00
Dominik Riebeling
c1fcd698a2 Prefix compareversion test files.
Change-Id: Ic67b4a1519456cbb2d85078a80ac605eb65f8020
2012-03-28 20:19:00 +02:00
Dominik Riebeling
674bbbaf83 Fix false positive in version detection.
Some git revisions are falsely detected as release version. Extend test and fix
the wrong regexp. Corrects font download trying to get the wrong file for some
current builds.

Change-Id: Ia779896c927385ec0d7ba68ee3d953f3c6e4494c
2012-03-12 22:16:14 +01:00
Dominik Riebeling
93cf878a48 Test: check retrieved version string as well.
As originally intended check if the retrieved version string is correct instead
of ignoring it.

Change-Id: If4dad224e999a90607dee3eb723400c12f5b7362
2012-03-12 22:14:43 +01:00
Dominik Riebeling
2d7a4e9dfa Fix RockboxInfo() not handling git hashes correctly.
With the transition to git the assumption of the version starting with "r"
isn't true anymore for non-release builds. This caused the wrong strings to be
used when constructing various download URLs.

Remove the test binary which was never intended to be added and fix some
warnings in the test implementation.

Change-Id: I879fdff201cb85f3c89cca73ab6a0514edb5a2df
2012-02-19 17:44:35 +01:00
Dominik Riebeling
2dbb17d0d6 Initial unit test of RockboxInfo class.
This tests the original (svn revision number based) functionality.

Change-Id: I69a121d751d2358c1e7594032f8f8193af59e103
2012-02-19 14:12:22 +01:00
Dominik Riebeling
557451a183 Put test objects into test specific subfolder.
Change-Id: Ib574524cfa61c2dde5b7d5522e88fbe9dd814996
2012-02-19 14:12:22 +01:00
Dominik Riebeling
7263ccb105 Remove svn keyword lines from sources.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30806 a1c6a512-1295-4272-9138-f99709370657
2011-10-19 20:51:16 +00:00
Dominik Riebeling
0925bfbb1c Rockbox Utility: Add some more cases to version check test.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29829 a1c6a512-1295-4272-9138-f99709370657
2011-05-07 15:39:09 +00:00
Dominik Riebeling
10b8e327d8 FS#11439: Fix version comparison regression.
Improve string suffix handling by distinguishing between version number
separators (i.e. dots) and extended separators and additional version
characters. Corrects false update information displayed for 64bit binaries of
Rockbox Utility.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27201 a1c6a512-1295-4272-9138-f99709370657
2010-06-30 21:59:47 +00:00
Dominik Riebeling
738d83c59b Add cleaned up tests used for Utils::compareVersionStrings().
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26861 a1c6a512-1295-4272-9138-f99709370657
2010-06-15 19:49:43 +00:00