@@ -82,13 +82,17 @@ test-like-ci config=default-target hypervisor="kvm":
82
82
cargo check -p hyperlight-host --features crashdump
83
83
cargo check -p hyperlight-host --features print_debug
84
84
cargo check -p hyperlight-host --features gdb
85
+ cargo check -p hyperlight-host --features trace_guest,unwind_guest,mem_profile
85
86
86
87
@ # without any driver (should fail to compile)
87
88
just test-compilation-no-default-features {{ config}}
88
89
89
90
@ # test the crashdump feature
90
91
just test-rust-crashdump {{ config}}
91
92
93
+ @ # test the tracing related features
94
+ just test-rust-tracing {{ config}} {{ if hypervisor == " mshv3" {" mshv3" } else {" " } }}
95
+
92
96
# runs all tests
93
97
test 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)
94
98
@@ -141,6 +145,25 @@ test-rust-gdb-debugging target=default-target features="":
141
145
test-rust-crashdump target = default-target features = " ":
142
146
cargo test --profile={{ if target == " debug" { " dev" } else { target } }} {{ if features == " " {' --features crashdump' } else { " --features crashdump," + features } }} -- test_crashdump
143
147
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 }}
144
167
145
168
################
146
169
### LINTING ####
0 commit comments