Skip to content

Commit 2d843d6

Browse files
committed
Remove callbackguest
moves functionality of callbackguest into simpleguest. Will save some CI time building guests Signed-off-by: Ludvig Liljenberg <[email protected]>
1 parent 49e248a commit 2d843d6

File tree

22 files changed

+298
-746
lines changed

22 files changed

+298
-746
lines changed

.github/dependabot.yml

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -21,16 +21,6 @@ updates:
2121
- dependency-name: "mshv-bindings"
2222
versions: [ ">=0.2.1" ]
2323
open-pull-requests-limit: 20
24-
# Excluded workspace members - guests with custom linker flags
25-
- package-ecosystem: "cargo"
26-
directory: "/src/tests/rust_guests/callbackguest"
27-
schedule:
28-
interval: "daily"
29-
time: "03:00"
30-
labels:
31-
- "kind/dependencies"
32-
- "area/guest"
33-
open-pull-requests-limit: 5
3424
- package-ecosystem: "cargo"
3525
directory: "/src/tests/rust_guests/dummyguest"
3626
schedule:

.github/workflows/Benchmarks.yml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,10 +48,8 @@ jobs:
4848

4949
- name: Copy Guest Binaries
5050
run: |
51-
cp ./downloaded-rust-guest-binaries-release/callbackguest ./src/tests/rust_guests/bin/release/callbackguest
5251
cp ./downloaded-rust-guest-binaries-release/simpleguest ./src/tests/rust_guests/bin/release/simpleguest
5352
cp ./downloaded-rust-guest-binaries-release/dummyguest ./src/tests/rust_guests/bin/release/dummyguest
54-
cp ./downloaded-c-guest-binaries-release/callbackguest ./src/tests/c_guests/bin/release/callbackguest
5553
cp ./downloaded-c-guest-binaries-release/simpleguest ./src/tests/c_guests/bin/release/simpleguest
5654
5755
### Benchmarks ###

.github/workflows/dep_build_guest_binaries.yml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,6 @@ jobs:
4545
with:
4646
name: rust-guest-binaries-${{ matrix.config }}
4747
path: |
48-
src\tests\rust_guests\bin\${{ matrix.config }}\callbackguest
4948
src\tests\rust_guests\bin\${{ matrix.config }}\dummyguest
5049
src\tests\rust_guests\bin\${{ matrix.config }}\simpleguest
5150
if-no-files-found: error
@@ -55,6 +54,5 @@ jobs:
5554
with:
5655
name: c-guest-binaries-${{ matrix.config }}
5756
path: |
58-
src\tests\c_guests\bin\${{ matrix.config }}\callbackguest
5957
src\tests\c_guests\bin\${{ matrix.config }}\simpleguest
6058
if-no-files-found: error

.vscode/settings.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,5 @@
33
"Cargo.toml",
44
// guest crates for testing, not part of the workspace
55
"src/tests/rust_guests/simpleguest/Cargo.toml",
6-
"src/tests/rust_guests/callbackguest/Cargo.toml"
76
]
87
}

Cargo.toml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@ members = [
2121
]
2222
# Guests have custom linker flags, so we need to exclude them from the workspace
2323
exclude = [
24-
"src/tests/rust_guests/callbackguest",
2524
"src/tests/rust_guests/dummyguest",
2625
"src/tests/rust_guests/simpleguest",
2726
"src/tests/rust_guests/witguest",

Justfile

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@ root := justfile_directory()
1111
default-target := "debug"
1212
simpleguest_source := "src/tests/rust_guests/simpleguest/target/x86_64-unknown-none"
1313
dummyguest_source := "src/tests/rust_guests/dummyguest/target/x86_64-unknown-none"
14-
callbackguest_source := "src/tests/rust_guests/callbackguest/target/x86_64-unknown-none"
1514
witguest_source := "src/tests/rust_guests/witguest/target/x86_64-unknown-none"
1615
rust_guests_bin_dir := "src/tests/rust_guests/bin"
1716

@@ -39,13 +38,11 @@ witguest-wit:
3938
cd src/tests/rust_guests/witguest && wasm-tools component wit guest.wit -w -o interface.wasm
4039

4140
build-rust-guests target=default-target features="": (witguest-wit)
42-
cd src/tests/rust_guests/callbackguest && cargo build {{ if features =="" {''} else if features=="no-default-features" {"--no-default-features" } else {"--no-default-features -F " + features } }} --profile={{ if target == "debug" { "dev" } else { target } }}
4341
cd src/tests/rust_guests/simpleguest && cargo build {{ if features =="" {''} else if features=="no-default-features" {"--no-default-features" } else {"--no-default-features -F " + features } }} --profile={{ if target == "debug" { "dev" } else { target } }}
4442
cd src/tests/rust_guests/dummyguest && cargo build {{ if features =="" {''} else if features=="no-default-features" {"--no-default-features" } else {"--no-default-features -F " + features } }} --profile={{ if target == "debug" { "dev" } else { target } }}
4543
cd src/tests/rust_guests/witguest && cargo build {{ if features =="" {''} else if features=="no-default-features" {"--no-default-features" } else {"--no-default-features -F " + features } }} --profile={{ if target == "debug" { "dev" } else { target } }}
4644

4745
@move-rust-guests target=default-target:
48-
cp {{ callbackguest_source }}/{{ target }}/callbackguest* {{ rust_guests_bin_dir }}/{{ target }}/
4946
cp {{ simpleguest_source }}/{{ target }}/simpleguest* {{ rust_guests_bin_dir }}/{{ target }}/
5047
cp {{ dummyguest_source }}/{{ target }}/dummyguest* {{ rust_guests_bin_dir }}/{{ target }}/
5148
cp {{ witguest_source }}/{{ target }}/witguest* {{ rust_guests_bin_dir }}/{{ target }}/
@@ -59,7 +56,6 @@ clean-rust:
5956
cargo clean
6057
cd src/tests/rust_guests/simpleguest && cargo clean
6158
cd src/tests/rust_guests/dummyguest && cargo clean
62-
cd src/tests/rust_guests/callbackguest && cargo clean
6359
{{ if os() == "windows" { "cd src/tests/rust_guests/witguest -ErrorAction SilentlyContinue; cargo clean" } else { "[ -d src/tests/rust_guests/witguest ] && cd src/tests/rust_guests/witguest && cargo clean || true" } }}
6460
{{ if os() == "windows" { "Remove-Item src/tests/rust_guests/witguest/interface.wasm -Force -ErrorAction SilentlyContinue" } else { "rm -f src/tests/rust_guests/witguest/interface.wasm" } }}
6561
git clean -fdx src/tests/c_guests/bin src/tests/rust_guests/bin
@@ -229,7 +225,6 @@ check:
229225

230226
fmt-check:
231227
cargo +nightly fmt --all -- --check
232-
cargo +nightly fmt --manifest-path src/tests/rust_guests/callbackguest/Cargo.toml -- --check
233228
cargo +nightly fmt --manifest-path src/tests/rust_guests/simpleguest/Cargo.toml -- --check
234229
cargo +nightly fmt --manifest-path src/tests/rust_guests/dummyguest/Cargo.toml -- --check
235230
cargo +nightly fmt --manifest-path src/tests/rust_guests/witguest/Cargo.toml -- --check
@@ -240,7 +235,6 @@ check-license-headers:
240235

241236
fmt-apply:
242237
cargo +nightly fmt --all
243-
cargo +nightly fmt --manifest-path src/tests/rust_guests/callbackguest/Cargo.toml
244238
cargo +nightly fmt --manifest-path src/tests/rust_guests/simpleguest/Cargo.toml
245239
cargo +nightly fmt --manifest-path src/tests/rust_guests/dummyguest/Cargo.toml
246240
cargo +nightly fmt --manifest-path src/tests/rust_guests/witguest/Cargo.toml
@@ -251,7 +245,6 @@ clippy target=default-target: (witguest-wit)
251245

252246
clippy-guests target=default-target: (witguest-wit)
253247
cd src/tests/rust_guests/simpleguest && cargo clippy --profile={{ if target == "debug" { "dev" } else { target } }} -- -D warnings
254-
cd src/tests/rust_guests/callbackguest && cargo clippy --profile={{ if target == "debug" { "dev" } else { target } }} -- -D warnings
255248
cd src/tests/rust_guests/witguest && cargo clippy --profile={{ if target == "debug" { "dev" } else { target } }} -- -D warnings
256249

257250
clippy-apply-fix-unix:

c.just

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,14 +16,11 @@ build-rust-capi target=default-target:
1616
compile-c-guest target=default-target:
1717
# elf
1818
cd src/tests/c_guests/c_simpleguest && {{ mkdir }} "./out/{{target}}" && clang -c {{ c-compile-options-elf }} {{ if target == "debug" { c-flags-debug-elf } else { c-flags-release-elf } }} main.c {{c-include-flags-elf}} -o "out/{{ target }}/main.o"
19-
cd src/tests/c_guests/c_callbackguest && {{ mkdir }} "./out/{{target}}" && clang -c {{ c-compile-options-elf }} {{ if target == "debug" { c-flags-debug-elf } else { c-flags-release-elf } }} main.c {{c-include-flags-elf}} -o "out/{{ target }}/main.o"
2019

2120
link-c-guest target=default-target:
2221
# elf
2322
cd src/tests/c_guests/c_simpleguest && ld.lld -o out/{{target}}/simpleguest {{c-linker-options-elf}} out/{{target}}/main.o -l hyperlight_guest_capi -L "{{justfile_directory()}}/target/x86_64-unknown-none/{{target}}"
24-
cd src/tests/c_guests/c_callbackguest && ld.lld -o out/{{target}}/callbackguest {{c-linker-options-elf}} out/{{target}}/main.o -l hyperlight_guest_capi -L "{{justfile_directory()}}/target/x86_64-unknown-none/{{target}}"
2523

2624
move-c-guests target=default-target:
2725
# elf
2826
cp src/tests/c_guests/c_simpleguest/out/{{target}}/simpleguest src/tests/c_guests/bin/{{target}}/
29-
cp src/tests/c_guests/c_callbackguest/out/{{target}}/callbackguest src/tests/c_guests/bin/{{target}}/

src/hyperlight_host/src/lib.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -81,8 +81,7 @@ pub(crate) mod seccomp;
8181
/// Signal handling for Linux
8282
#[cfg(target_os = "linux")]
8383
pub(crate) mod signal_handlers;
84-
/// Utilities for testing including interacting with `simpleguest.exe`
85-
/// and `callbackguest.exe`, our two most basic guest binaries for testing
84+
/// Utilities for testing including interacting with `simpleguest` testing guest binary
8685
#[cfg(test)]
8786
pub(crate) mod testing;
8887

src/hyperlight_host/src/sandbox/uninitialized_evolve.rs

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -271,18 +271,15 @@ pub(crate) fn set_up_hypervisor_partition(
271271

272272
#[cfg(test)]
273273
mod tests {
274-
use hyperlight_testing::{callback_guest_as_string, simple_guest_as_string};
274+
use hyperlight_testing::simple_guest_as_string;
275275

276276
use super::evolve_impl_multi_use;
277277
use crate::UninitializedSandbox;
278278
use crate::sandbox::uninitialized::GuestBinary;
279279

280280
#[test]
281281
fn test_evolve() {
282-
let guest_bin_paths = vec![
283-
simple_guest_as_string().unwrap(),
284-
callback_guest_as_string().unwrap(),
285-
];
282+
let guest_bin_paths = vec![simple_guest_as_string().unwrap()];
286283
for guest_bin_path in guest_bin_paths {
287284
let u_sbox =
288285
UninitializedSandbox::new(GuestBinary::FilePath(guest_bin_path.clone()), None)

src/hyperlight_host/tests/common/mod.rs

Lines changed: 3 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,7 @@ limitations under the License.
1515
*/
1616
use hyperlight_host::func::HostFunction;
1717
use hyperlight_host::{GuestBinary, MultiUseSandbox, Result, UninitializedSandbox};
18-
use hyperlight_testing::{
19-
c_callback_guest_as_string, c_simple_guest_as_string, callback_guest_as_string,
20-
simple_guest_as_string,
21-
};
18+
use hyperlight_testing::{c_simple_guest_as_string, simple_guest_as_string};
2219

2320
/// Returns a rust/c simpleguest depending on environment variable GUEST.
2421
/// Uses rust guest by default. Run test with environment variable GUEST="c" to use the c version
@@ -59,10 +56,10 @@ pub fn get_simpleguest_sandboxes(
5956
.collect()
6057
}
6158

62-
pub fn get_callbackguest_uninit_sandboxes(
59+
pub fn get_uninit_simpleguest_sandboxes(
6360
writer: Option<HostFunction<i32, (String,)>>, // An optional writer to make sure correct info is passed to the host printer
6461
) -> Vec<UninitializedSandbox> {
65-
let elf_path = get_c_or_rust_callbackguest_path();
62+
let elf_path = get_c_or_rust_simpleguest_path();
6663

6764
let sandboxes = [
6865
// in hypervisor elf
@@ -89,13 +86,3 @@ pub(crate) fn get_c_or_rust_simpleguest_path() -> String {
8986
_ => panic!("Unknown guest type '{guest_type}', use either 'rust' or 'c'"),
9087
}
9188
}
92-
93-
// returns the the path of callbackguest binary. Picks rust/ version depending on environment variable GUEST (or rust by default if unset)
94-
fn get_c_or_rust_callbackguest_path() -> String {
95-
let guest_type = std::env::var("GUEST").unwrap_or("rust".to_string());
96-
match guest_type.as_str() {
97-
"rust" => callback_guest_as_string().unwrap(),
98-
"c" => c_callback_guest_as_string().unwrap(),
99-
_ => panic!("Unknown guest type '{guest_type}', use either 'rust' or 'c'"),
100-
}
101-
}

0 commit comments

Comments
 (0)