mirror of
https://github.com/nim-lang/Nim.git
synced 2026-08-30 18:41:45 +00:00
DrNim (Nim compiler with Z3 integration) (#13743)
* code cleanups and feature additions * added basic test and koch/CI integration * make it build on Unix * DrNim: now buildable on Unix, only takes 10 minutes, enjoy * added basic documentation for DrNim which can also be seen as the RFC we're following * drnim: change the build setup so that drnim.exe ends up in bin/ * makes simple floating point ranges work * added basic float range check * drnim: teach Z3 about Nim's range types plus code refactoring * drnim: make unsigned numbers work * added and fixed index checking under setLen * first implementation of .ensures, .invariant and .assume (.requires still missing and so is proc type compatibility checking * drnim: .requires checking implemented * drnim: implemented .ensures properly * more impressive test involving min() * drnim: check for proc type compatibility and base method compatibility wrt .requires and .ensures * testament: support for 'pattern <directory> * koch: uses new <directory> feature of testament * drnim: added tiny musings about 'old' * Make testament work with old SSL versions * koch: add support for 'koch drnim -d:release' * drnim: preparations for the param.old notation
This commit is contained in:
@@ -728,12 +728,22 @@ proc processCategory(r: var TResults, cat: Category,
|
||||
|
||||
proc processPattern(r: var TResults, pattern, options: string; simulate: bool) =
|
||||
var testsRun = 0
|
||||
for name in walkPattern(pattern):
|
||||
if simulate:
|
||||
echo "Detected test: ", name
|
||||
else:
|
||||
var test = makeTest(name, options, Category"pattern")
|
||||
testSpec r, test
|
||||
inc testsRun
|
||||
if dirExists(pattern):
|
||||
for k, name in walkDir(pattern):
|
||||
if k in {pcFile, pcLinkToFile} and name.endsWith(".nim"):
|
||||
if simulate:
|
||||
echo "Detected test: ", name
|
||||
else:
|
||||
var test = makeTest(name, options, Category"pattern")
|
||||
testSpec r, test
|
||||
inc testsRun
|
||||
else:
|
||||
for name in walkPattern(pattern):
|
||||
if simulate:
|
||||
echo "Detected test: ", name
|
||||
else:
|
||||
var test = makeTest(name, options, Category"pattern")
|
||||
testSpec r, test
|
||||
inc testsRun
|
||||
if testsRun == 0:
|
||||
echo "no tests were found for pattern: ", pattern
|
||||
|
||||
@@ -1,2 +1,4 @@
|
||||
path = "$nim" # For compiler/nodejs
|
||||
-d:ssl # For azure
|
||||
# my SSL doesn't have this feature and I don't care:
|
||||
-d:nimDisableCertificateValidation
|
||||
|
||||
Reference in New Issue
Block a user