diff --git a/src/server/testsuite/lyskomd.0/bug-52.data b/src/server/testsuite/lyskomd.0/bug-52.data new file mode 100644 index 0000000000000000000000000000000000000000..fd49c21f31192325cebdeea5334da59a76247c14 Binary files /dev/null and b/src/server/testsuite/lyskomd.0/bug-52.data differ diff --git a/src/server/testsuite/lyskomd.0/bug-52.exp b/src/server/testsuite/lyskomd.0/bug-52.exp new file mode 100644 index 0000000000000000000000000000000000000000..e62830475aa429771e36dcaaffccc8b94748e009 --- /dev/null +++ b/src/server/testsuite/lyskomd.0/bug-52.exp @@ -0,0 +1,139 @@ +# Test suite for lyskomd. +# Copyright (C) 2001-2002 Lysator Academic Computer Association. +# +# This file is part of the LysKOM server. +# +# LysKOM is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 1, or (at your option) +# any later version. +# +# LysKOM is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +# for more details. +# +# You should have received a copy of the GNU General Public License +# along with LysKOM; see the file COPYING. If not, write to +# Lysator, c/o ISY, Linkoping University, S-581 83 Linkoping, SWEDEN, +# or the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, +# MA 02139, USA. +# +# Please mail bug reports to bug-lyskom@lysator.liu.se. + + +# Check that the read-text part of a membership can be saved and +# restored. + +obtain_lock + +unpack_db bug-52 + +proc start {} { + lyskomd_start "" "Garb: no" "" "" "" [list \ + "WARN: [pwd]/db/number.txt: No such file" \ + ] 0 0 6 21 1 + client_start 0 + talk_to client 0 + send "A3Hfoo\n" + simple_expect "LysKOM" + send "1000 62 5 [holl "gazonk"] 0\n" + simple_expect ":2 9 5 1" + simple_expect "=1000" +} + +proc stop {} { + global lyskomd_pid + + system "kill -HUP $lyskomd_pid" + lyskomd_death {} signal + client_death 0 + + dbck_run +} + +proc checkit {pos conf prio last arrsize array} { + global any_time + + send "1 99 5 $pos 1 0\n" + simple_expect "=1 1 { $pos $any_time $conf $prio $last $arrsize \\* 5 $any_time 00000000 }" + send "2 99 5 $pos 1 1\n" + simple_expect "=2 1 { $pos $any_time $conf $prio $last $arrsize $array 5 $any_time 00000000 }" + send "3 98 5 $conf\n" + simple_expect "=3 $pos $any_time $conf $prio $last $arrsize $array 5 $any_time 00000000" + send "4 46 5 $pos 1 0\n" + simple_expect "=4 1 { $any_time $conf $prio $last $arrsize \\* }" + send "5 46 5 $pos 1 1\n" + simple_expect "=5 1 { $any_time $conf $prio $last $arrsize $array }" + send "6 9 5 $conf\n" + simple_expect "=6 $any_time $conf $prio $last $arrsize $array" +} + + +start +checkit 0 5 255 0 0 "\\*" +checkit 1 1 100 0 0 "\\*" +checkit 2 2 100 0 0 "\\*" +checkit 3 3 100 0 0 "\\*" +checkit 4 4 100 0 0 "\\*" +stop + +start +checkit 0 5 255 0 0 "\\*" +checkit 1 1 100 0 0 "\\*" +checkit 2 2 100 0 0 "\\*" +checkit 3 3 100 0 0 "\\*" +checkit 4 4 100 0 0 "\\*" + +send "1000 27 5 1 { 2 }\n" +simple_expect "=1000" +send "1001 27 1 0 { }\n" +simple_expect "=1001" +send "1002 27 2 1 { 1 }\n" +simple_expect "=1002" +send "1003 27 3 2 { 1 2 }\n" +simple_expect "=1003" +send "1004 27 4 2 { 1 3 }\n" +simple_expect "=1004" + +checkit 0 5 255 0 1 "{ 2 }" +checkit 1 1 100 0 0 "\\*" +checkit 2 2 100 1 0 "\\*" +checkit 3 3 100 2 0 "\\*" +checkit 4 4 100 1 1 "{ 3 }" +stop + +start +checkit 0 5 255 0 1 "{ 2 }" +checkit 1 1 100 0 0 "\\*" +checkit 2 2 100 1 0 "\\*" +checkit 3 3 100 2 0 "\\*" +checkit 4 4 100 1 1 "{ 3 }" + +send "1000 27 5 1 { 4 }\n" +simple_expect "=1000" +send "1001 27 1 2 { 2 4 }\n" +simple_expect "=1001" +send "1002 27 2 1 { 2 }\n" +simple_expect "=1002" +send "1003 27 3 2 { 4 3 }\n" +simple_expect "=1003" +send "1004 27 4 2 { 5 6 }\n" +simple_expect "=1004" + +checkit 0 5 255 0 2 "{ 2 4 }" +checkit 1 1 100 0 2 "{ 2 4 }" +checkit 2 2 100 2 0 "\\*" +checkit 3 3 100 4 0 "\\*" +checkit 4 4 100 1 3 "{ 3 5 6 }" +stop + +start +checkit 0 5 255 0 2 "{ 2 4 }" +checkit 1 1 100 0 2 "{ 2 4 }" +checkit 2 2 100 2 0 "\\*" +checkit 3 3 100 4 0 "\\*" +checkit 4 4 100 1 3 "{ 3 5 6 }" +stop + +release_lock diff --git a/src/server/testsuite/lyskomd.0/bug-52.texts b/src/server/testsuite/lyskomd.0/bug-52.texts new file mode 100644 index 0000000000000000000000000000000000000000..0b60dc9ea4f1046bd98e981dc8727470f71cc43c --- /dev/null +++ b/src/server/testsuite/lyskomd.0/bug-52.texts @@ -0,0 +1,21 @@ +hello +text 1hello +text 2hello +text 3hello +text 4hello +text 5hello +text 6hello +text 7hello +text 8hello +text 9hello +text 10hello +text 11hello +text 12hello +text 13hello +text 14hello +text 15hello +text 16hello +text 17hello +text 18hello +text 19hello +text 20 \ No newline at end of file