Commit graph

40 commits

Author SHA1 Message Date
Philipp Schuster
099ebe9b86
cargo: update deps 2026-08-24 08:34:04 +02:00
Philipp Schuster
a7542a6416
chore(deps): cargo bump deps 2026-05-31 21:17:30 +02:00
Philipp Schuster
0d5af99a03 uefi-test-runner: SNP: use smoltcp to UDP packet
Properly deconstruct the response. This improves the maintainability of
this test and to better understand what is going on.
2025-05-31 19:59:10 +02:00
Philipp Schuster
da78ac4f98 doc: help with feature selection 2025-05-20 08:50:58 +02:00
Philipp Schuster
bfe3c6d420 rust: update to edition 2024 2025-05-17 12:21:52 +02:00
Philipp Schuster
c612ea91e1 test-runner: add test for LoadFile and LoadFile2 protocols
This actually tests multiple things:
- LoadFile and LoadFile2 wrappers work
- (un)install_protocol_interface works
- how our API is suited to create a custom implementation of an existing
  protocol definition
- The workflow used in Linux loaders to enable the Linux EFI stub to load
  the initrd via the LOAD_FILE2 protocol.

Further what I'm doing in this test, is already deployed in the
wild: b7f68a50e6/rust/uefi/linux-bootloader/src/linux_loader.rs (L142)
2024-08-15 11:44:53 +02:00
Philipp Schuster
ed7fd4b205 uefi-test-runner: use new uefi::helpers module
Note that even without these changes, everything works. This proves
that we stay API compatible for the next uefi-services release.
2024-04-14 11:10:27 +02:00
Nicholas Bishop
a8876ed777 Use workspace.dependencies to declare shared dependencies 2023-08-09 17:25:13 +00:00
Nicholas Bishop
182bda4560 Disable DebugSupport protocol test on aarch64
When we run this test, only the EBC arch provides debug support. The EBC
intepreter was removed from the edk2 ARM virtualization package, so the test
won't work on aarch64 now: f4213fed34
2023-05-14 09:23:35 +02:00
Nicholas Bishop
c854578e9c test-runner: Make unstable an optional feature
Add an `unstable` option to `uefi-test-runner` that controls whether the
`unstable` feature of the `uefi` crate is enabled. Also add a separate CI job so
that we test both with and without the unstable feature.

This change is a necessary prereq for testing on stable, since we can't
unconditionally enable unstable features there.
2023-02-27 17:15:16 -05:00
Nicholas Bishop
3fd5f734a4 test-runner: Make PXE test fail if protocol is not available
Add a feature flag to control whether the test is enabled. Enable it unless the
`--disable-network` arg is present. Making the test fail instead of warn makes
it easier to catch accidental breakage.
2023-02-20 08:52:47 -05:00
Nicholas Bishop
263a60e415 test-runner: Replace ci feature with fine grained features
Rather than a CI flag that did several things, add flags that enable
specific tests. Specifically, `multi_processor`, `tpm_v1`, and
`tpm_v2`. These three features control whether the corresponding test is
enabled, and nothing else.

This fixes an issue on Windows where the TPM tests were failing. We had
those tests expect to always find a TPM if the CI feature was enabled,
but we were also always enabling the CI feature on Windows in order to
disable the multi-processing tests, due to KVM not being available.

This all becomes a lot simpler by just having explicit flags for each
test.
2023-02-06 11:22:52 -05:00
Philipp Schuster
da5519bd29 Add read_entry_boxed_in and get_boxed_info_in that use the allocator_api.
This commit adds new functionality behind the `unsafe` feature that enhances some
existing functions with `allocator_api`-flavored allocators. Existing code will work
with and without the unstable feature.
2022-11-29 16:10:02 -05:00
Nicholas Bishop
8e673f92e5 test-runner: Drop qemu feature
We now assume that the app is always running in QEMU, so this doesn't
need to be conditional.
2022-11-20 15:56:31 -05:00
Philipp Schuster
f6cfd484dc several unrelated cleanups 2022-11-20 12:49:37 -05:00
Philipp Schuster
76b5a22981 rename crate features
To prevent confusion, this renames the `alloc` crate feature to
`global_allocator` and the `exts` feature to `alloc` to match the
conventions of the ecosystem.
2022-11-19 11:54:29 -05:00
Philipp Schuster
c901eda785 workspace: adapted files 2022-11-17 13:14:19 -05:00
Nicholas Bishop
b92545f650 Switch all packages to the 2021 edition 2022-02-28 12:41:10 +02:00
Hiroki Tokunaga
97ad84a12c chore(deps): update the version of qemu-exit 2021-12-17 09:39:14 -05:00
Niklas Sombert
7c37171251 Use build-std-features instead of rlibc 2021-10-18 12:33:36 -04:00
Hiroki Tokunaga
229da01804
Fix the build error on the latest nightly (#214) 2021-05-12 17:31:44 +03:00
Gabriel Majeri
505a019d5b
Fix running tests in CI (#203) 2021-03-27 11:49:27 +02:00
Gabriel Majeri
726a4a182e Publish new versions of the crates 2020-08-07 15:10:52 +03:00
Gabriel Majeri
e2748687bd
Replace cargo-xbuild with build-std feature (#148) 2020-07-31 21:44:26 +03:00
Gabriel Majeri
2761c8026c
Update Rust CI workflow (#141)
Should give us green CI again.
2020-07-14 19:43:16 +03:00
Gabriel Majeri
710fd1f6cb Remove compiler-builtins dependency
Seems to no longer be necessary.
2020-06-24 12:00:28 +03:00
Gabriel Majeri
486e65b17f Update crate to work with latest nightlies 2020-05-13 21:24:48 +03:00
Gabriel Majeri
ec44765fff Publish new versions of the crates 2020-03-28 08:25:20 +02:00
Gabriel Majeri
2586077d96 Update all dependencies 2020-01-19 09:49:19 +02:00
Gabriel Majeri
0942c35c2a Update all crates and publish new version 2019-11-05 08:49:31 +02:00
Gabriel Majeri
84915a9222 Update test runner dependencies 2019-09-26 13:25:28 +03:00
Gabriel Majeri
502aecdc3b Move uefi-exts into core as an optional feature 2019-09-26 13:21:41 +03:00
Gabriel Majeri
745fd41719 Update test runner deps 2019-09-22 08:12:47 +03:00
Gabriel Majeri
3cff9ef7cd Update all crates' versions to 0.2 2019-09-22 07:54:22 +03:00
Hadrien G
54317612df
Validate GOP test output with screenshots (#37)
- Can now validate screenshots of QEMU against a reference file during tests
- This allows unattended testing of the GOP
- Moved "qemu-f4-exit" into a more general "qemu" feature
- Enabled communication with QEMU's monitor in the test runner
- Removed stalls from unattended tests
2018-09-23 19:17:13 +02:00
Hadrien G
d89e95e604 Make QEMU exit when a test panics (#19)
This PR submitted by @HadrienG2 makes QEMU exit with an error code when a panic happens. This is done by using the ISA debug port.

Should help with running tests automatically.
2018-09-20 10:30:52 +03:00
Gabriel Majeri
1d1ca16167 Remove unnecessary cargo-features
The `edition` setting has been stabilized
in the latest nightlies.
2018-09-16 15:10:15 +03:00
Gabriel Majeri
cc8ff8598b Refactor uefi-utils crate, rename to uefi-exts
Instead of relying on global state, I plan to move all
the utility crates to a extension-trait based system.
2018-08-03 11:28:10 +03:00
Gabriel Majeri
efed32275f Update all crates to Rust Edition 2018
Should still be backwards compatible with Rust 2015 crates.
2018-08-02 09:12:29 +03:00
Gabriel Majeri
fd1d39f5c5 Move tests runner to uefi-test-runner
This is in anticipation for support for running
tests from the `tests` directory.
2018-06-03 11:04:29 +03:00
Renamed from tests/Cargo.toml (Browse further)