diff options
author | ee7 <45465154+ee7@users.noreply.github.com> | 2021-02-03 16:00:29 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-02-03 16:00:29 +0100 |
commit | 14c61ecf24110f3f6a1a4a9c88439e568065ddd9 (patch) | |
tree | 186f2905b029c69632f7f8043384befb29d42528 /tests/effects/tstrict_funcs_imports.nim | |
parent | 6f1289b80ccf599008368b121d874b4ce4717fc6 (diff) | |
download | Nim-14c61ecf24110f3f6a1a4a9c88439e568065ddd9.tar.gz |
strictFuncs+views: add test that imports stdlib modules (#16878)
This commit attempts to improve testing of strictFuncs and views, and prevent regressions like #16873 (resolved by 0b01eddace6a). We previously only explicitly tested strictFuncs and views with a smaller number of stdlib modules, mostly in: - tests/effects/tstrict_funcs.nim - tests/views/tcan_compile_nim.nim Note that this commit leaves the `pegs` module commented out; it cannot currently be compiled with `--experimental:views` (see #16892). Note also that this commit is not sufficient to test strictFuncs and views, but it does detect a subset of problems.
Diffstat (limited to 'tests/effects/tstrict_funcs_imports.nim')
-rw-r--r-- | tests/effects/tstrict_funcs_imports.nim | 177 |
1 files changed, 177 insertions, 0 deletions
diff --git a/tests/effects/tstrict_funcs_imports.nim b/tests/effects/tstrict_funcs_imports.nim new file mode 100644 index 000000000..4e9b9fe66 --- /dev/null +++ b/tests/effects/tstrict_funcs_imports.nim @@ -0,0 +1,177 @@ +discard """ + cmd: "nim $target $options --hints:on --experimental:strictFuncs --experimental:views --threads:on -d:ssl -d:nimCoroutines $file" + targets: "c" +""" +{.warning[UnusedImport]: off.} + +when defined(linux): + import linenoise + +import + algorithm, + asyncdispatch, + asyncfile, + asyncftpclient, + asyncfutures, + asynchttpserver, + asyncmacro, + asyncnet, + asyncstreams, + atomics, + base64, + bitops, + browsers, + cgi, + chains, + colors, + complex, + cookies, + coro, + cpuinfo, + cpuload, + critbits, + cstrutils, + db_common, + db_mysql, + db_odbc, + db_postgres, + db_sqlite, + deques, + distros, + dynlib, + encodings, + endians, + epoll, + fenv, + hashes, + heapqueue, + hotcodereloading, + htmlgen, + htmlparser, + httpclient, + httpcore, + inotify, + intsets, + json, + kqueue, + lenientops, + lexbase, + lists, + locks, + logging, + macrocache, + macros, + marshal, + math, + md5, + memfiles, + mersenne, + mimetypes, + nativesockets, + net, + nimhcr, + # nimprof, + nre, + oids, + options, + os, + osproc, + parsecfg, + parsecsv, + parsejson, + parseopt, + parsesql, + parseutils, + parsexml, + pathnorm, + # pegs, + posix_utils, + prelude, + punycode, + random, + rationals, + rdstdin, + re, + registry, + reservedmem, + rlocks, + ropes, + rtarrays, + selectors, + sequtils, + sets, + sharedlist, + sharedtables, + smtp, + ssl_certs, + ssl_config, + stats, + streams, + streamwrapper, + strformat, + strmisc, + strscans, + strtabs, + strutils, + sugar, + tables, + terminal, + threadpool, + times, + typeinfo, + typetraits, + unicode, + unidecode, + unittest, + uri, + volatile, + winlean, + xmlparser, + xmltree + +import experimental/[ + diff, +] + +import packages/docutils/[ + highlite, + rst, + rstast, + rstgen, +] + +import std/[ + compilesettings, + decls, + editdistance, + effecttraits, + enumerate, + enumutils, + exitprocs, + isolation, + jsonutils, + logic, + monotimes, + packedsets, + setutils, + sha1, + socketstreams, + stackframes, + sums, + time_t, + varints, + with, + wordwrap, + wrapnils, +] + +import std/private/[ + asciitables, + decode_helpers, + gitutils, + globs, + miscdollars, + since, + strimpl, + underscored_calls, +] |