diff options
author | Dominik Riebeling <Dominik.Riebeling@gmail.com> | 2021-12-28 17:47:59 +0100 |
---|---|---|
committer | Dominik Riebeling <Dominik.Riebeling@gmail.com> | 2021-12-28 17:57:04 +0100 |
commit | c055b5e9331d94b74026029176ef84283153ca7b (patch) | |
tree | 28c7068aec91ed4e7ccb8d702734aa25690ef595 /utils/rbutilqt/test/test-compareversion.cpp | |
parent | 0c8f5391826b193c7f20b56b099b29d228f759df (diff) | |
download | rockbox-c055b5e9331d94b74026029176ef84283153ca7b.tar.gz rockbox-c055b5e9331d94b74026029176ef84283153ca7b.zip |
rbutil: Add data tags to data driven unit tests.
Make tests implemented as data driven tests show a sensible test data
tag value, so test can get identified more easily.
Change-Id: Ifeb42ed11ce9a8efc6491b2c3b9fe31802a67d33
Diffstat (limited to 'utils/rbutilqt/test/test-compareversion.cpp')
-rw-r--r-- | utils/rbutilqt/test/test-compareversion.cpp | 105 |
1 files changed, 54 insertions, 51 deletions
diff --git a/utils/rbutilqt/test/test-compareversion.cpp b/utils/rbutilqt/test/test-compareversion.cpp index 94d7697646..47155955eb 100644 --- a/utils/rbutilqt/test/test-compareversion.cpp +++ b/utils/rbutilqt/test/test-compareversion.cpp | |||
@@ -35,62 +35,63 @@ class TestVersionCompare : public QObject | |||
35 | 35 | ||
36 | 36 | ||
37 | struct { | 37 | struct { |
38 | const char* first; | 38 | const char* name; // dataset name |
39 | const char* second; | 39 | const char* first; // first comparison value |
40 | const int expected; | 40 | const char* second; // second comparison value |
41 | const int expected; // expected result | ||
41 | } const compdata[] = | 42 | } const compdata[] = |
42 | { | 43 | { |
43 | { "1.2.3", "1.2.3 ", 0 }, | 44 | { "trailing-whitespace", "1.2.3", "1.2.3 ", 0 }, |
44 | { "1.2.3", " 1.2.3", 0 }, | 45 | { "identical", "1.2.3", "1.2.3", 0 }, |
45 | { "1.2.3", "1.2.4", 1 }, | 46 | { "leading-whitespace", "1.2.3", " 1.2.3", 0 }, |
46 | { "1.2.3", "1.3.0", 1 }, | 47 | { "last-digit-greater", "1.2.3", "1.2.4", 1 }, |
47 | { "1.2.3", "2.0.0", 1 }, | 48 | { "last-digit-less", "1.2.3", "1.3.0", 1 }, |
48 | { "10.22.33", "10.22.33", 0 }, | 49 | { "all-digits-differ", "1.2.3", "2.0.0", 1 }, |
49 | { "10.22.33", "10.23.0", 1 }, | 50 | { "multidigit-numbers-identical", "10.22.33", "10.22.33", 0 }, |
50 | { "10.22.33", "11.0.0", 1 }, | 51 | { "multidigit-last-differs", "10.22.33", "10.23.0", 1 }, |
51 | { "1.2.3", "1.2.3.1", 1 }, | 52 | { "multidigit-next-to-last-differs", "10.22.33", "11.0.0", 1 }, |
52 | { "1.2.3", "1.2.3-1", 1 }, | 53 | { "last-additional-digit-with-dot", "1.2.3", "1.2.3.1", 1 }, |
53 | { "1.2.3-1", "1.2.3.1", 1 }, | 54 | { "last-additional-digit-with-hyphen", "1.2.3", "1.2.3-1", 1 }, |
54 | { "1.2.3-10", "1.2.3.0", 1 }, | 55 | { "first-additional-digit-with-hyphen", "1.2.3-1", "1.2.3.1", 1 }, |
55 | { "1.2.3-1", "1.2.3.10", 1 }, | 56 | { "first-additional-multidigit-with-hyphen", "1.2.3-10", "1.2.3.0", 1 }, |
56 | { "1.2.3-1", "1.2.3a", 1 }, | 57 | { "first-additional-with-hyphen-last-dot", "1.2.3-1", "1.2.3.10", 1 }, |
57 | { "1.2.3", "1.2.3a", 1 }, | 58 | { "first-additional-hyphen-last-charsuffix", "1.2.3-1", "1.2.3a", 1 }, |
58 | { "1.2.3a", "1.2.3b", 1 }, | 59 | { "last-with-char-suffix", "1.2.3", "1.2.3a", 1 }, |
59 | { "1.2.3", "1.2.3b", 1 }, | 60 | { "first-and-last-with-char-suffix", "1.2.3a", "1.2.3b", 1 }, |
60 | { "1.2.3.0", "2.0.0", 1 }, | 61 | { "last-with-char-suffix", "1.2.3", "1.2.3b", 1 }, |
61 | { "1.2.3b", "2.0.0", 1 }, | 62 | { "greater-has-less-digits", "1.2.3.0", "2.0.0", 1 }, |
62 | { "1.2.3", "2.0.0.1", 1 }, | 63 | { "less-has-char-suffix-greater-has-less-digits", "1.2.3b", "2.0.0", 1 }, |
63 | { "test-1.2.3", "test-1.2.3.tar.gz", 0 }, | 64 | { "greater-has-more-digits", "1.2.3", "2.0.0.1", 1 }, |
64 | { "1.2.3", "test-1.2.3.tar.bz2", 0 }, | 65 | { "identidal-with-differing-prefix-suffix", "test-1.2.3", "test-1.2.3.tar.gz", 0 }, |
65 | { "test-1.2.3.tar.gz", "test-1.2.3.tar.bz2", 0 }, | 66 | { "identical-with-filename", "1.2.3", "test-1.2.3.tar.bz2", 0 }, |
66 | { "test-1.2.3.tar.gz", "program-1.2.3.1.tar.bz2", 1 }, | 67 | { "identical-with-different-filesuffixes", "test-1.2.3.tar.gz", "test-1.2.3.tar.bz2", 0 }, |
67 | { "program-1.2.3.zip", "program-1.2.3a.zip", 1 }, | 68 | { "identical-with-different-filenames", "test-1.2.3.tar.gz", "program-1.2.3.1.tar.bz2", 1 }, |
68 | { "program-1.2.3.tar.bz2", "2.0.0", 1 }, | 69 | { "last-additional-char-suffix-with-filename", "program-1.2.3.zip", "program-1.2.3a.zip", 1 }, |
69 | { "prog-1.2-64bit.tar.bz2", "prog-1.2.3.tar.bz2", 1 }, | 70 | { "less-has-filename", "program-1.2.3.tar.bz2", "2.0.0", 1 }, |
70 | { "prog-1.2-64bit.tar.bz2", "prog-1.2-64bit.tar.bz2", 0 }, | 71 | { "filename-64bit-vs-additional-number", "prog-1.2-64bit.tar.bz2", "prog-1.2.3.tar.bz2", 1 }, |
71 | { "prog-1.2-64bit.tar.bz2", "prog-1.2.3-64bit.tar.bz2", 1 }, | 72 | { "filename-64bit-identical", "prog-1.2-64bit.tar.bz2", "prog-1.2-64bit.tar.bz2", 0 }, |
72 | { "prog-1.2a-64bit.tar.bz2","prog-1.2b-64bit.tar.bz2", 1 }, | 73 | { "filename-64bit-additional-number", "prog-1.2-64bit.tar.bz2", "prog-1.2.3-64bit.tar.bz2", 1 }, |
73 | { "prog-1.2-64bit.tar.bz2", "prog-1.2.3a-64bit.tar.bz2", 1 }, | 74 | { "filename-64bit-different-char-suffixes", "prog-1.2a-64bit.tar.bz2","prog-1.2b-64bit.tar.bz2", 1 }, |
74 | { "prog-1.2a-64bit.tar.bz2","prog-1.2.3-64bit.tar.bz2", 1 }, | 75 | { "filename-64bit-extra-number-and-char-suffix", "prog-1.2-64bit.tar.bz2", "prog-1.2.3a-64bit.tar.bz2", 1 }, |
76 | { "filename-64bit-char-suffix-vs-extra-number", "prog-1.2a-64bit.tar.bz2","prog-1.2.3-64bit.tar.bz2", 1 }, | ||
75 | }; | 77 | }; |
76 | 78 | ||
77 | struct { | 79 | struct { |
78 | const char* input; | 80 | const char* name; // dataset name |
79 | const QString expected; | 81 | const char* input; // input string |
82 | const QString expected; // output string | ||
80 | } const trimdata[] = | 83 | } const trimdata[] = |
81 | { | 84 | { |
82 | { "prog-1.2-64bit.tar.bz2", "1.2" }, | 85 | { "full-filename-with-64bit", "prog-1.2-64bit.tar.bz2", "1.2" }, |
83 | { "prog-1.2.tar.bz2", "1.2" }, | 86 | { "full-filename", "prog-1.2.tar.bz2", "1.2" }, |
84 | { "1.2.3", "1.2.3" }, | 87 | { "version-only", "1.2.3", "1.2.3" }, |
85 | { " 1.2.3", "1.2.3" }, | 88 | { "version-with-leading-whitespace", " 1.2.3", "1.2.3" }, |
86 | { "1.2.3 ", "1.2.3" }, | 89 | { "version-with-trailing-whitespace", "1.2.3 ", "1.2.3" }, |
87 | { "10.22.33", "10.22.33" }, | 90 | { "multidigit-version", "10.22.33", "10.22.33" }, |
88 | { "test-1.2.3", "1.2.3" }, | 91 | { "name-version", "test-1.2.3", "1.2.3" }, |
89 | { "1.2.3", "1.2.3" }, | 92 | { "name-version-suffix", "test-1.2.3.tar.gz", "1.2.3" }, |
90 | { "test-1.2.3.tar.gz", "1.2.3" }, | 93 | { "name-version-increment-suffix", "prog-1.2a.tar.bz2", "1.2a" }, |
91 | { "prog-1.2-64bit.tar.bz2", "1.2" }, | 94 | { "name-version-increment-64bit", "prog-1.2a-64bit.tar.bz2","1.2a" }, |
92 | { "prog-1.2a.tar.bz2", "1.2a" }, | ||
93 | { "prog-1.2a-64bit.tar.bz2","1.2a" }, | ||
94 | }; | 95 | }; |
95 | 96 | ||
96 | 97 | ||
@@ -100,7 +101,8 @@ void TestVersionCompare::testCompare_data() | |||
100 | QTest::addColumn<QString>("second"); | 101 | QTest::addColumn<QString>("second"); |
101 | QTest::addColumn<int>("expected"); | 102 | QTest::addColumn<int>("expected"); |
102 | for(size_t i = 0; i < sizeof(compdata) / sizeof(compdata[0]); i++) { | 103 | for(size_t i = 0; i < sizeof(compdata) / sizeof(compdata[0]); i++) { |
103 | QTest::newRow("") << compdata[i].first << compdata[i].second << compdata[i].expected; | 104 | QTest::newRow(compdata[i].name) |
105 | << compdata[i].first << compdata[i].second << compdata[i].expected; | ||
104 | } | 106 | } |
105 | } | 107 | } |
106 | 108 | ||
@@ -123,7 +125,8 @@ void TestVersionCompare::testTrim_data() | |||
123 | QTest::addColumn<QString>("input"); | 125 | QTest::addColumn<QString>("input"); |
124 | QTest::addColumn<QString>("expected"); | 126 | QTest::addColumn<QString>("expected"); |
125 | for(size_t i = 0; i < sizeof(trimdata) / sizeof(trimdata[0]); i++) { | 127 | for(size_t i = 0; i < sizeof(trimdata) / sizeof(trimdata[0]); i++) { |
126 | QTest::newRow("") << trimdata[i].input << trimdata[i].expected; | 128 | QTest::newRow(trimdata[i].name) |
129 | << trimdata[i].input << trimdata[i].expected; | ||
127 | } | 130 | } |
128 | } | 131 | } |
129 | 132 | ||