[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
|
||||
# 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
|
||||
# TODO: Fix sorting in `match_items' in lib/library.exp. Sorting in tcl appears
|
||||
# to be different from sorting in bash.
|
||||
#if {[assert_exec {dpkg --get-selections | cut -f1 | sort} packages]} {
|
||||
# assert_complete $packages "dpkg -L "
|
||||
#}; # if
|
||||
#
|
||||
#
|
||||
#sync_after_int
|
||||
if {[assert_exec {dpkg --get-selections | cut -f1} packages]} {
|
||||
assert_complete $packages "dpkg -L "
|
||||
}; # if
|
||||
|
||||
|
||||
sync_after_int
|
||||
|
||||
|
||||
teardown
|
||||
|
@ -231,7 +231,7 @@ proc get_hosts {} {
|
||||
# @param integer $size Chunk size
|
||||
# @result boolean True if successful, False if not
|
||||
proc match_items {items test {size 20}} {
|
||||
set items [lsort -ascii $items]
|
||||
set items [exec sort << [join $items "\n"]]
|
||||
set result false
|
||||
for {set i 0} {$i < [llength $items]} {set i [expr {$i + $size}]} {
|
||||
set expected ""
|
||||
|
Loading…
x
Reference in New Issue
Block a user