Update JS and nimscript import tests (#19306)

* add new modules, except experimental ones
* remove deprecated modules mersenne and sharedlist
* better describe why some modules fail and some modules don't
This commit is contained in:
hlaaftana 2022-01-01 15:33:16 +03:00 • committed by GitHub
commit faaf271928
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 53 additions and 40 deletions

View file

@ -7,46 +7,48 @@ discard """
import std/[ import std/[
# Core: # Core:
bitops, typetraits, lenientops, macros, volatile, typeinfo, bitops, typetraits, lenientops, macros, volatile, typeinfo,
# fails: endians, rlocks # fails due to FFI: rlocks
# works but shouldn't: cpuinfo, locks # fails due to cstring cast/copyMem: endians
# works but uses FFI: cpuinfo, locks
# Algorithms: # Algorithms:
algorithm, sequtils, algorithm, enumutils, sequtils, setutils,
# Collections: # Collections:
critbits, deques, heapqueue, intsets, lists, options, sets, critbits, deques, heapqueue, intsets, lists, options, sets,
sharedlist, tables, tables, packedsets,
# fails: sharedtables
# Strings: # Strings:
cstrutils, editdistance, wordwrap, parseutils, ropes, cstrutils, editdistance, wordwrap, parseutils, ropes,
pegs, punycode, strformat, strmisc, strscans, strtabs, pegs, punycode, strformat, strmisc, strscans, strtabs,
strutils, unicode, unidecode, strutils, unicode, unidecode,
# fails: encodings # fails due to FFI: encodings
# Time handling: # Time handling:
monotimes, times, monotimes, times,
# Generic operator system services: # Generic operator system services:
os, streams, os, streams,
# fails: distros, dynlib, marshal, memfiles, osproc, terminal # fails intentionally: dynlib, marshal, memfiles
# fails due to FFI: osproc, terminal
# fails due to osproc import: distros
# Math libraries: # Math libraries:
complex, math, mersenne, random, rationals, stats, sums, complex, math, random, rationals, stats, sums, sysrand,
# works but shouldn't: fenv # works but uses FFI: fenv
# Internet protocols: # Internet protocols:
cookies, httpcore, mimetypes, uri, cookies, httpcore, mimetypes, uri,
# fails: asyncdispatch, asyncfile, asyncftpclient, asynchttpserver, # fails due to FFI: asyncdispatch, asyncfile, asyncftpclient, asynchttpserver,
# asyncnet, cgi, httpclient, nativesockets, net, selectors, smtp # asyncnet, cgi, httpclient, nativesockets, net, selectors, smtp
# works but shouldn't test: asyncstreams, asyncfutures # works but no need to test: asyncstreams, asyncfutures
# Threading: # Threading:
# fails: threadpool # fails due to FFI: threadpool
# Parsers: # Parsers:
htmlparser, json, lexbase, parsecfg, parsecsv, parsesql, parsexml, htmlparser, json, lexbase, parsecfg, parsecsv, parsesql, parsexml,
parseopt, parseopt, jsonutils,
# XML processing: # XML processing:
xmltree, xmlparser, xmltree, xmlparser,
@ -56,16 +58,19 @@ import std/[
# Hashing: # Hashing:
base64, hashes, base64, hashes,
# fails: md5, oids, sha1 # fails due to cstring cast/zeroMem/copyMem/moveMem: md5
# fails due to cstring cast/endians import: oids
# fails due to copyMem/endians import: sha1
# Miscellaneous: # Miscellaneous:
colors, logging, sugar, unittest, varints, colors, logging, sugar, unittest, varints, enumerate, with,
# fails: browsers, coro # fails due to FFI: browsers, coro
# works but shouldn't: segfaults # works but uses FFI: segfaults
# Modules for JS backend: # Modules for JS backend:
asyncjs, dom, jsconsole, jscore, jsffi, asyncjs, dom, jsconsole, jscore, jsffi, jsbigints,
# Unlisted in lib.html: # Unlisted in lib.html:
decls, compilesettings, with, wrapnils decls, compilesettings, wrapnils, exitprocs, effecttraits,
genasts, importutils, isolation, jsfetch, jsformdata, jsheaders
] ]

View file

@ -8,47 +8,49 @@ from stdtest/specialpaths import buildDir
import std/[ import std/[
# Core: # Core:
bitops, typetraits, lenientops, macros, volatile, bitops, typetraits, lenientops, macros, volatile,
# fails: typeinfo, endians # fails due to FFI: typeinfo
# works but shouldn't: cpuinfo, rlocks, locks # fails due to cstring cast/copyMem: endians
# works but uses FFI: cpuinfo, rlocks, locks
# Algorithms: # Algorithms:
algorithm, sequtils, algorithm, enumutils, sequtils, setutils,
# Collections: # Collections:
critbits, deques, heapqueue, intsets, lists, options, sets, critbits, deques, heapqueue, intsets, lists, options, sets,
sharedlist, tables, tables, packedsets,
# fails: sharedtables
# Strings: # Strings:
editdistance, wordwrap, parseutils, ropes, editdistance, wordwrap, parseutils, ropes,
pegs, punycode, strformat, strmisc, strscans, strtabs, pegs, punycode, strformat, strmisc, strscans, strtabs,
strutils, unicode, unidecode, strutils, unicode, unidecode, cstrutils,
# works but shouldn't: cstrutils, encodings # works but uses FFI: encodings
# Time handling: # Time handling:
# fails: monotimes, times # fails due to FFI: monotimes, times
# but times.getTime() implemented for VM # but times.getTime() implemented for VM
# Generic operator system services: # Generic operator system services:
os, streams, os, streams, distros,
# fails: distros, dynlib, marshal, memfiles, osproc, terminal # fails due to FFI: memfiles, osproc, terminal
# works but uses FFI: dynlib
# intentionally fails: marshal
# Math libraries: # Math libraries:
complex, math, mersenne, random, rationals, stats, sums, complex, math, random, rationals, stats, sums,
# works but shouldn't: fenv # works but uses FFI: fenv, sysrand
# Internet protocols: # Internet protocols:
httpcore, mimetypes, uri, httpcore, mimetypes, uri,
# fails: asyncdispatch, asyncfile, asyncftpclient, asynchttpserver, # fails due to FFI: asyncdispatch, asyncfile, asyncftpclient, asynchttpserver,
# asyncnet, cgi, cookies, httpclient, nativesockets, net, selectors, smtp # asyncnet, cgi, cookies, httpclient, nativesockets, net, selectors, smtp
# works but shouldn't test: asyncstreams, asyncfutures # works but no need to test: asyncstreams, asyncfutures
# Threading: # Threading:
# fails: threadpool # fails due to FFI: threadpool
# Parsers: # Parsers:
htmlparser, json, lexbase, parsecfg, parsecsv, parsesql, parsexml, htmlparser, json, lexbase, parsecfg, parsecsv, parsesql, parsexml,
parseopt, parseopt, jsonutils,
# XML processing: # XML processing:
xmltree, xmlparser, xmltree, xmlparser,
@ -58,17 +60,23 @@ import std/[
# Hashing: # Hashing:
base64, hashes, base64, hashes,
# fails: md5, oids, sha1 # fails due to cstring cast/zeroMem/copyMem/moveMem: md5
# fails due to cstring cast/times import/endians import: oids
# fails due to copyMem/endians import: sha1
# Miscellaneous: # Miscellaneous:
colors, sugar, varints, colors, sugar, varints, enumerate, with,
# fails: browsers, coro, logging (times), segfaults, unittest (uses methods) # fails due to FFI: browsers, coro, segfaults
# fails due to times import/methods: logging
# fails due to methods: unittest
# Modules for JS backend: # Modules for JS backend:
# fails: asyncjs, dom, jsconsole, jscore, jsffi, # fails intentionally: asyncjs, dom, jsconsole, jscore, jsffi, jsbigints,
# jsfetch, jsformdata, jsheaders
# Unlisted in lib.html: # Unlisted in lib.html:
decls, compilesettings, with, wrapnils decls, compilesettings, wrapnils, effecttraits, genasts,
importutils, isolation
] ]
# non-std imports # non-std imports