@@ -82,13 +82,17 @@ test-like-ci config=default-target hypervisor="kvm":
8282 cargo check -p hyperlight-host --features crashdump
8383 cargo check -p hyperlight-host --features print_debug
8484 cargo check -p hyperlight-host --features gdb
85+ cargo check -p hyperlight-host --features trace_guest,unwind_guest,mem_profile
8586
8687 @ # without any driver (should fail to compile)
8788 just test-compilation-no-default-features {{ config}}
8889
8990 @ # test the crashdump feature
9091 just test-rust-crashdump {{ config}}
9192
93+ @ # test the tracing related features
94+ just test-rust-tracing {{ config}} {{ if hypervisor == " mshv3" {" mshv3" } else {" " } }}
95+
9296# runs all tests
9397test target = default-target features = " ": (test-unit target features) (test-isolated target features) (test-integration " rust" target features) (test-integration " c" target features) (test-seccomp target features)
9498
@@ -141,6 +145,25 @@ test-rust-gdb-debugging target=default-target features="":
141145test-rust-crashdump target = default-target features = " ":
142146 cargo test --profile={{ if target == " debug" { " dev" } else { target } }} {{ if features == " " {' --features crashdump' } else { " --features crashdump," + features } }} -- test_crashdump
143147
148+ # rust test for tracing
149+ test-rust-tracing target = default-target features = " ":
150+ # Run tests for the tracing guest and macro
151+ cargo test -p hyperlight-guest-tracing --profile={{ if target == " debug" { " dev" } else { target } }}
152+ cargo test -p hyperlight-guest-tracing-macro --profile={{ if target == " debug" { " dev" } else { target } }}
153+
154+ # Prepare the tracing guest for testing
155+ just build-rust-guests {{ target }} trace_guest
156+ just move-rust-guests {{ target }}
157+ # Run hello-world example with tracing enabled to get the trace output
158+ # Capture the trace file path and print use it afterwards to run cargo run -p trace_dump
159+ cargo run --profile={{ if target == " debug" { " dev" } else { target } }} --example hello-world --features {{ if features == " " {' trace_guest' } else { " trace_guest," + features } }} \
160+ | sed -n ' s/.*Creating trace file at: \(.*\)/\1/p' \
161+ | xargs -I {} cargo run -p trace_dump ./ {{ simpleguest_source }} / {{ target }} / simpleguest {} list_frames
162+
163+ # Rebuild the tracing guest without the tracing feature
164+ # This is to ensure that the tracing feature does not affect the other tests
165+ just build-rust-guests {{ target }}
166+ just move-rust-guests {{ target }}
144167
145168################
146169### LINTING ####
0 commit comments