[testsuite] Improved `match_items()' sorting
`match_items()' now uses bash sort instead of tcl lsort. The difference in sorting happens because bash and tcl use a different sorting order: * bash sort uses the current locale's collating sequence and character set * tcl lsort uses a C-like sort order where each character is sorted according to its numeric value See also: http://fvue.nl/wiki/Tcl:_Lsort_output_differs_from_bash_sort This fix allows the `dpkg -L' test to compare all packages. To run the test: ./runCompletion dpkg.exp
This commit is contained in:
parent
3fe193f81a
commit
262c91b486
@ -21,14 +21,12 @@ sync_after_int
|
|||||||
# NOTE: If an argument is passed to `--get-selections', `dpkg' also returns
|
# NOTE: If an argument is passed to `--get-selections', `dpkg' also returns
|
||||||
# packages with status "purged". Be sure to add `| grep install$' to
|
# packages with status "purged". Be sure to add `| grep install$' to
|
||||||
# pipeline before 'cut' in that case. -- FVu, Sun Feb 22 10:08:34 CET 2009
|
# pipeline before 'cut' in that case. -- FVu, Sun Feb 22 10:08:34 CET 2009
|
||||||
# TODO: Fix sorting in `match_items' in lib/library.exp. Sorting in tcl appears
|
if {[assert_exec {dpkg --get-selections | cut -f1} packages]} {
|
||||||
# to be different from sorting in bash.
|
assert_complete $packages "dpkg -L "
|
||||||
#if {[assert_exec {dpkg --get-selections | cut -f1 | sort} packages]} {
|
}; # if
|
||||||
# assert_complete $packages "dpkg -L "
|
|
||||||
#}; # if
|
|
||||||
#
|
sync_after_int
|
||||||
#
|
|
||||||
#sync_after_int
|
|
||||||
|
|
||||||
|
|
||||||
teardown
|
teardown
|
||||||
|
@ -231,7 +231,7 @@ proc get_hosts {} {
|
|||||||
# @param integer $size Chunk size
|
# @param integer $size Chunk size
|
||||||
# @result boolean True if successful, False if not
|
# @result boolean True if successful, False if not
|
||||||
proc match_items {items test {size 20}} {
|
proc match_items {items test {size 20}} {
|
||||||
set items [lsort -ascii $items]
|
set items [exec sort << [join $items "\n"]]
|
||||||
set result false
|
set result false
|
||||||
for {set i 0} {$i < [llength $items]} {set i [expr {$i + $size}]} {
|
for {set i 0} {$i < [llength $items]} {set i [expr {$i + $size}]} {
|
||||||
set expected ""
|
set expected ""
|
||||||
|
Loading…
x
Reference in New Issue
Block a user