annotate tests/strsplit.c @ 5:8d8c49b066d4

Add a test for strsplit()
author Louis Opter <louis@dotcloud.com>
date Sat, 01 Jan 2011 16:05:08 +0100
parents 50215911acb3
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
4
50215911acb3 Add a strsplit() function and stop to build probes into a separate library
Louis Opter <louis@dotcloud.com>
parents:
diff changeset
1 #include <err.h>
50215911acb3 Add a strsplit() function and stop to build probes into a separate library
Louis Opter <louis@dotcloud.com>
parents:
diff changeset
2 #include <stdio.h>
50215911acb3 Add a strsplit() function and stop to build probes into a separate library
Louis Opter <louis@dotcloud.com>
parents:
diff changeset
3 #include <stdlib.h>
50215911acb3 Add a strsplit() function and stop to build probes into a separate library
Louis Opter <louis@dotcloud.com>
parents:
diff changeset
4 #include <string.h>
50215911acb3 Add a strsplit() function and stop to build probes into a separate library
Louis Opter <louis@dotcloud.com>
parents:
diff changeset
5
50215911acb3 Add a strsplit() function and stop to build probes into a separate library
Louis Opter <louis@dotcloud.com>
parents:
diff changeset
6 #include "lxcstats.h"
50215911acb3 Add a strsplit() function and stop to build probes into a separate library
Louis Opter <louis@dotcloud.com>
parents:
diff changeset
7 #include "_lxcstats.h"
50215911acb3 Add a strsplit() function and stop to build probes into a separate library
Louis Opter <louis@dotcloud.com>
parents:
diff changeset
8
50215911acb3 Add a strsplit() function and stop to build probes into a separate library
Louis Opter <louis@dotcloud.com>
parents:
diff changeset
9 void
50215911acb3 Add a strsplit() function and stop to build probes into a separate library
Louis Opter <louis@dotcloud.com>
parents:
diff changeset
10 check(const char *field, const char *ref)
50215911acb3 Add a strsplit() function and stop to build probes into a separate library
Louis Opter <louis@dotcloud.com>
parents:
diff changeset
11 {
50215911acb3 Add a strsplit() function and stop to build probes into a separate library
Louis Opter <louis@dotcloud.com>
parents:
diff changeset
12 printf("comparing: [%s] with reference: [%s].\n", field, ref);
50215911acb3 Add a strsplit() function and stop to build probes into a separate library
Louis Opter <louis@dotcloud.com>
parents:
diff changeset
13 if (strcmp(field, ref))
50215911acb3 Add a strsplit() function and stop to build probes into a separate library
Louis Opter <louis@dotcloud.com>
parents:
diff changeset
14 exit(EXIT_FAILURE);
50215911acb3 Add a strsplit() function and stop to build probes into a separate library
Louis Opter <louis@dotcloud.com>
parents:
diff changeset
15 }
50215911acb3 Add a strsplit() function and stop to build probes into a separate library
Louis Opter <louis@dotcloud.com>
parents:
diff changeset
16
50215911acb3 Add a strsplit() function and stop to build probes into a separate library
Louis Opter <louis@dotcloud.com>
parents:
diff changeset
17 int
50215911acb3 Add a strsplit() function and stop to build probes into a separate library
Louis Opter <louis@dotcloud.com>
parents:
diff changeset
18 main(void)
50215911acb3 Add a strsplit() function and stop to build probes into a separate library
Louis Opter <louis@dotcloud.com>
parents:
diff changeset
19 {
50215911acb3 Add a strsplit() function and stop to build probes into a separate library
Louis Opter <louis@dotcloud.com>
parents:
diff changeset
20 char usage[] = "system: 4242\nuser: 4242";
50215911acb3 Add a strsplit() function and stop to build probes into a separate library
Louis Opter <louis@dotcloud.com>
parents:
diff changeset
21 char test[] = " \tword1 word2 \f\tword3\n";
50215911acb3 Add a strsplit() function and stop to build probes into a separate library
Louis Opter <louis@dotcloud.com>
parents:
diff changeset
22 char *fields[4];
50215911acb3 Add a strsplit() function and stop to build probes into a separate library
Louis Opter <louis@dotcloud.com>
parents:
diff changeset
23
50215911acb3 Add a strsplit() function and stop to build probes into a separate library
Louis Opter <louis@dotcloud.com>
parents:
diff changeset
24 if (_lxcst_strsplit(usage, fields, sizeof(fields) / sizeof(fields[0])) != 4)
50215911acb3 Add a strsplit() function and stop to build probes into a separate library
Louis Opter <louis@dotcloud.com>
parents:
diff changeset
25 errx(EXIT_FAILURE, "invalid number of fields.");
50215911acb3 Add a strsplit() function and stop to build probes into a separate library
Louis Opter <louis@dotcloud.com>
parents:
diff changeset
26 check(fields[0], "system:");
50215911acb3 Add a strsplit() function and stop to build probes into a separate library
Louis Opter <louis@dotcloud.com>
parents:
diff changeset
27 check(fields[1], "4242");
50215911acb3 Add a strsplit() function and stop to build probes into a separate library
Louis Opter <louis@dotcloud.com>
parents:
diff changeset
28 check(fields[2], "user:");
50215911acb3 Add a strsplit() function and stop to build probes into a separate library
Louis Opter <louis@dotcloud.com>
parents:
diff changeset
29 check(fields[3], "4242");
50215911acb3 Add a strsplit() function and stop to build probes into a separate library
Louis Opter <louis@dotcloud.com>
parents:
diff changeset
30
50215911acb3 Add a strsplit() function and stop to build probes into a separate library
Louis Opter <louis@dotcloud.com>
parents:
diff changeset
31 if (_lxcst_strsplit(test, fields, sizeof(fields) / sizeof(fields[0])) != 3)
50215911acb3 Add a strsplit() function and stop to build probes into a separate library
Louis Opter <louis@dotcloud.com>
parents:
diff changeset
32 errx(EXIT_FAILURE, "invalid number of fields.");
50215911acb3 Add a strsplit() function and stop to build probes into a separate library
Louis Opter <louis@dotcloud.com>
parents:
diff changeset
33 check(fields[0], "word1");
50215911acb3 Add a strsplit() function and stop to build probes into a separate library
Louis Opter <louis@dotcloud.com>
parents:
diff changeset
34 check(fields[1], "word2");
50215911acb3 Add a strsplit() function and stop to build probes into a separate library
Louis Opter <louis@dotcloud.com>
parents:
diff changeset
35 check(fields[2], "word3");
50215911acb3 Add a strsplit() function and stop to build probes into a separate library
Louis Opter <louis@dotcloud.com>
parents:
diff changeset
36
5
8d8c49b066d4 Add a test for strsplit()
Louis Opter <louis@dotcloud.com>
parents: 4
diff changeset
37 if (_lxcst_strsplit(usage, fields, 1) != 1)
8d8c49b066d4 Add a test for strsplit()
Louis Opter <louis@dotcloud.com>
parents: 4
diff changeset
38 errx(EXIT_FAILURE, "invalid number of fields.");
8d8c49b066d4 Add a test for strsplit()
Louis Opter <louis@dotcloud.com>
parents: 4
diff changeset
39 check(fields[0], "system:");
8d8c49b066d4 Add a test for strsplit()
Louis Opter <louis@dotcloud.com>
parents: 4
diff changeset
40 check(fields[1], "word2");
8d8c49b066d4 Add a test for strsplit()
Louis Opter <louis@dotcloud.com>
parents: 4
diff changeset
41
4
50215911acb3 Add a strsplit() function and stop to build probes into a separate library
Louis Opter <louis@dotcloud.com>
parents:
diff changeset
42 return (EXIT_SUCCESS);
50215911acb3 Add a strsplit() function and stop to build probes into a separate library
Louis Opter <louis@dotcloud.com>
parents:
diff changeset
43 }