aboutsummaryrefslogtreecommitdiff
path: root/test/tests.zig
AgeCommit message (Collapse)Author
2025-07-23test: enable arm-freebsd-eabihf std testsAlex Rønne Petersen
Closes #23949.
2025-07-22aarch64: add new from scratch self-hosted backendJacob Young
2025-07-19disable -fno-llvm -target wasm32-wasi testingAndrew Kelley
no active maintainer, and it's failing to lower some basic stuff
2025-07-16test: mark riscv soft float targets as extra targetsAlex Rønne Petersen
Soft float is a very rare use case for riscv*-linux. No point wasting CI resources on these targets, especially since our arm and mips soft float coverage is already likely to catch most soft float bugs.
2025-07-15better default min versions for freebsd and netbsdAndrew Kelley
Without this change, by default you get a failure when trying to cross compile for these targets. freebsd was error: undefined symbol: __libc_start1 netbsd was warning: invalid target NetBSD libc version: 9.4.0 error: unable to build NetBSD libc shared objects: InvalidTargetLibCVersion now they work by default
2025-07-11test: disable non-native loongarch64 behavior and std testsAlex Rønne Petersen
https://github.com/ziglang/zig/issues/24405
2025-07-08CI: disable self-hosted riscv64Andrew Kelley
it's missing some critical features like `@fieldParentPtr` and `@memmove`
2025-07-07std.fmt: breaking API changesAndrew Kelley
added adapter to AnyWriter and GenericWriter to help bridge the gap between old and new API make std.testing.expectFmt work at compile-time std.fmt no longer has a dependency on std.unicode. Formatted printing was never properly unicode-aware. Now it no longer pretends to be. Breakage/deprecations: * std.fs.File.reader -> std.fs.File.deprecatedReader * std.fs.File.writer -> std.fs.File.deprecatedWriter * std.io.GenericReader -> std.io.Reader * std.io.GenericWriter -> std.io.Writer * std.io.AnyReader -> std.io.Reader * std.io.AnyWriter -> std.io.Writer * std.fmt.format -> std.fmt.deprecatedFormat * std.fmt.fmtSliceEscapeLower -> std.ascii.hexEscape * std.fmt.fmtSliceEscapeUpper -> std.ascii.hexEscape * std.fmt.fmtSliceHexLower -> {x} * std.fmt.fmtSliceHexUpper -> {X} * std.fmt.fmtIntSizeDec -> {B} * std.fmt.fmtIntSizeBin -> {Bi} * std.fmt.fmtDuration -> {D} * std.fmt.fmtDurationSigned -> {D} * {} -> {f} when there is a format method * format method signature - anytype -> *std.io.Writer - inferred error set -> error{WriteFailed} - options -> (deleted) * std.fmt.Formatted - now takes context type explicitly - no fmt string
2025-07-06Sema: Stop adding Windows implib link inputs for `extern "..."` syntax.Alex Rønne Petersen
Closes #23971.
2025-07-05test: More cleanup of Windows targets in the module test matrixAlex Rønne Petersen
It's kind of unclear what `*-windows-none` actually means, but as far as LLVM is concerned, it's equivalent to `*-windows-msvc`. For clarity, only test `*-windows-msvc` and `*-windows-gnu`. #20690 will clean this situation up eventually. Also ensure coverage of `link_libc = true` and `link_libc = false` for both.
2025-07-03test: Respect various test skip options in test-casesAlex Rønne Petersen
2025-06-23remove `spirv` cpu archAli Cheraghi
2025-06-19x86_64: increase passing test coverage on windowsJacob Young
Now that codegen has no references to linker state this is much easier. Closes #24153
2025-06-19Target: pass and use locals by pointer instead of by valueJacob Young
This struct is larger than 256 bytes and code that copies it consistently shows up in profiles of the compiler.
2025-06-19Build: change how the target is printed in step namesJacob Young
e.g. `x86_64-windows.win10...win11_dt-gnu` -> `x86_64-windows-gnu` When the OS version is the default this is redundant with checking the default in the standard library.
2025-06-06CI: skip llvm backend tests in the script for testing x86 backendAndrew Kelley
2025-06-06restore debug llvm CI coverageAndrew Kelley
and reduce redundant coverage in slow runs to save time
2025-06-06x86_64: add support for pie executablesJacob Young
2025-06-06Compilation: enable the x86_64 backend by default for debug buildsJacob Young
Closes #22257
2025-06-05test: Expand target coverage for C ABI tests.Alex Rønne Petersen
2025-05-29test: Add NetBSD targets to module test matrix.Alex Rønne Petersen
2025-05-29test: Add FreeBSD targets to module test matrix.Alex Rønne Petersen
std tests are temporarily disabled for arm-freebsd-eabihf due to #23949. I omitted x86-freebsd-none and powerpc-freebsd-none because these will be dropped in FreeBSD 15.0 anyway, so there's no point in us spending resources on those now.
2025-05-29test: Improve Windows module test coverage.Alex Rønne Petersen
There's not really any point in targeting *-windows-(gnu,msvc) when not linking libc, so add entries for *-windows-(gnu,msvc) that actually link libc, and change the old non-libc entries to *-windows-none. Also add missing aarch64-windows-(none,msvc) and thumb-windows-(none,msvc) entries. thumb-windows-gnu is disabled for now due to #24016.
2025-05-29test: Skip *-windows-msvc + libc module tests on non-Windows.Alex Rønne Petersen
We can't provide MSVC libc when cross-compiling (yet?).
2025-05-29test: Sort module test and C ABI test target tables.Alex Rønne Petersen
I removed the commented-out entries for backends that are bitrotted. Can add these back later when we reboot those backends.
2025-05-25Merge pull request #23815 from alichraghi/masterRobin Voetter
spirv: unroll all vector operations
2025-05-21spirv: super basic composite int supportAli Cheraghi
2025-05-20test-cli: port build options test to new build system APIJacob Young
Since we need testing for passing `--build-file` and `--cache-dir` together anyway, use it to test the disabled build options test.
2025-05-19test: Enable x86-linux-musl with dynamic linkage in the module test matrix.Alex Rønne Petersen
Building upstream musl for this target works now that we use hidden visibility for compiler-rt symbols.
2025-05-12std.Build: Make no_builtin a property of Module instead of Step.Compile.Alex Rønne Petersen
This reflects how the compiler actually treats it. Closes #23424.
2025-05-12test: Add test-llvm-ir step and harness for testing generated LLVM IR.Alex Rønne Petersen
2025-05-08test: Add MIPS N32 targets to the module test matrix.Alex Rønne Petersen
2025-05-08test: Add dynamic musl targets to the module test matrix.Alex Rønne Petersen
Most of these are gated by -Dtest-extra-targets because: * We don't really have CI resources to spare at the moment. * They're relatively niche if you're not on a musl distro. * And the few musl distros that exist don't support all these targets. * Quite a few of them are broken and need investigating. x86_64-linux-musl and aarch64-linux-musl are not gated as they're the most common targets that people will be running dynamic musl on, so we'll want to have some bare minimum coverage of those.
2025-04-17test: Add powerpc-linux-gnueabi(hf) to the module test matrix.Alex Rønne Petersen
Skips std tests for now: https://github.com/ziglang/zig/issues/2256
2025-04-12Merge pull request #23529 from alexrp/2879-groundworkAlex Rønne Petersen
Introduce libzigc for libc function implementations in Zig
2025-04-11Introduce libzigc for libc function implementations in Zig.Alex Rønne Petersen
This lays the groundwork for #2879. This library will be built and linked when a static libc is going to be linked into the compilation. Currently, that means musl, wasi-libc, and MinGW-w64. As a demonstration, this commit removes the musl C code for a few string functions and implements them in libzigc. This means that those libzigc functions are now load-bearing for musl and wasi-libc. Note that if a function has an implementation in compiler-rt already, libzigc should not implement it. Instead, as we recently did for memcpy/memmove, we should delete the libc copy and rely on the compiler-rt implementation. I repurposed the existing "universal libc" code to do this. That code hadn't seen development beyond basic string functions in years, and was only usable-ish on freestanding. I think that if we want to seriously pursue the idea of Zig providing a freestanding libc, we should do so only after defining clear goals (and non-goals) for it. See also #22240 for a similar case.
2025-04-11test: Add hexagon-linux-(none,musl) to the test matrix.Alex Rønne Petersen
This skips std tests for now: https://github.com/llvm/llvm-project/pull/111217
2025-04-09Merge pull request #23501 from imreallybadatnames/masterimreallybadatnames™️
Step.Compile: use LtoMode enum for lto option
2025-04-07test: Add loongarch64-linux-(none,musl,gnu) to the test matrix.Alex Rønne Petersen
Currently skips std tests which have many issues.
2025-04-04build: Rename -Dtest-slow-targets to -Dtest-extra-targets.Alex Rønne Petersen
This can be used more broadly for targets that aren't quite ready to be tested by default yet.
2025-04-04test: mips32 is no longer a slow target with LLVM 20.Alex Rønne Petersen
We can now run these tests as part of test-modules w/o -Dtest-slow-targets. Closes #21096.
2025-03-18spirv: require int8/int16 capabilitiesAli Cheraghi
2025-03-10Enable compiler-rt tests for wasm32-wasiPat Tullmann
I think the underlying issue was the same as https://github.com/ziglang/zig/issues/13258 and that has a work-around in LLVM 19 (see https://github.com/llvm/llvm-project/issues/58557). Fixes #15325
2025-02-28Revert "Merge pull request #22898 from kristoff-it/deprecated-proposal"Andrew Kelley
This reverts commit dea72d15da4fba909dc3ccb2e9dc5286372ac023, reversing changes made to ab381933c87bcc744058d25a876cfdc0d23fc674. The changeset does not work as advertised and does not have sufficient test coverage. Reopens #22822
2025-02-26reword deprecated error slightlyAndrew Kelley
"found" -> "reached" to match "reached unreachable code"
2025-02-26langref: fix whitespaceAndrew Kelley
2025-02-26`@deprecated`: remove per-module flag in BuildLoris Cro
This implementation looks at the builder of each module in the build graph instead of storing a boolean for each module.
2025-02-26`@deprecated`: add testsLoris Cro
2025-02-24build: add spirv to test matrixAli Cheraghi
Signed-off-by: Ali Cheraghi <alichraghi@proton.me>
2025-01-15build: respect -Duse-llvm option when doing behavior testsAndrew Kelley