Skip to content

Commit f51e1ca

Browse files
committed
Update test suite
1 parent 9ccaf9f commit f51e1ca

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

+1224
-150
lines changed

Diff for: azure-pipelines.yml

+42-14
Original file line numberDiff line numberDiff line change
@@ -102,26 +102,54 @@ 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: bootimage build --target ../x86_64-bootimage-example-kernels.json
115+
workingDirectory: example-kernels/basic
116+
displayName: 'Build "basic" Kernel'
117+
118+
- 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
119+
workingDirectory: example-kernels/basic
120+
displayName: 'Run QEMU with "basic" Kernel'
121+
122+
- bash: |
123+
bootimage run --target ../x86_64-bootimage-example-kernels.json -- -device isa-debug-exit,iobase=0xf4,iosize=0x04 -display none
124+
if [ $? -eq 103 ]; then (exit 0); else (exit 1); fi
125+
workingDirectory: example-kernels/basic
126+
displayName: 'Check Exit Code of `bootimage run` for "basic" kernel'
116127

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

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

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)