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

When shell has no .ar, fake its effect w.r.t. page_size and table creation/filling.

FossilOrigin-Name: 959f5c65ea14f4716df61e250e9d5a0d69d602a2a973ad22a364e640162c2983
This commit is contained in:
larrybr
2021-03-10 06:06:16 +00:00
parent a94c484584
commit c5edbd1cf6
3 changed files with 41 additions and 14 deletions

View File

@ -33,7 +33,7 @@ source $testdir/tester.tcl
set ::testprefix avfs
set CLI [test_find_cli]
db close
forcedelete test.db
# forcedelete test.db
load_static_extension db appendvfs
@ -42,6 +42,16 @@ set ::fza avfs.sdb
forcedelete $::fa $::fza
set ::result {}
proc shellDoesAr {} {
set shdo "sh_app1.sql"
forcedelete $shdo
set fd [open $shdo w]
puts $fd ".help\n.q"
close $fd
set res [catchcmd "-batch -cmd \".read $shdo\""]
return [regexp {^.archive} [lindex $res 1]]
}
set ::vf "&vfs=apndvfs"
# Return file offset of appendvfs portion of a file, or {} if none such.
@ -200,12 +210,19 @@ do_test 3.2 {
set ::result [join $results " | "]
} {ok}
set ::cliDoesAr [shellDoesAr]
do_test 4.1 {
set shdo "sh_app1.sql"
set shod "sh_app1.adb"
forcedelete $shdo $shod
set ofd [open $shdo w]
puts $ofd ".ar -c"
if {$::cliDoesAr} {
puts $ofd ".ar -c"
} else {
puts $ofd "pragma page_size=512;"
puts $ofd "create table sqlar (a);"
}
puts $ofd ".tables"
puts $ofd ".q"
close $ofd
@ -223,7 +240,12 @@ do_test 4.2 {
set shod "sh_app1.adb"
forcedelete $shdo $shod
set ofd [open $shdo w]
puts $ofd ".ar -c"
if {$::cliDoesAr} {
puts $ofd ".ar -c"
} else {
puts $ofd "pragma page_size=512;"
puts $ofd "create table sqlar (a);"
}
puts $ofd ".tables"
puts $ofd ".q"
close $ofd
@ -240,8 +262,13 @@ do_test 4.3 {
set shod "sh_app1.adb" ; # Same as test 4.2, reusing ADB.
forcedelete $shdo
set ofd [open $shdo w]
puts $ofd ".ar -u $shdo"
puts $ofd "select count(*) from sqlar where name = '$shdo';"
if {$::cliDoesAr} {
puts $ofd ".ar -u $shdo"
puts $ofd "select count(*) from sqlar where name = '$shdo';"
} else {
puts $ofd "insert into sqlar values (1);"
puts $ofd "select count(*) from sqlar;"
}
puts $ofd ".q"
close $ofd
set res [catchcmd "-append -batch -init $shdo $shod" ""]
@ -296,6 +323,6 @@ do_test 5.2 {
forcedelete $::fa $::fza
unset -nocomplain ::fa ::fza ::tlo ::result ::randints
unset -nocomplain ::fa ::fza ::tlo ::result ::randints ::cliDoesAr
finish_test