X-Git-Url: https://git.ozlabs.org/?p=ccan;a=blobdiff_plain;f=ccan%2Fversion%2Ftest%2Frun.c;fp=ccan%2Fversion%2Ftest%2Frun.c;h=f7b0782af353354b9bf62e8af5ce48f0ce21a2ff;hp=0000000000000000000000000000000000000000;hb=a0fd39057c739f1c0f5d5ee9ade90381df0ca839;hpb=81f2204ceaec3bc99442344c87e2872747c2100a diff --git a/ccan/version/test/run.c b/ccan/version/test/run.c new file mode 100644 index 00000000..f7b0782a --- /dev/null +++ b/ccan/version/test/run.c @@ -0,0 +1,69 @@ +#include +#include + +int main(void) +{ + struct version a, b; + + plan_tests(26); + + /* cmp with normal versions */ + a = version(1, 0); + b = version(2, 0); + ok1(version_cmp(a, b) < 0); + + a = version(1, 1); + ok1(version_cmp(a, b) < 0); + + a = version(2, 0); + ok1(version_cmp(a, b) == 0); + + a = version(2, 1); + ok1(version_cmp(a, b) > 0); + + b = version(2, 1); + ok1(version_cmp(a, b) == 0); + + a = version(3, 0); + ok1(version_cmp(a, b) > 0); + + a = version(3, 1); + ok1(version_cmp(a, b) > 0); + + /* inline cmp */ + ok1(version_cmp(a, version(1, 0)) > 0); + ok1(version_cmp(a, version(1, 1)) > 0); + ok1(version_cmp(a, version(3, 0)) > 0); + ok1(version_cmp(a, version(3, 1)) == 0); + ok1(version_cmp(a, version(3, 2)) < 0); + ok1(version_cmp(a, version(4, 0)) < 0); + ok1(version_cmp(a, version(4, 1)) < 0); + + /* limits */ + a = version(0xFFFF, 0xFFFF); + b = version(0xFFFE, 0xFFFF); + ok1(version_cmp(a, b) > 0); + ok1(version_cmp(b, a) < 0); + + b = version(0xFFFF, 0xFFFE); + ok1(version_cmp(a, b) > 0); + ok1(version_cmp(b, a) < 0); + + b = version(0xFFFF, 0xFFFF); + ok1(version_cmp(a, b) == 0); + ok1(version_cmp(b, a) == 0); + + b = version(0, 1); + ok1(version_cmp(a, b) > 0); + ok1(version_cmp(b, a) < 0); + + b = version(1, 0); + ok1(version_cmp(a, b) > 0); + ok1(version_cmp(b, a) < 0); + + b = version(0, 0); + ok1(version_cmp(a, b) > 0); + ok1(version_cmp(b, a) < 0); + + return exit_status(); +}