tests: add export and raw to libsmartcols test

Signed-off-by: Karel Zak <kzak@redhat.com>
This commit is contained in:
Karel Zak 2016-09-16 13:49:37 +02:00
parent 0c3e7a0131
commit 4a2b50f238
4 changed files with 64 additions and 2 deletions

View File

@ -17,6 +17,7 @@
#include "nls.h"
#include "strutils.h"
#include "xalloc.h"
#include "optutils.h"
#include "libsmartcols.h"
@ -195,6 +196,8 @@ static void __attribute__ ((__noreturn__)) usage(FILE * out)
fputs(" -c, --column <file> column definition\n", 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(" -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);
@ -218,19 +221,29 @@ int main(int argc, char *argv[])
{ "tree-parent-column", 1, 0, 'p' },
{ "tree-id-column", 1, 0, 'i' },
{ "json", 0, 0, 'J' },
{ "raw", 0, 0, 'r' },
{ "export", 0, 0, 'E' },
{ "help", 0, 0, 'h' },
{ NULL, 0, 0, 0 },
};
setlocale(LC_ALL, ""); /* just to have enable UTF8 chars */
static const ul_excl_t excl[] = { /* rows and cols in in ASCII order */
{ 'E', 'J', 'r' },
{ 0 }
};
int excl_st[ARRAY_SIZE(excl)] = UL_EXCL_STATUS_INIT;
setlocale(LC_ALL, ""); /* just to have enable UTF8 chars */
scols_init_debug(0);
tb = scols_new_table();
if (!tb)
err(EXIT_FAILURE, "failed to create output table");
while((c = getopt_long(argc, argv, "hc:i:Jmn:p:w:", longopts, NULL)) != -1) {
while((c = getopt_long(argc, argv, "hc:Ei:Jmn:p:rw:", longopts, NULL)) != -1) {
err_exclusive_options(c, longopts, excl, excl_st);
switch(c) {
case 'c': /* add column from file */
{
@ -259,6 +272,12 @@ int main(int argc, char *argv[])
case 'm':
scols_table_enable_maxout(tb, TRUE);
break;
case 'r':
scols_table_enable_raw(tb, TRUE);
break;
case 'E':
scols_table_enable_export(tb, TRUE);
break;
case 'n':
nlines = strtou32_or_err(optarg, "failed to parse number of lines");
break;

View File

@ -0,0 +1,10 @@
NAME="aaaa" NUM="0" TRUNC="qqqqqqqqqqqqqqqqqX"
NAME="bbb" NUM="100" TRUNC="dddddddddddddX"
NAME="ccccc" NUM="21" TRUNC="ffffffffffffffffffffffffffffffffffffffffX"
NAME="dddddd" NUM="3" TRUNC="ssssssssssX"
NAME="ee" NUM="411" TRUNC="ddddddddddddddddddddddddddX"
NAME="ffff" NUM="5111" TRUNC="jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjX"
NAME="gggggg" NUM="678993321" TRUNC="mmmmmmmmmmmmmmmmmmmX"
NAME="hhh" NUM="7666666" TRUNC="lllllllllllllllllllllllllllllllllllllX"
NAME="iiiiii" NUM="8765" TRUNC="yyyyyyyyyyyyyyyyyyyyyyyyyyyyX"
NAME="jj" NUM="987456" TRUNC="pppppppppX"

View File

@ -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

View File

@ -203,5 +203,27 @@ $TESTPROG --nlines 10 \
>> $TS_OUTPUT 2>&1
ts_finalize_subtest
ts_init_subtest "raw"
$TESTPROG --nlines 10 --raw \
--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 "export"
$TESTPROG --nlines 10 --export \
--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_log "...done."
ts_finalize