Skip to content

Commit 34c1f47

Browse files
committed
Update test suite
1 parent 9ccaf9f commit 34c1f47

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

47 files changed

+1227
-150
lines changed

Diff for: azure-pipelines.yml

+45-14
Original file line numberDiff line numberDiff line change
@@ -102,26 +102,57 @@ steps:
102102
- script: rustup toolchain add nightly
103103
displayName: 'Install Rust Nightly'
104104

105-
- script: bootimage build --target x86_64-basic.json && file target/x86_64-basic/debug/bootimage-basic.bin
105+
- script: echo "##vso[task.setvariable variable=SYSROOT_DIR;]$(Agent.BuildDirectory)/target/sysroot"
106+
displayName: 'Set SYSROOT_DIR environment variable'
107+
108+
- script: pwd
106109
workingDirectory: example-kernels/basic
107-
displayName: 'Build Example Kernel "Basic"'
108110

109-
- script: bootimage run --target x86_64-basic.json
111+
- script: rustc --version
110112
workingDirectory: example-kernels/basic
111-
displayName: 'Run Example Kernel "basic"'
112113

113-
- script: bootimage build && file target/x86_64-default-target/debug/bootimage-default-target-bootimage.bin
114-
workingDirectory: example-kernels/default-target-bootimage
115-
displayName: 'Build Example Kernel "default-target-bootimage"'
114+
- script: cat rust-toolchain
115+
workingDirectory: example-kernels/basic
116+
117+
- script: bootimage build --target ../x86_64-bootimage-example-kernels.json
118+
workingDirectory: example-kernels/basic
119+
displayName: 'Build "basic" Kernel'
120+
121+
- script: qemu-system-x86_64 -drive format=raw,file=target/x86_64-basic/debug/bootimage-basic.bin -device isa-debug-exit,iobase=0xf4,iosize=0x04 -display none
122+
workingDirectory: example-kernels/basic
123+
displayName: 'Run QEMU with "basic" Kernel'
124+
125+
- bash: |
126+
bootimage run --target ../x86_64-bootimage-example-kernels.json -- -device isa-debug-exit,iobase=0xf4,iosize=0x04 -display none
127+
if [ $? -eq 103 ]; then (exit 0); else (exit 1); fi
128+
workingDirectory: example-kernels/basic
129+
displayName: 'Check Exit Code of `bootimage run` for "basic" kernel'
116130

117-
- script: bootimage run
131+
- bash: |
132+
bootimage run -- -device isa-debug-exit,iobase=0xf4,iosize=0x04 -display none
133+
if [ $? -eq 105 ]; then (exit 0); else (exit 1); fi
118134
workingDirectory: example-kernels/default-target-bootimage
119-
displayName: 'Run Example Kernel "default-target-bootimage"'
135+
displayName: 'Check Exit Code of `bootimage run` for "default-target-bootimage" kernel'
120136

121-
- script: bootimage build && file target/x86_64-default-target/debug/bootimage-default-target-cargo.bin
137+
- bash: |
138+
bootimage run -- -device isa-debug-exit,iobase=0xf4,iosize=0x04 -display none
139+
if [ $? -eq 107 ]; then (exit 0); else (exit 1); fi
122140
workingDirectory: example-kernels/default-target-cargo
123-
displayName: 'Build Example Kernel "default-target-cargo"'
141+
displayName: 'Check Exit Code of `bootimage run` for "default-target-cargo" kernel'
142+
143+
- script: bootimage test
144+
workingDirectory: example-kernels/testing-serial-result
145+
displayName: 'Run `bootimage test` for "testing-serial-result" kernel'
146+
147+
- script: bootimage test
148+
workingDirectory: example-kernels/testing-qemu-exit-code
149+
displayName: 'Run `bootimage test` for "testing-qemu-exit-code" kernel'
150+
151+
- script: cargo xrun
152+
workingDirectory: example-kernels/runner
153+
displayName: 'Run `cargo xrun` for "runner" kernel'
154+
155+
- script: cargo test
156+
workingDirectory: example-kernels/tester
157+
displayName: 'Run `cargo test` for "tester" kernel'
124158

125-
- script: bootimage run
126-
workingDirectory: example-kernels/default-target-cargo
127-
displayName: 'Run Example Kernel "default-target-cargo"'

Diff for: example-kernels/basic/Cargo.lock

+4-2
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
File renamed without changes.

Diff for: example-kernels/basic/src/main.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -24,5 +24,5 @@ pub unsafe fn exit_qemu() {
2424
use x86_64::instructions::port::Port;
2525

2626
let mut port = Port::<u32>::new(0xf4);
27-
port.write(61); // exit code is (61 << 1) | 1 = 123
27+
port.write(51); // exit code is (51 << 1) | 1 = 103
2828
}

Diff for: example-kernels/default-target-bootimage/Cargo.lock

+11-40
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Diff for: example-kernels/default-target-bootimage/Cargo.toml

+1-3
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,6 @@ edition = "2018"
77
[dependencies]
88
bootloader = "0.5.0"
99
x86_64 = "0.5.3"
10-
spin = "0.4.9"
11-
uart_16550 = "0.1.0"
1210

1311
[package.metadata.bootimage]
14-
default-target = "x86_64-default-target.json"
12+
default-target = "../x86_64-bootimage-example-kernels.json"
+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
nightly

Diff for: example-kernels/default-target-bootimage/src/main.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -24,5 +24,5 @@ pub unsafe fn exit_qemu() {
2424
use x86_64::instructions::port::Port;
2525

2626
let mut port = Port::<u32>::new(0xf4);
27-
port.write(61); // exit code is (61 << 1) | 1 = 123
27+
port.write(52); // exit code is (52 << 1) | 1 = 105
2828
}

Diff for: example-kernels/default-target-bootimage/x86_64-default-target.json

-15
This file was deleted.

Diff for: example-kernels/default-target-cargo/.cargo/config

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11
[build]
2-
target = "x86_64-default-target.json"
2+
target = "../x86_64-bootimage-example-kernels.json"

Diff for: example-kernels/default-target-cargo/Cargo.lock

+11-40
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Diff for: example-kernels/default-target-cargo/Cargo.toml

-2
Original file line numberDiff line numberDiff line change
@@ -7,5 +7,3 @@ edition = "2018"
77
[dependencies]
88
bootloader = "0.5.0"
99
x86_64 = "0.5.3"
10-
spin = "0.4.9"
11-
uart_16550 = "0.1.0"

Diff for: example-kernels/default-target-cargo/rust-toolchain

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
nightly

Diff for: example-kernels/default-target-cargo/src/main.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -24,5 +24,5 @@ pub unsafe fn exit_qemu() {
2424
use x86_64::instructions::port::Port;
2525

2626
let mut port = Port::<u32>::new(0xf4);
27-
port.write(61); // exit code is (61 << 1) | 1 = 123
27+
port.write(53); // exit code is (53 << 1) | 1 = 107
2828
}

0 commit comments

Comments
 (0)