properly deprecate parseopt2 (#10452)
This commit is contained in:
parent
87fce94d65
commit
268197add8
4 changed files with 6 additions and 32 deletions
|
|
@ -3,7 +3,7 @@ discard """
|
||||||
|
|
||||||
# bug #5404
|
# bug #5404
|
||||||
|
|
||||||
import parseopt2
|
import parseopt
|
||||||
|
|
||||||
{.emit: """typedef struct {
|
{.emit: """typedef struct {
|
||||||
int key;
|
int key;
|
||||||
|
|
@ -12,5 +12,5 @@ import parseopt2
|
||||||
type foo* {.importc: "foo", nodecl.} = object
|
type foo* {.importc: "foo", nodecl.} = object
|
||||||
key* {.importc: "key".}: cint
|
key* {.importc: "key".}: cint
|
||||||
|
|
||||||
for kind, key, value in parseopt2.getopt():
|
for kind, key, value in parseopt.getopt():
|
||||||
discard
|
discard
|
||||||
|
|
|
||||||
|
|
@ -21,14 +21,7 @@ kind: cmdShortOption key:val -- r:1
|
||||||
kind: cmdShortOption key:val -- r:0
|
kind: cmdShortOption key:val -- r:0
|
||||||
kind: cmdShortOption key:val -- l:
|
kind: cmdShortOption key:val -- l:
|
||||||
kind: cmdShortOption key:val -- r:4
|
kind: cmdShortOption key:val -- r:4
|
||||||
parseopt2
|
'''
|
||||||
first round
|
|
||||||
kind: cmdLongOption key:val -- left:
|
|
||||||
second round
|
|
||||||
kind: cmdLongOption key:val -- left:
|
|
||||||
kind: cmdLongOption key:val -- debug:3
|
|
||||||
kind: cmdShortOption key:val -- l:4
|
|
||||||
kind: cmdShortOption key:val -- r:2'''
|
|
||||||
joinable: false
|
joinable: false
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
|
@ -42,7 +35,6 @@ when defined(testament_tparseopt):
|
||||||
main()
|
main()
|
||||||
else:
|
else:
|
||||||
from parseopt import nil
|
from parseopt import nil
|
||||||
from parseopt2 import nil
|
|
||||||
|
|
||||||
block:
|
block:
|
||||||
echo "parseopt"
|
echo "parseopt"
|
||||||
|
|
@ -76,28 +68,11 @@ else:
|
||||||
for kind, key, val in parseopt.getopt(p):
|
for kind, key, val in parseopt.getopt(p):
|
||||||
echo "kind: ", kind, "\tkey:val -- ", key, ":", val
|
echo "kind: ", kind, "\tkey:val -- ", key, ":", val
|
||||||
|
|
||||||
block:
|
|
||||||
echo "parseopt2"
|
|
||||||
for kind, key, val in parseopt2.getopt():
|
|
||||||
echo "kind: ", kind, "\tkey:val -- ", key, ":", val
|
|
||||||
|
|
||||||
# pass custom cmdline arguments
|
|
||||||
echo "first round"
|
|
||||||
var argv: seq[string] = @["--left", "--debug:3", "-l=4", "-r:2"]
|
|
||||||
var p = parseopt2.initOptParser(argv)
|
|
||||||
for kind, key, val in parseopt2.getopt(p):
|
|
||||||
echo "kind: ", kind, "\tkey:val -- ", key, ":", val
|
|
||||||
break
|
|
||||||
# reset getopt iterator and check arguments are returned correctly.
|
|
||||||
echo "second round"
|
|
||||||
for kind, key, val in parseopt2.getopt(p):
|
|
||||||
echo "kind: ", kind, "\tkey:val -- ", key, ":", val
|
|
||||||
|
|
||||||
import osproc, os, strutils
|
import osproc, os, strutils
|
||||||
from stdtest/specialpaths import buildDir
|
from stdtest/specialpaths import buildDir
|
||||||
import "../.." / compiler/unittest_light
|
import "../.." / compiler/unittest_light
|
||||||
|
|
||||||
block: # fix #9951 (and make it work for parseopt and parseopt2)
|
block: # fix #9951
|
||||||
template runTest(parseoptCustom) =
|
template runTest(parseoptCustom) =
|
||||||
var p = parseoptCustom.initOptParser(@["echo \"quoted\""])
|
var p = parseoptCustom.initOptParser(@["echo \"quoted\""])
|
||||||
let expected = when defined(windows):
|
let expected = when defined(windows):
|
||||||
|
|
@ -117,7 +92,6 @@ else:
|
||||||
doAssert "a5'b" == "a5\'b"
|
doAssert "a5'b" == "a5\'b"
|
||||||
assertEquals parseoptCustom.cmdLineRest(p2), expected2
|
assertEquals parseoptCustom.cmdLineRest(p2), expected2
|
||||||
runTest(parseopt)
|
runTest(parseopt)
|
||||||
runTest(parseopt2)
|
|
||||||
|
|
||||||
block: # fix #9842
|
block: # fix #9842
|
||||||
let exe = buildDir / "D20190112T145450".addFileExt(ExeExt)
|
let exe = buildDir / "D20190112T145450".addFileExt(ExeExt)
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@ joinable: false
|
||||||
# not joinable because it executes itself with parameters
|
# not joinable because it executes itself with parameters
|
||||||
import os
|
import os
|
||||||
import osproc
|
import osproc
|
||||||
import parseopt2
|
import parseopt
|
||||||
import sequtils
|
import sequtils
|
||||||
|
|
||||||
let argv = commandLineParams()
|
let argv = commandLineParams()
|
||||||
|
|
@ -17,6 +17,6 @@ else:
|
||||||
let f = toSeq(getopt())
|
let f = toSeq(getopt())
|
||||||
doAssert f[0].kind == cmdArgument and f[0].key == "foo bar" and f[0].val == ""
|
doAssert f[0].kind == cmdArgument and f[0].key == "foo bar" and f[0].val == ""
|
||||||
doAssert f[1].kind == cmdLongOption and f[1].key == "aa" and f[1].val == "bar=a"
|
doAssert f[1].kind == cmdLongOption and f[1].key == "aa" and f[1].val == "bar=a"
|
||||||
doAssert f[2].kind == cmdLongOption and f[2].key == "a=c" and f[2].val == "d"
|
doAssert f[2].kind == cmdLongOption and f[2].key == "a" and f[2].val == "c:d"
|
||||||
doAssert f[3].kind == cmdLongOption and f[3].key == "ab" and f[3].val == ""
|
doAssert f[3].kind == cmdLongOption and f[3].key == "ab" and f[3].val == ""
|
||||||
doAssert f[4].kind == cmdShortOption and f[4].key == "c" and f[4].val == ""
|
doAssert f[4].kind == cmdShortOption and f[4].key == "c" and f[4].val == ""
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue