1# 2# Copyright (c) 2012 D. Richard Hipp 3# 4# This program is free software; you can redistribute it and/or 5# modify it under the terms of the Simplified BSD License (also 6# known as the "2-Clause License" or "FreeBSD License".) 7# 8# This program is distributed in the hope that it will be useful, 9# but without any warranty; without even the implied warranty of 10# merchantability or fitness for a particular purpose. 11# 12# Author contact information: 13# drh@hwaci.com 14# http://www.hwaci.com/drh/ 15# 16############################################################################ 17# 18# Test command line parsing 19# 20 21test_setup "" 22 23proc cmd-line {usefile testname args} { 24 set i 1 25 foreach {cmdline result} $args { 26 if {$usefile} { 27 set cmdlinefile [file join \ 28 [getTemporaryPath] fossil-cmd-line-$testname.txt] 29 30 write_file $cmdlinefile $cmdline 31 fossil test-echo --args $cmdlinefile 32 file delete $cmdlinefile 33 } else { 34 fossil test-echo $cmdline 35 } 36 37 test cmd-line-$testname.$i \ 38 {[lrange [split $::RESULT \n] 3 end]=="\{argv\[2\] = \[$result\]\}"} 39 40 incr i 41 } 42} 43 44cmd-line false 100 abc abc a\"bc a\"bc \"abc\" \"abc\" 45 46# 47# NOTE: Use an --args file on Windows to avoid unwanted glob expansion 48# from MinGW and/or the MSVCRT. 49# 50cmd-line $is_windows 101 * * *.* *.* 51 52############################################################################### 53 54test_cleanup 55