[tests] coverage for json SQL funcs

pull/1031/head
Tim Stack 2 years ago
parent 35a8e99c07
commit 072fad4173

@ -295,7 +295,7 @@ sql_jget(sqlite3_context* context, int argc, sqlite3_value** argv)
{
case yajl_status_error: {
err = yajl_get_error(handle.in(),
0,
1,
(const unsigned char*) json_in,
strlen(json_in));
sqlite3_result_error(context, (const char*) err, -1);
@ -319,7 +319,7 @@ sql_jget(sqlite3_context* context, int argc, sqlite3_value** argv)
switch (yajl_complete_parse(handle.in())) {
case yajl_status_error: {
err = yajl_get_error(handle.in(),
0,
1,
(const unsigned char*) json_in,
strlen(json_in));
sqlite3_result_error(context, (const char*) err, -1);

@ -672,6 +672,8 @@ EXPECTED_FILES = \
$(srcdir)/%reldir%/test_sql_indexes.sh_f7681c234d4f60df16c997a05163aeb058c52870.out \
$(srcdir)/%reldir%/test_sql_json_func.sh_017d24148f3e28f719429b709f4aa5478f458443.err \
$(srcdir)/%reldir%/test_sql_json_func.sh_017d24148f3e28f719429b709f4aa5478f458443.out \
$(srcdir)/%reldir%/test_sql_json_func.sh_026077f4d573ee034467065b7e4f1878bdd4e2f2.err \
$(srcdir)/%reldir%/test_sql_json_func.sh_026077f4d573ee034467065b7e4f1878bdd4e2f2.out \
$(srcdir)/%reldir%/test_sql_json_func.sh_191436b38db80b1dd9e7e0814c31c5fa7239dc51.err \
$(srcdir)/%reldir%/test_sql_json_func.sh_191436b38db80b1dd9e7e0814c31c5fa7239dc51.out \
$(srcdir)/%reldir%/test_sql_json_func.sh_1a74914cbf12fcd5c06935b992f6355acdbcf2d8.err \
@ -708,6 +710,8 @@ EXPECTED_FILES = \
$(srcdir)/%reldir%/test_sql_json_func.sh_8cae9740ddfd6ba4c865fca0117b7bea3bb556e5.out \
$(srcdir)/%reldir%/test_sql_json_func.sh_8e229f1b5fa3d3803e9db2f295a8d1a490e1b3db.err \
$(srcdir)/%reldir%/test_sql_json_func.sh_8e229f1b5fa3d3803e9db2f295a8d1a490e1b3db.out \
$(srcdir)/%reldir%/test_sql_json_func.sh_8e3724c90bf96dff5d8ba3cfaf4b7e2eaa9e5f66.err \
$(srcdir)/%reldir%/test_sql_json_func.sh_8e3724c90bf96dff5d8ba3cfaf4b7e2eaa9e5f66.out \
$(srcdir)/%reldir%/test_sql_json_func.sh_93ba3ba52b0dd2d5a3ba43bcb7c3638c05ecfe75.err \
$(srcdir)/%reldir%/test_sql_json_func.sh_93ba3ba52b0dd2d5a3ba43bcb7c3638c05ecfe75.out \
$(srcdir)/%reldir%/test_sql_json_func.sh_97aa53b581838f5875fe2beda8d1cb245a24f3d6.err \
@ -730,6 +734,8 @@ EXPECTED_FILES = \
$(srcdir)/%reldir%/test_sql_json_func.sh_bbd979ed74b46ae1696ed7312a48a436bcf99ec0.out \
$(srcdir)/%reldir%/test_sql_json_func.sh_c1ae603d969a5b106328287523c0ddfed07146ad.err \
$(srcdir)/%reldir%/test_sql_json_func.sh_c1ae603d969a5b106328287523c0ddfed07146ad.out \
$(srcdir)/%reldir%/test_sql_json_func.sh_e0ab80f50fb008700ab6cfb90694ed014d40e44b.err \
$(srcdir)/%reldir%/test_sql_json_func.sh_e0ab80f50fb008700ab6cfb90694ed014d40e44b.out \
$(srcdir)/%reldir%/test_sql_json_func.sh_ebafb98307f307ae8d8ab6921c32929aab3a1a16.err \
$(srcdir)/%reldir%/test_sql_json_func.sh_ebafb98307f307ae8d8ab6921c32929aab3a1a16.out \
$(srcdir)/%reldir%/test_sql_json_func.sh_ee36fbea10a33ca106a211feb05d61ecf8e74634.err \

@ -0,0 +1,4 @@
error: sqlite3_exec failed -- parse error: premature EOF
[123, true
(right here) ------^

@ -0,0 +1 @@
error: sqlite3_exec failed -- expecting JSON value and pointer

@ -0,0 +1 @@
error: sqlite3_exec failed -- lnav-error:{"level":"error","message":{"str":"call to json_concat(json, value, ...) failed","attrs":[{"start":8,"end":19,"type":"role","value":46},{"start":20,"end":24,"type":"role","value":45},{"start":26,"end":31,"type":"role","value":45},{"start":8,"end":37,"type":"role","value":59}]},"reason":{"str":"Invalid JSON: parse error: premature EOF\n [null,\n (right here) ------^","attrs":[]},"snippets":[],"help":{"str":"","attrs":[]}}

@ -1,2 +1,4 @@
error: sqlite3_exec failed -- parse error: premature EOF
[null, true, 20, 30, 40
(right here) ------^

@ -1,5 +1,7 @@
#! /bin/bash
run_cap_test ./drive_sql "select json_concat('[null,', 1.0, 2.0)"
run_cap_test ./drive_sql "select json_concat(json('[null, true, 0]'), 1.0, 2.0)"
run_cap_test ./drive_sql "select json_concat(json('[\"tag0\"]'), 'tag1', 'tag2')"
@ -40,6 +42,10 @@ run_cap_test env TEST_COMMENT='contains4' ./drive_sql <<EOF
select json_contains('["hi", "bye", "solong]', 'bye') as res
EOF
run_cap_test ./drive_sql "select jget()"
run_cap_test ./drive_sql "select jget('[123, true', '/0')"
run_cap_test ./drive_sql "select jget('4', '')"
run_cap_test ./drive_sql "select jget('4', null)"

Loading…
Cancel
Save