1
0
mirror of https://github.com/sqlite/sqlite.git synced 2025-08-01 06:27:03 +03:00

Tweak the SQLTester --verbose and double-verbose output a bit for legibility.

FossilOrigin-Name: 46b79afaafda40cb1f920cc96600adf11e8c688184c9559a08eb86776ccf3663
This commit is contained in:
stephan
2023-08-09 16:56:42 +00:00
parent 589857b965
commit 583fc5b963
5 changed files with 36 additions and 31 deletions

View File

@ -17,7 +17,7 @@ package org.sqlite.jni.tester;
Console output utility class.
*/
class Outer {
public boolean verbose = false;
public int verbosity = 0;
public static void out(Object val){
System.out.print(val);
@ -40,17 +40,21 @@ class Outer {
@SuppressWarnings("unchecked")
public Outer verbose(Object... vals){
if(verbose){
out("VERBOSE: ");
if(verbosity>0){
out("VERBOSE",(verbosity>1 ? "+: " : ": "));
outln(vals);
}
return this;
}
public void setVerbose(boolean b){
verbose = b;
public void setVerbosity(int level){
verbosity = level;
}
public boolean isVerbose(){return verbose;}
public int getVerbosity(){
return verbosity;
}
public boolean isVerbose(){return verbosity > 0;}
}

View File

@ -80,26 +80,24 @@ public class SQLTester {
private int iCurrentDb = 0;
private final String initialDbName = "test.db";
private TestScript currentScript;
private int verbosity = 0;
public SQLTester(){
reset();
}
public void setVerbose(int level){
verbosity = level;
this.outer.setVerbose( level!=0 );
public void setVerbosity(int level){
this.outer.setVerbosity( level );
}
public int getVerbosity(){
return verbosity;
return this.outer.getVerbosity();
}
public boolean isVerbose(){
return verbosity>0;
return this.outer.isVerbose();
}
@SuppressWarnings("unchecked")
public void verbose(Object... vals){
if( verbosity > 0 ) outer.verbose(vals);
outer.verbose(vals);
}
@SuppressWarnings("unchecked")
@ -406,7 +404,7 @@ public class SQLTester {
if(a.startsWith("-")){
final String flag = a.replaceFirst("-+","");
if( flag.equals("verbose") ){
++t.verbosity;
t.setVerbosity(t.getVerbosity() + 1);
}else{
throw new IllegalArgumentException("Unhandled flag: "+flag);
}
@ -546,7 +544,7 @@ class CloseDbCommand extends Command {
id = t.getCurrentDbId();
}
t.closeDb(id);
//t.verbose(argv[0]," db ",id);
t.verbose(argv[0]," db ",id);
}
}
@ -723,7 +721,7 @@ class TableResultCommand extends Command {
res.length," row(s) but expecting ",globs.length);
}
for(int i = 0; i < res.length; ++i){
final String glob = globs[i].replaceAll("\\s+"," ");
final String glob = globs[i].replaceAll("\\s+"," ").trim();
//t.verbose(argv[0]," <<",glob,">> vs <<",res[i],">>");
if( jsonMode ){
if( !glob.equals(res[i]) ){

View File

@ -82,8 +82,8 @@ class TestScript {
return ignoreReason;
}
public void setVerbose(boolean b){
outer.setVerbose(b);
public void setVerbosity(int level){
outer.setVerbosity(level);
}
@SuppressWarnings("unchecked")
@ -220,7 +220,10 @@ class TestScript {
final String[] parts = block.split("\\n", 2);
chunk.argv = parts[0].split("\\s+");
if( parts.length>1 && parts[1].length()>0 ){
chunk.content = parts[1].trim();
chunk.content = parts[1]
/* reminder: don't trim() here. It would be easier
for Command impls if we did but it makes debug
output look weird. */;
}
rc.add( chunk );
}
@ -232,17 +235,17 @@ class TestScript {
*/
public void run(SQLTester tester) throws Exception {
final int verbosity = tester.getVerbosity();
this.setVerbose(verbosity>0);
if( null==chunks ){
outer.outln("This test contains content which forces it to be skipped.");
}else{
int n = 0;
for(CommandChunk chunk : chunks){
if(verbosity>0){
outer.out("VERBOSE ",moduleName," #",++n," ",chunk.argv[0],
outer.out("VERBOSE",(verbosity>1 ? "+ " : " "),moduleName,
" #",++n," ",chunk.argv[0],
" ",Util.argvToString(chunk.argv));
if(verbosity>1 && null!=chunk.content){
outer.out("\nwith content: ", chunk.content);
outer.out("\n", chunk.content);
}
outer.out("\n");
}

View File

@ -1,5 +1,5 @@
C Strip\s--oom\scommands\sfrom\sSQLTester\sinput\ssince\s(A)\swe\scan't\scurrently\sdo\sanything\swith\sthem\sand\s(B)\sthey\scan\sappear\sas\sbody\scontent\sof\s--testcase\scommands\sand\sthe\scurrent\sparser\scannot\sdeal\swith\sthat.\sIf\s--verbose\sis\sprovided\sonce,\semit\sthe\sname\sand\sargs\sof\seach\scommand\sas\sit's\srun.\sIf\s--verbose\sis\sused\stwice\sor\smore,\salso\semit\sthe\scommand's\sbody\stext,\sif\sany.
D 2023-08-09T16:29:07.987
C Tweak\sthe\sSQLTester\s--verbose\sand\sdouble-verbose\soutput\sa\sbit\sfor\slegibility.
D 2023-08-09T16:56:42.764
F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724
@ -265,9 +265,9 @@ F ext/jni/src/org/sqlite/jni/sqlite3.java 62b1b81935ccf3393472d17cb883dc5ff39c38
F ext/jni/src/org/sqlite/jni/sqlite3_context.java d26573fc7b309228cb49786e9078597d96232257defa955a3425d10897bca810
F ext/jni/src/org/sqlite/jni/sqlite3_stmt.java 78e6d1b95ac600a9475e9db4623f69449322b0c93d1bd4e1616e76ed547ed9fc
F ext/jni/src/org/sqlite/jni/sqlite3_value.java 3d1d4903e267bc0bc81d57d21f5e85978eff389a1a6ed46726dbe75f85e6914a
F ext/jni/src/org/sqlite/jni/tester/Outer.java 3d9c40f8ed58ec0df05ca160986ea06ec84ec1f338b069cfba9604bbba467a01
F ext/jni/src/org/sqlite/jni/tester/SQLTester.java fbaaaf3f04451a66d8031a6792945fa7396be0e522774f364c2cf1520b38003a
F ext/jni/src/org/sqlite/jni/tester/TestScript.java 91ee32908b837a561cd2820fa49476743823a7b5e13e43ea8fd577357900fd16
F ext/jni/src/org/sqlite/jni/tester/Outer.java b06acf9c79e8dbc8fea4a98b00724a6a76e3ee4503eb114671d2885f8fb3df8b
F ext/jni/src/org/sqlite/jni/tester/SQLTester.java d36900bd9d1b7c9ac07d23fe2344b1f422b6556ef40da7ab3f5de457f63a2cf8
F ext/jni/src/org/sqlite/jni/tester/TestScript.java e0a4b523ba2b207e01684dc65ee8d0212bb1d60242dcdff99c4d8eb326b79628
F ext/jni/src/org/sqlite/jni/tester/test-script-interpreter.md 44449866970341076cec355193f89646825270a2f4f4073b55150cc4a55100d4
F ext/jni/src/tests/000_first.test 66dd69f5412b87b063982d1aad6907fbe472bc627ca863ae33145e4f54499b8a
F ext/jni/src/tests/010_ignored.test e17e874c6ab3c437f1293d88093cf06286083b65bf162317f91bbfd92f961b70
@ -2090,8 +2090,8 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93
F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
P 217f6e0c9c09c576b09ea59fce085a53d1a133927046102b4d00fd58109efc93
R cabb506465cd0b0ec946cd352f846b65
P 0770e8467d4bb9490d9ed6e8a20766ffee7049cc3667db6d036c13fccbb6f3ab
R b42664702ccf0865a1d128b95361cc2b
U stephan
Z 928111b17e4d371ea24b2ea94c9fa691
Z a06e0ef26142b9f73cf2ce24e37e2e96
# Remove this line to create a well-formed Fossil manifest.

View File

@ -1 +1 @@
0770e8467d4bb9490d9ed6e8a20766ffee7049cc3667db6d036c13fccbb6f3ab
46b79afaafda40cb1f920cc96600adf11e8c688184c9559a08eb86776ccf3663