## ## square.exp - Test whether a "square" program works on this u6a build ## ## Copyright (C) 2020 CismonX ## ## This program 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 3 of the License, or ## (at your option) any later version. ## ## This program 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 this program. If not, see . ## set tool "default" set timeout 5 # The following code is a modified version of ftp://ftp.madore.org/pub/madore/unlambda/CUAN/Square.unl # Written by Panu Kalliokoski set src_stub "`r```si`k``s``s`kk`si``s``si`k``s`k`s`k``sk``sr`k.oir``si%s`k`ki" set src_segment "" set expected "\n" for { set i 0 } { $i < 20 } { incr i } { set src_segment "$src_segment``si" set line [ string repeat "o" [ expr $i + 1 ] ] set square [ string repeat "$line\n" [ expr $i + 1 ] ] set expected "$expected\n$square" u6a_run [ format $src_stub $src_segment ] - - 0 expect { $expected { pass "case $i ok!" } default { fail "case $i fails!" } } u6a_stop 0 }