summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKarel Zak2016-09-16 14:18:01 +0200
committerKarel Zak2016-09-16 14:18:01 +0200
commit695fd479be6796fdad5b79c0ecbd22e25cee750b (patch)
treea331b587fbd9b8e36e8ced25012eca49d2e096c8
parenttests: add export and raw to libsmartcols test (diff)
downloadkernel-qcow2-util-linux-695fd479be6796fdad5b79c0ecbd22e25cee750b.tar.gz
kernel-qcow2-util-linux-695fd479be6796fdad5b79c0ecbd22e25cee750b.tar.xz
kernel-qcow2-util-linux-695fd479be6796fdad5b79c0ecbd22e25cee750b.zip
tests: add columns separator to libsmartcols test
Signed-off-by: Karel Zak <kzak@redhat.com>
-rw-r--r--libsmartcols/samples/fromfile.c9
-rw-r--r--tests/expected/libsmartcols/fromfile-column-separator11
-rwxr-xr-xtests/ts/libsmartcols/fromfile27
3 files changed, 37 insertions, 10 deletions
diff --git a/libsmartcols/samples/fromfile.c b/libsmartcols/samples/fromfile.c
index 6b9748897..6d4ee4aaf 100644
--- a/libsmartcols/samples/fromfile.c
+++ b/libsmartcols/samples/fromfile.c
@@ -197,7 +197,8 @@ static void __attribute__ ((__noreturn__)) usage(FILE * out)
fputs(" -n, --nlines <num> number of lines\n", out);
fputs(" -J, --json JSON output format\n", out);
fputs(" -r, --raw RAW output format\n", out);
- fputs(" -E, --export use key=\"value\" output format\n", out);
+ fputs(" -E, --export use key=\"value\" output format\n", out);
+ fputs(" -C, --colsep <str> set columns separator\n", out);
fputs(" -w, --width <num> hardcode terminal width\n", out);
fputs(" -p, --tree-parent-column <n> parent column\n", out);
fputs(" -i, --tree-id-column <n> id column\n", out);
@@ -223,6 +224,7 @@ int main(int argc, char *argv[])
{ "json", 0, 0, 'J' },
{ "raw", 0, 0, 'r' },
{ "export", 0, 0, 'E' },
+ { "colsep", 1, 0, 'C' },
{ "help", 0, 0, 'h' },
{ NULL, 0, 0, 0 },
};
@@ -240,7 +242,7 @@ int main(int argc, char *argv[])
if (!tb)
err(EXIT_FAILURE, "failed to create output table");
- while((c = getopt_long(argc, argv, "hc:Ei:Jmn:p:rw:", longopts, NULL)) != -1) {
+ while((c = getopt_long(argc, argv, "hCc:Ei:Jmn:p:rw:", longopts, NULL)) != -1) {
err_exclusive_options(c, longopts, excl, excl_st);
@@ -278,6 +280,9 @@ int main(int argc, char *argv[])
case 'E':
scols_table_enable_export(tb, TRUE);
break;
+ case 'C':
+ scols_table_set_column_separator(tb, optarg);
+ break;
case 'n':
nlines = strtou32_or_err(optarg, "failed to parse number of lines");
break;
diff --git a/tests/expected/libsmartcols/fromfile-column-separator b/tests/expected/libsmartcols/fromfile-column-separator
new file mode 100644
index 000000000..8c5aa2aff
--- /dev/null
+++ b/tests/expected/libsmartcols/fromfile-column-separator
@@ -0,0 +1,11 @@
+NAME | NUM|TRUNC
+aaaa | 0|qqqqqqqqqqqqqqqqqX
+bbb | 100|dddddddddddddX
+ccccc | 21|ffffffffffffffffffffffffffffffffffffffffX
+dddddd| 3|ssssssssssX
+ee | 411|ddddddddddddddddddddddddddX
+ffff | 5111|jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjX
+gggggg|678993321|mmmmmmmmmmmmmmmmmmmX
+hhh | 7666666|lllllllllllllllllllllllllllllllllllllX
+iiiiii| 8765|yyyyyyyyyyyyyyyyyyyyyyyyyyyyX
+jj | 987456|pppppppppX
diff --git a/tests/ts/libsmartcols/fromfile b/tests/ts/libsmartcols/fromfile
index c2796f777..a2a67f53d 100755
--- a/tests/ts/libsmartcols/fromfile
+++ b/tests/ts/libsmartcols/fromfile
@@ -85,7 +85,7 @@ ts_finalize_subtest
ts_init_subtest "trunc"
$TESTPROG --nlines 10 --width 40 \
- --column $TS_SELF/files/col-name \
+ --column $TS_SELF/files/col-name \
--column $TS_SELF/files/col-number \
--column $TS_SELF/files/col-trunc \
$TS_SELF/files/data-string \
@@ -96,7 +96,7 @@ ts_finalize_subtest
ts_init_subtest "right"
$TESTPROG --nlines 10 \
- --column $TS_SELF/files/col-name \
+ --column $TS_SELF/files/col-name \
--column $TS_SELF/files/col-number \
--column $TS_SELF/files/col-string \
$TS_SELF/files/data-string \
@@ -107,7 +107,7 @@ ts_finalize_subtest
ts_init_subtest "right-maxout"
$TESTPROG --nlines 10 --maxout --width 80\
- --column $TS_SELF/files/col-name \
+ --column $TS_SELF/files/col-name \
--column $TS_SELF/files/col-number \
$TS_SELF/files/data-string \
$TS_SELF/files/data-number \
@@ -116,7 +116,7 @@ ts_finalize_subtest
ts_init_subtest "strictwidth"
$TESTPROG --nlines 10 \
- --column $TS_SELF/files/col-name \
+ --column $TS_SELF/files/col-name \
--column $TS_SELF/files/col-strict \
--column $TS_SELF/files/col-number \
$TS_SELF/files/data-string \
@@ -127,7 +127,7 @@ ts_finalize_subtest
ts_init_subtest "noextremes"
$TESTPROG --nlines 10 --width 45 \
- --column $TS_SELF/files/col-name \
+ --column $TS_SELF/files/col-name \
--column $TS_SELF/files/col-noextremes \
--column $TS_SELF/files/col-number \
--column $TS_SELF/files/col-name \
@@ -142,7 +142,7 @@ ts_finalize_subtest
ts_init_subtest "hidden"
$TESTPROG --nlines 10 \
- --column $TS_SELF/files/col-name \
+ --column $TS_SELF/files/col-name \
--column $TS_SELF/files/col-hidden \
--column $TS_SELF/files/col-number \
$TS_SELF/files/data-string \
@@ -205,7 +205,7 @@ ts_finalize_subtest
ts_init_subtest "raw"
$TESTPROG --nlines 10 --raw \
- --column $TS_SELF/files/col-name \
+ --column $TS_SELF/files/col-name \
--column $TS_SELF/files/col-number \
--column $TS_SELF/files/col-trunc \
$TS_SELF/files/data-string \
@@ -216,7 +216,18 @@ ts_finalize_subtest
ts_init_subtest "export"
$TESTPROG --nlines 10 --export \
- --column $TS_SELF/files/col-name \
+ --column $TS_SELF/files/col-name \
+ --column $TS_SELF/files/col-number \
+ --column $TS_SELF/files/col-trunc \
+ $TS_SELF/files/data-string \
+ $TS_SELF/files/data-number \
+ $TS_SELF/files/data-string-long \
+ >> $TS_OUTPUT 2>&1
+ts_finalize_subtest
+
+ts_init_subtest "column-separator"
+$TESTPROG --nlines 10 --colsep \| \
+ --column $TS_SELF/files/col-name \
--column $TS_SELF/files/col-number \
--column $TS_SELF/files/col-trunc \
$TS_SELF/files/data-string \