Skip to content

Commit 70ae265

Browse files
committed
test: add test for --enable-value-tracing
1 parent 5fca794 commit 70ae265

File tree

8 files changed

+98
-1
lines changed

8 files changed

+98
-1
lines changed

crates/moon/tests/test_cases/mod.rs

Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8218,3 +8218,71 @@ fn test_strip_debug() {
82188218
"#]],
82198219
);
82208220
}
8221+
8222+
#[test]
8223+
fn test_tracing_value() {
8224+
let dir = TestDir::new("tracing_value.in");
8225+
8226+
// main.mbt in package
8227+
check(
8228+
get_stdout(
8229+
&dir,
8230+
[
8231+
"run",
8232+
"./main/main.mbt",
8233+
"--enable-value-tracing",
8234+
"--dry-run",
8235+
],
8236+
),
8237+
expect![[r#"
8238+
moonc build-package ./lib/hello.mbt -o ./target/wasm-gc/release/build/lib/lib.core -pkg moon_new/lib -std-path $MOON_HOME/lib/core/target/wasm-gc/release/bundle -pkg-sources moon_new/lib:./lib -target wasm-gc
8239+
moonc build-package ./main/main.mbt -o ./target/wasm-gc/release/build/main/main.core -pkg moon_new/main -is-main -std-path $MOON_HOME/lib/core/target/wasm-gc/release/bundle -i ./target/wasm-gc/release/build/lib/lib.mi:lib -pkg-sources moon_new/main:./main -target wasm-gc -enable-value-tracing
8240+
moonc link-core $MOON_HOME/lib/core/target/wasm-gc/release/bundle/core.core ./target/wasm-gc/release/build/lib/lib.core ./target/wasm-gc/release/build/main/main.core -main moon_new/main -o ./target/wasm-gc/release/build/main/main.wasm -pkg-config-path ./main/moon.pkg.json -pkg-sources moon_new/lib:./lib -pkg-sources moon_new/main:./main -pkg-sources moonbitlang/core:$MOON_HOME/lib/core -target wasm-gc
8241+
moonrun ./target/wasm-gc/release/build/main/main.wasm
8242+
"#]],
8243+
);
8244+
check(
8245+
get_stdout(&dir, ["run", "./main/main.mbt", "--enable-value-tracing"]),
8246+
expect![[r#"
8247+
Hello, world!
8248+
######MOONBIT_VALUE_TRACING_START######
8249+
{"name":"a","value":"1","line":"3","start_column":"7","end_column":"8"}
8250+
######MOONBIT_VALUE_TRACING_END######
8251+
######MOONBIT_VALUE_TRACING_START######
8252+
{"name":"b","value":"2","line":"4","start_column":"7","end_column":"8"}
8253+
######MOONBIT_VALUE_TRACING_END######
8254+
######MOONBIT_VALUE_TRACING_START######
8255+
{"name":"c","value":"3","line":"5","start_column":"7","end_column":"8"}
8256+
######MOONBIT_VALUE_TRACING_END######
8257+
3
8258+
"#]],
8259+
);
8260+
8261+
// single file
8262+
check(
8263+
get_stdout(
8264+
&dir,
8265+
["run", "./main.mbt", "--enable-value-tracing", "--dry-run"],
8266+
),
8267+
expect![[r#"
8268+
moonc build-package $ROOT/main.mbt -o $ROOT/target/main.core -std-path $MOON_HOME/lib/core/target/wasm-gc/release/bundle -is-main -pkg moon/run/single -g -O0 -source-map -target wasm-gc -enable-value-tracing
8269+
moonc link-core $MOON_HOME/lib/core/target/wasm-gc/release/bundle/core.core $ROOT/target/main.core -o $ROOT/target/main.wasm -pkg-sources moon/run/single:$ROOT -pkg-sources moonbitlang/core:$MOON_HOME/lib/core -g -O0 -source-map -target wasm-gc
8270+
moonrun $ROOT/target/main.wasm
8271+
"#]],
8272+
);
8273+
check(
8274+
get_stdout(&dir, ["run", "./main.mbt", "--enable-value-tracing"]),
8275+
expect![[r#######"
8276+
######MOONBIT_VALUE_TRACING_START######
8277+
{"name":"a","value":"1","line":"2","start_column":"7","end_column":"8"}
8278+
######MOONBIT_VALUE_TRACING_END######
8279+
######MOONBIT_VALUE_TRACING_START######
8280+
{"name":"b","value":"2","line":"3","start_column":"7","end_column":"8"}
8281+
######MOONBIT_VALUE_TRACING_END######
8282+
######MOONBIT_VALUE_TRACING_START######
8283+
{"name":"c","value":"3","line":"4","start_column":"7","end_column":"8"}
8284+
######MOONBIT_VALUE_TRACING_END######
8285+
3
8286+
"#######]],
8287+
);
8288+
}
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
pub fn hello() -> String {
2+
"Hello, world!"
3+
}
4+
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
{
2+
"import": {}
3+
}
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
fn main {
2+
let a = 1
3+
let b = 2
4+
let c = a + b
5+
println(c)
6+
}
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
fn main {
2+
println(@lib.hello())
3+
let a = 1
4+
let b = 2
5+
let c = a + b
6+
println(c)
7+
}
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
{
2+
"is-main": true,
3+
"import": {
4+
"moon_new/lib": ""
5+
}
6+
}
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
{
2+
"name": "moon_new"
3+
}

crates/moonbuild/src/gen/gen_build.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -248,7 +248,6 @@ pub fn gen_build_command(
248248

249249
let command = CommandBuilder::new("moonc")
250250
.arg("build-package")
251-
.arg_with_cond(item.enable_value_tracing, "-enable-value-tracing")
252251
.args_with_cond(moonc_opt.render, vec!["-error-format", "json"])
253252
.args_with_cond(
254253
moonc_opt.build_opt.deny_warn,
@@ -297,6 +296,7 @@ pub fn gen_build_command(
297296
.arg_with_cond(enable_coverage, "-enable-coverage")
298297
.arg_with_cond(self_coverage, "-coverage-package-override=@self")
299298
.args(moonc_opt.extra_build_opt.iter())
299+
.arg_with_cond(item.enable_value_tracing, "-enable-value-tracing")
300300
.build();
301301
log::debug!("Command: {}", command);
302302
build.cmdline = Some(command);

0 commit comments

Comments
 (0)