Merge branch 'devel' into araq-misc

This commit is contained in:
Araq 2018-08-13 20:16:18 +02:00
commit a0cde8cee6
13 changed files with 90 additions and 20 deletions

View file

@ -0,0 +1,2 @@
proc head*[T](pp: var array[1,T]): var T =
result = pp[0]

View file

@ -0,0 +1,10 @@
import rtarray
type
T = tuple[x:int]
var
arr: array[1,T]
proc init*() =
discard head(arr)

4
tests/ccgbugs/t8616.nim Normal file
View file

@ -0,0 +1,4 @@
import pkg8616 / scheduler
when isMainModule:
init()

12
tests/closure/t8550.nim Normal file
View file

@ -0,0 +1,12 @@
discard """
output: "@[\"42\"]"
"""
proc chk_fail(): seq[string] =
iterator x(): int {.closure.} = yield 42
proc f(cl: iterator(): int {.closure.}): seq[string] =
result = @[]
for i in cl(): result.add($i)
result = f(x)
echo(chk_fail())

View file

@ -0,0 +1,20 @@
discard """
file: "tconverter_with_constraint.nim"
line: 20
errormsg: "type mismatch: got <int>"
"""
type
MyType = distinct int
converter to_mytype(m: int{lit}): MyType =
m.MyType
proc myproc(m: MyType) =
echo m.int, ".MyType"
myproc(1) # call by literal is ok
var x: int = 12
myproc(x) # should fail

View file

@ -199,6 +199,12 @@ proc testRFind =
assert "0123456789ABCDEFGAH".rfind({'A'..'C'}, 13) == 12
assert "0123456789ABCDEFGAH".rfind({'G'..'H'}, 13) == -1
proc testSplitLines() =
let fixture = "a\nb\rc\r\nd"
assert len(fixture.splitLines) == 4
assert splitLines(fixture) == @["a", "b", "c", "d"]
assert splitLines(fixture, keepEol=true) == @["a\n", "b\r", "c\r\n", "d"]
proc testCountLines =
proc assertCountLines(s: string) = assert s.countLines == s.splitLines.len
assertCountLines("")
@ -229,7 +235,7 @@ proc testParseInts =
assert "72".parseHexInt == 114
assert "FF".parseHexInt == 255
assert "ff".parseHexInt == 255
assert "fF".parseHexInt == 255
assert "fF".parseHexInt == 255
assert "0x7_2".parseHexInt == 114
rejectParse "".parseHexInt
rejectParse "_".parseHexInt
@ -252,6 +258,7 @@ proc testParseInts =
testDelete()
testFind()
testRFind()
testSplitLines()
testCountLines()
testParseInts()

View file

@ -527,5 +527,9 @@ proc processCategory(r: var TResults, cat: Category, options: string) =
# We can't test it because it depends on a third party.
discard # TODO: Move untestable tests to someplace else, i.e. nimble repo.
else:
var testsRun = 0
for name in os.walkFiles("tests" & DirSep &.? cat.string / "t*.nim"):
testSpec r, makeTest(name, options, cat)
inc testsRun
if testsRun == 0:
echo "[Warning] - Invalid category specified \"", cat.string, "\", no tests were run"

View file

@ -22,7 +22,7 @@ const
Command:
all run all tests
c|category <category> run all the tests of a certain category
c|cat|category <category> run all the tests of a certain category
r|run <test> run single test file
html generate $1 from the database
Arguments: