annotate ui/tests/commontest.cpp @ 233:d773e540dec3

Add checks for invalid input
author Andre Heinecke <aheinecke@intevation.de>
date Fri, 28 Mar 2014 11:33:39 +0000
parents 1f44aae4528e
children 6435e28ae753
rev   line source
182
6c3a089d3265 Add test for str_base64_decode as i suspect it to have a bug
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
1 #include <QString>
6c3a089d3265 Add test for str_base64_decode as i suspect it to have a bug
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
2 #include <QByteArray>
6c3a089d3265 Add test for str_base64_decode as i suspect it to have a bug
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
3 #include <QTest>
6c3a089d3265 Add test for str_base64_decode as i suspect it to have a bug
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
4
6c3a089d3265 Add test for str_base64_decode as i suspect it to have a bug
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
5 #include "commontest.h"
6c3a089d3265 Add test for str_base64_decode as i suspect it to have a bug
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
6 #include "strhelp.h"
6c3a089d3265 Add test for str_base64_decode as i suspect it to have a bug
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
7
6c3a089d3265 Add test for str_base64_decode as i suspect it to have a bug
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
8 void CommonTest::testStrBase64Decode() {
6c3a089d3265 Add test for str_base64_decode as i suspect it to have a bug
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
9 char garbage[1000];
6c3a089d3265 Add test for str_base64_decode as i suspect it to have a bug
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
10 char *data = NULL;
6c3a089d3265 Add test for str_base64_decode as i suspect it to have a bug
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
11 size_t data_size = 0;
6c3a089d3265 Add test for str_base64_decode as i suspect it to have a bug
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
12 int ret;
6c3a089d3265 Add test for str_base64_decode as i suspect it to have a bug
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
13 for (int i = 0; i < 1000; i++) {
6c3a089d3265 Add test for str_base64_decode as i suspect it to have a bug
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
14 garbage[i] = (char) qrand() % 255;
6c3a089d3265 Add test for str_base64_decode as i suspect it to have a bug
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
15 }
6c3a089d3265 Add test for str_base64_decode as i suspect it to have a bug
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
16
6c3a089d3265 Add test for str_base64_decode as i suspect it to have a bug
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
17 QByteArray ba(garbage, 1000);
6c3a089d3265 Add test for str_base64_decode as i suspect it to have a bug
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
18
6c3a089d3265 Add test for str_base64_decode as i suspect it to have a bug
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
19 QByteArray baB64 = ba.toBase64();
6c3a089d3265 Add test for str_base64_decode as i suspect it to have a bug
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
20
6c3a089d3265 Add test for str_base64_decode as i suspect it to have a bug
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
21 ret = str_base64_decode(&data, &data_size, (char *)baB64.constData(), baB64.size());
6c3a089d3265 Add test for str_base64_decode as i suspect it to have a bug
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
22
6c3a089d3265 Add test for str_base64_decode as i suspect it to have a bug
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
23 QVERIFY(ret == 0);
6c3a089d3265 Add test for str_base64_decode as i suspect it to have a bug
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
24 QVERIFY(data_size == 1000);
184
1f44aae4528e Add C linkage for strhelp. Check for data in commontest.
Andre Heinecke <aheinecke@intevation.de>
parents: 182
diff changeset
25 QVERIFY(data);
182
6c3a089d3265 Add test for str_base64_decode as i suspect it to have a bug
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
26
233
d773e540dec3 Add checks for invalid input
Andre Heinecke <aheinecke@intevation.de>
parents: 184
diff changeset
27 ret = str_base64_decode(&data, &data_size, (char *)ba.constData(), ba.size());
d773e540dec3 Add checks for invalid input
Andre Heinecke <aheinecke@intevation.de>
parents: 184
diff changeset
28 QVERIFY(ret != 0);
d773e540dec3 Add checks for invalid input
Andre Heinecke <aheinecke@intevation.de>
parents: 184
diff changeset
29
d773e540dec3 Add checks for invalid input
Andre Heinecke <aheinecke@intevation.de>
parents: 184
diff changeset
30 const char * foo = "bla";
d773e540dec3 Add checks for invalid input
Andre Heinecke <aheinecke@intevation.de>
parents: 184
diff changeset
31 ret = str_base64_decode(&data, &data_size, (char *)foo, 3);
d773e540dec3 Add checks for invalid input
Andre Heinecke <aheinecke@intevation.de>
parents: 184
diff changeset
32 QVERIFY(ret != 0);
d773e540dec3 Add checks for invalid input
Andre Heinecke <aheinecke@intevation.de>
parents: 184
diff changeset
33
182
6c3a089d3265 Add test for str_base64_decode as i suspect it to have a bug
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
34 for (size_t i = 0; i < data_size; i++) {
6c3a089d3265 Add test for str_base64_decode as i suspect it to have a bug
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
35 QVERIFY(garbage[i] == data[i]);
6c3a089d3265 Add test for str_base64_decode as i suspect it to have a bug
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
36 }
6c3a089d3265 Add test for str_base64_decode as i suspect it to have a bug
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
37 free (data);
6c3a089d3265 Add test for str_base64_decode as i suspect it to have a bug
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
38 }
6c3a089d3265 Add test for str_base64_decode as i suspect it to have a bug
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
39
6c3a089d3265 Add test for str_base64_decode as i suspect it to have a bug
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
40 QTEST_GUILESS_MAIN (CommonTest);

http://wald.intevation.org/projects/trustbridge/