1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
#include "spm.h"
#include "framework.h"
ManifestPackage TESTPKG = {.name = "test", .version = "1.0.0", .revision = "1", .archive = "test-1.0.0-1.tar.gz", .origin = "test_land", .size = 1234};
const char *testFmt = "returned '%s', expected '%s'\n";
char *truth[] = {
"test 1.0.0 1 test-1.0.0-1.tar.gz test_land 1234 1.21K",
" test 1.0.0 1 test-1.0.0-1.tar.gz test_land 1234 1.21K",
"test 1.0.0 1 test-1.0.0-1.tar.gz test_land 1234 1.21K",
"test 1.0.0-1 ",
" test 1.0.0-1",
};
size_t numCases = 0;
int main(int argc, char *argv[]) {
ManifestPackage *package = &TESTPKG;
char *data[] = {
spm_get_package_info_str(package, "%n %v %r %a %o %s %S"),
spm_get_package_info_str(package, "%10n %v %r %a %o %s %S"),
spm_get_package_info_str(package, "%-10n %v %r %a %o %s %S"),
spm_get_package_info_str(package, "%-10n %-10V"),
spm_get_package_info_str(package, "%10n %10V"),
};
numCases = sizeof(data) / sizeof(char *);
if (numCases != (sizeof(truth) / sizeof(char *))) {
fprintf(stderr, "Number of test cases does not match number of truth cases\n");
return 1;
}
for (size_t i = 0; i < numCases; i++) {
puts(data[i]);
myassert(strcmp(data[i], truth[i]) == 0, testFmt, data[i], truth[i]);
free(data[i]);
}
return 0;
}
|