Commit Graph

9419 Commits (6dce317fe39443278ee744e66118c6e9b6023615)

Author SHA1 Message Date
Jakub Konka 34f84c3608 Narrow down behaviour test cases; this removes wasmtime-enabled check in tests 2020-05-18 17:56:17 +02:00
Jakub Konka 2a59ecd7ec Integrate getTestDir with tmpDir logic 2020-05-18 17:10:49 +02:00
Jakub Konka f26ab568aa Remove obsolete runtime panics from sleep impl 2020-05-18 17:10:17 +02:00
Jakub Konka 5186711a96 Change to Self from *const Self/*Self where possible 2020-05-18 17:10:06 +02:00
Jakub Konka fae4af9e1c Make mode_t a 0-byte type in WASI 2020-05-18 17:09:52 +02:00
Jakub Konka 40812063cc Disable tests requiring Wasmtime be default; require -Denable-wasmtime flag otherwise 2020-05-18 16:12:03 +02:00
Jakub Konka bd9a616586 Skip WASI tests in drone and on FreeBSD 2020-05-18 16:10:54 +02:00
Jakub Konka 14510f412d Download and unpack wasmtime on Linux 2020-05-18 16:10:32 +02:00
Jakub Konka be796e40a3 Run WASI tests on Linux only 2020-05-18 16:10:14 +02:00
Jakub Konka d43c08a3e5 Add/fix missing WASI functionality to pass libstd tests
This rather large commit adds/fixes missing WASI functionality
in `libstd` needed to pass the `libstd` tests. As such, now by
default tests targeting `wasm32-wasi` target are enabled in
`test/tests.zig` module. However, they can be disabled by passing
the `-Dskip-wasi=true` flag when invoking the `zig build test`
command. When the flag is set to `false`, i.e., when WASI tests are
included, `wasmtime` with `--dir=.` is used as the default testing
command.

Since the majority of `libstd` tests were relying on `fs.cwd()`
call to get current working directory handle wrapped in `Dir`
struct, in order to make the tests WASI-friendly, `fs.cwd()`
call was replaced with `testing.getTestDir()` function which
resolved to either `fs.cwd()` for non-WASI targets, or tries to
fetch the preopen list from the WASI runtime and extract a
preopen for '.' path.

The summary of changes introduced by this commit:
* implement `Dir.makeDir` and `Dir.openDir` targeting WASI
* implement `Dir.deleteFile` and `Dir.deleteDir` targeting WASI
* fix `os.close` and map errors in `unlinkat`
* move WASI-specific `mkdirat` and `unlinkat` from `std.fs.wasi`
  to `std.os` module
* implement `lseek_{SET, CUR, END}` targeting WASI
* implement `futimens` targeting WASI
* implement `ftruncate` targeting WASI
* implement `readv`, `writev`, `pread{v}`, `pwrite{v}` targeting WASI
* make sure ANSI escape codes are _not_ used in stderr or stdout
  in WASI, as WASI always sanitizes stderr, and sanitizes stdout if
  fd is a TTY
* fix specifying WASI rights when opening/creating files/dirs
* tweak `AtomicFile` to be WASI-compatible
* implement `os.renameatWasi` for WASI-compliant `os.renameat` function
* implement sleep() targeting WASI
* fix `process.getEnvMap` targeting WASI
2020-05-18 16:09:49 +02:00
Andrew Kelley feade9ef00 std.json: support stringify for anyerror 2020-05-17 17:07:27 -04:00
Veikka Tuominen 2a5c0ef7f0
Merge pull request #5164 from daurnimator/in_stream-helpers
A couple of helpers for streams that I've found helpful
2020-05-17 22:02:10 +03:00
Andrew Kelley 16f100b82e
Merge pull request #5307 from ziglang/self-hosted-incremental-compilation
rework self-hosted compiler for incremental builds
2020-05-17 13:53:27 -04:00
Andrew Kelley b0968abccb update ZIR compare output test to test incremental updates 2020-05-17 13:49:22 -04:00
Andrew Kelley 9a22c8b6ca
Merge pull request #5057 from xackus/opaque-param
stage1: fix assert fail on opaque fn ptr param
2020-05-17 12:48:56 -04:00
Noam Preil 03ed9e4173 Fix compilation with GCC 5 2020-05-17 12:18:53 -04:00
Andrew Kelley 88c8ff6e37 move some files around 2020-05-17 12:08:47 -04:00
Noam Preil e198eec76a Document register functions 2020-05-17 12:03:01 -04:00
Noam Preil 773281c1f4 Remove trailing whitespace 2020-05-17 12:03:01 -04:00
Noam Preil e2196a458f Minor cleanup 2020-05-17 12:03:01 -04:00
Noam Preil 497eb31820 Fix the dumb in x86 too 2020-05-17 12:03:01 -04:00
Noam Preil 638554544a Fix a dumb (thanks daurminator!) 2020-05-17 12:03:01 -04:00
Noam Preil 13ea698a40 rework x64 genSetReg 2020-05-17 12:03:01 -04:00
Veikka Tuominen 241984987b
Merge pull request #5367 from Vexu/fix
Fix zig fmt regression
2020-05-17 17:43:25 +03:00
Vexu 28d449b38d
fix zig fmt regression 2020-05-17 15:13:19 +03:00
Vincent Rischmann e5ffb94911 linux: remove duplicated fields 2020-05-17 02:42:59 -04:00
Andrew Kelley 54820a3005 fix source not being loaded when printing errors 2020-05-16 20:23:15 -04:00
Andrew Kelley 017ecc5148 self hosted repl: close executables between updates
This allows the executable to be executed
2020-05-16 15:44:20 -04:00
Andrew Kelley f2ceb023f4
Merge pull request #5217 from wozeparrot/master
build.zig recursive dep support
2020-05-16 14:24:51 -04:00
Vexu eda03354dc
Merge pull request #5358 from Vexu/parser
Fix infinite loop with invalid comptime
2020-05-16 20:49:37 +03:00
Andrew Kelley b0375978ba self-hosted: remove `zig libc` command for now
Since it depends on the C++ Windows SDK code. For now, self-hosted is
staying pure self hosted, no C/C++ components.
2020-05-16 13:25:39 -04:00
Andrew Kelley cf34480f2a
Merge pull request #5231 from kubkon/wasi-preopens
Add mechanism for extracting preopens from the runtime
2020-05-16 12:49:08 -04:00
Felix (xq) Queißner 7dc29fdee1 Creates `std.ascii.control_code` that contains the C0 control codes as named constants. 2020-05-16 12:46:44 -04:00
data-man 6647c3f054 Fixes fmt padding for some types 2020-05-16 12:45:43 -04:00
Michael Dusan e05923f34b macos: use realpath$DARWIN_EXTSN
macOS 10.15 Catalina causes an ancient variant of `realpath` to fail,
likely due to 10.15's evolving security model.

closes #5325
2020-05-16 12:41:53 -04:00
Andrew Kelley 79462bb591
Merge pull request #5354 from DrDeano/master
Add enum to addBuildOption
2020-05-16 12:40:06 -04:00
Vexu 081ffe24cf
fix infinite loop with invalid comptime 2020-05-16 19:23:59 +03:00
Andrew Kelley cd5f69794d cross compile the stage2 tests for the target that they work for 2020-05-16 12:19:31 -04:00
Vexu 74f7d710bb
Merge pull request #5032 from LakeByTheWoods/redo_translate_c
Translate C: Redo Add comment containing c source location for failed decls.
2020-05-16 17:37:19 +03:00
DrDeano 72b72faa0b
Add Enum Option 2020-05-16 15:36:18 +01:00
DrDeano b2cb8beed9
Add enum to addBuildOptions 2020-05-16 15:35:42 +01:00
Vexu d061e5854a
Merge pull request #5020 from jinroh/docs/search-perf
docs: search perf
2020-05-16 16:43:41 +03:00
Vexu 758de71d97
Merge pull request #5353 from Vexu/parser
Self-hosted parser fixes
2020-05-16 15:56:03 +03:00
Vexu 3e375ee2b9
translate-c use tagName for token id 2020-05-16 14:17:50 +03:00
Vexu 092f726eec
Merge pull request #5175 from daurnimator/multi-out-stream
std: add io.MultiOutStream
2020-05-16 13:43:50 +03:00
Vexu e2a0f5741d
Merge pull request #5189 from zigazeljko/patch-1
Split AES struct into AESEncrypt and AESDecrypt
2020-05-16 13:20:14 +03:00
Vexu 6c10075dd3
Merge pull request #5350 from yvt/test-global-linkage
Enable the test `standalone/global_linkage`
2020-05-16 13:10:01 +03:00
Vexu 5ac684ec50
fix building translate-c 2020-05-16 13:05:43 +03:00
Vexu a05011d403
move ParamType to Node.ParamDecl 2020-05-16 12:54:51 +03:00
Vexu ed62081d38
recover from missing semicolon after if stmt 2020-05-16 12:29:01 +03:00