aboutsummaryrefslogtreecommitdiff
path: root/test/standalone
AgeCommit message (Collapse)Author
2025-10-29update standalone tests for ws2_32 dependencyAndrew Kelley
2025-10-29std: make signal numbers into an enumAndrew Kelley
fixes start logic for checking whether IO/POLL exist
2025-10-29std.Io.Threaded: add ioBasic which disables networkingAndrew Kelley
2025-10-29fix some std.Io compilation failuresAndrew Kelley
2025-10-29update some tests and tools for new Io APIsAndrew Kelley
2025-10-27remove all Oracle Solaris supportAlex Rønne Petersen
There is no straightforward way for the Zig team to access the Solaris system headers; to do this, one has to create an Oracle account, accept their EULA to download the installer ISO, and finally install it on a machine or VM. We do not have to jump through hoops like this for any other OS that we support, and no one on the team has expressed willingness to do it. As a result, we cannot audit any Solaris contributions to std.c or other similarly sensitive parts of the standard library. The best we would be able to do is assume that Solaris and illumos are 100% compatible with no way to verify that assumption. But at that point, the solaris and illumos OS tags would be functionally identical anyway. For Solaris especially, any contributions that involve APIs introduced after the OS was made closed-source would also be inherently more risky than equivalent contributions for other proprietary OSs due to the case of Google LLC v. Oracle America, Inc., wherein Oracle clearly demonstrated its willingness to pursue legal action against entities that merely copy API declarations. Finally, Oracle laid off most of the Solaris team in 2017; the OS has been in maintenance mode since, presumably to be retired completely sometime in the 2030s. For these reasons, this commit removes all Oracle Solaris support. Anyone who still wishes to use Zig on Solaris can try their luck by simply using illumos instead of solaris in target triples - chances are it'll work. But there will be no effort from the Zig team to support this use case; we recommend that people move to illumos instead.
2025-10-26test: enable tsan standalone test for x86_64-freebsd and aarch64-freebsdAlex Rønne Petersen
2025-10-14windows: workaround kernel race condition in more placesJacob Young
2025-10-12windows: workaround kernel race condition the mostJacob Young
2025-10-11windows: workaround kernel race condition even moreJacob Young
2025-10-11windows: workaround kernel race condition betterJacob Young
Until I can do more testing, we bump the numbers until morale improves.
2025-10-10windows: workaround kernel race conditionJacob Young
This was causing flaky CI failures.
2025-10-05test: disable standalone tsan testAlex Rønne Petersen
https://github.com/ziglang/zig/issues/25471
2025-10-04test: move standalone/options/ to cli/options/Alex Rønne Petersen
It's now used only by test-cli, so make that clear.
2025-10-04Revert "test: remove standalone options test"Alex Rønne Petersen
This reverts commit d9cd4d087648c6d83e22dda6a4b82929a72fc771. Turns out Jacob restored this test as part of test-cli in cdba1d5.
2025-10-04test: remove standalone sigpipe testAlex Rønne Petersen
This should be restored, but there's no point keeping disabled code that's just going to bitrot. https://github.com/ziglang/zig/issues/25466
2025-10-04test: remove standalone options testAlex Rønne Petersen
This functionality is already load-bearing for the compiler's own build script so this (disabled, possibly bitrotted?) doesn't really add value.
2025-10-04test: remove standalone issue_13970 testAlex Rønne Petersen
It's been disabled for ages and has bitrotted. Someone can readd it later if they feel like it actually adds value.
2025-10-04test: remove some tests that are now covered well enough by test-stack-tracesAlex Rønne Petersen
The amount of cross compilation required for these tests was too time-consuming for how much value they added. test-stack-traces now cover these well enough, especially as we add more exotic machines to the CI fleet to run native tests.
2025-10-01test: remove stack_iterator standalone testAlex Rønne Petersen
Our new stack trace tests cover all the important parts of this.
2025-09-30std.debug.SelfInfo: remove shared logicmlugg
There were only a few dozen lines of common logic, and they frankly introduced more complexity than they eliminated. Instead, let's accept that the implementations of `SelfInfo` are all pretty different and want to track different state. This probably fixes some synchronization and memory bugs by simplifying a bunch of stuff. It also improves the DWARF unwind cache, making it around twice as fast in a debug build with the self-hosted x86_64 backend, because we no longer have to redundantly go through the hashmap lookup logic to find the module. Unwinding on Windows will also see a slight performance boost from this change, because `RtlVirtualUnwind` does not need to know the module whatsoever, so the old `SelfInfo` implementation was doing redundant work. Lastly, this makes it even easier to implement `SelfInfo` on freestanding targets; there is no longer a need to emulate a real module system, since the user controls the whole implementation! There are various other small refactors here in the `SelfInfo` implementations as well as in the DWARF unwinding logic. This change turned out to make a lot of stuff simpler!
2025-09-30std.debug: go back to storing return addresses instead of call addressesmlugg
...and just deal with signal handlers by adding 1 to create a fake "return address". The system I tried out where the addresses returned by `StackIterator` were pre-subtracted didn't play nicely with error traces, which in hindsight, makes perfect sense. This definition also removes some ugly off-by-one issues in matching `first_address`, so I do think this is a better approach.
2025-09-30update to new std.debug changesmlugg
2025-09-30windows_bat_args: fix path handlingmlugg
The input path could be cwd-relative, in which case it must be modified before it is written into the batch script. Also, remove usage of deprecated `GeneralPurposeAllocator` alias, rename `allocator` to `gpa`, use unmanaged `ArrayList`.
2025-09-30test-standalone: update for std.debug changesmlugg
2025-09-26Merge pull request #25342 from ziglang/fuzz-limitAndrew Kelley
fuzzing: implement limited fuzzing
2025-09-26test: remove `pie` test case from test-standaloneAlex Rønne Petersen
We already have test/cases/pie_linux.zig covering this.
2025-09-26test: remove -Dskip-translate-c from test-standaloneAlex Rønne Petersen
No longer necessary since we've stopped using Clang for this.
2025-09-25implement review suggestionsLoris Cro
2025-09-22test: disable some stack trace tests on FreeBSDalexrp
2025-09-20standalone: fix misaligned stack crashJacob Young
2025-09-19Merge pull request #23416 from gooncreeper/improved-fuzzerAndrew Kelley
greatly improve capabilities of the fuzzer
2025-09-18greatly improve capabilities of the fuzzerKendall Condon
This PR significantly improves the capabilities of the fuzzer. The changes made to the fuzzer to accomplish this feat mostly include tracking memory reads from .rodata to determine fresh inputs, new mutations (especially the ones that insert const values from .rodata reads and __sanitizer_conv_const_cmp), and minimizing found inputs. Additionally, the runs per second has greatly been increased due to generating smaller inputs and avoiding clearing the 8-bit pc counters. An additional feature added is that the length of the input file is now stored and the old input file is rerun upon start. Other changes made to the fuzzer include more logical initialization, using one shared file `in` for inputs, creating corpus files with proper sizes, and using hexadecimal-numbered corpus files for simplicity. Furthermore, I added several new fuzz tests to gauge the fuzzer's efficiency. I also tried to add a test for zstandard decompression, which it crashed within 60,000 runs (less than a second.) Bug fixes include: * Fixed a race conditions when multiple fuzzer processes needed to use the same coverage file. * Web interface stats now update even when unique runs is not changing. * Fixed tokenizer.testPropertiesUpheld to allow stray carriage returns since they are valid whitespace.
2025-09-18test: respect -Dskip-translate-c in test-standaloneAlex Rønne Petersen
2025-09-18test: remove unnecessary @cImport usage in some standalone testsAlex Rønne Petersen
2025-09-17Merge pull request #25197 from rootbeer/24380-flaky-sigset-testAndrew Kelley
Re-enable std.posix "sigset_t bits" test
2025-09-16test: move glibc_compat from link to standalone testsAlex Rønne Petersen
This is not really testing the linker.
2025-09-16test: rename issue_8550 standalone test to compile_asmAlex Rønne Petersen
2025-09-11Fix standalone test simple/cat/main.zig after Writergate update (#25188)Sardorbek Imomaliev
* Make cat in test/standalone/simple working again - Fixes: zig/0.15.1/lib/zig/std/Io/Writer.zig:939:11: 0x1049aef63 in sendFileAll (nclip) assert(w.buffer.len > 0); - because we are no using non zero buffers for stdout - "do not forget to flush" * replace std.fs with fs because we are already importing it
2025-09-09standalone posix tests for sigactionPat Tullmann
Fixes #24380
2025-09-09standalone posix tests for relative path linkingPat Tullmann
2025-09-09standalone posix test for env varsPat Tullmann
2025-09-09standalone posix test for current working directoryPat Tullmann
2025-09-09standalone posix tests: add skeletonPat Tullmann
Add build.zig, README and empty test files.
2025-08-30child process test: preemptively use streaming modeAndrew Kelley
works around #24984
2025-08-30update tools and other miscellaneous things to new APIsAndrew Kelley
2025-08-29std.Io: delete GenericReaderAndrew Kelley
and delete deprecated alias std.io
2025-08-28update more to avoid GenericWriterAndrew Kelley
2025-08-28std.debug: remove `@frameAddress()` "UAF"mlugg
We can't call `@frameAddress()` and then immediately `return`! That invalidates the frame. This *usually* isn't a problem, because the stack walk `next` call will *probably* have a stack frame and it will *probably* be at the exact same address, but neither of those is a guarantee. On powerpc, presumably some unfortunate inlining was going on, so this frame was indeed invalidated when we started walking frames. We need to explicitly pass `@frameAddress` into any function which will return before we actually walk the stack. Pretty simple patch. Resolves: #24970
2025-08-16Compilation: remove last instance of deprecatedReaderAndrew Kelley
This also makes initStreaming preemptively disable file size checking.