Ensure kernel panic starts on newline

pull/41/head
Andre Richter 5 years ago
parent 666d349a51
commit a41190e298
No known key found for this signature in database
GPG Key ID: 2116C1AB102F615E

@ -194,9 +194,9 @@ diff -uNr 02_runtime_init/src/panic_wait.rs 03_hacky_hello_world/src/panic_wait.
- crate::arch::wait_forever()
+fn panic(info: &PanicInfo) -> ! {
+ if let Some(args) = info.message() {
+ println!("Kernel panic: {}", args);
+ println!("\nKernel panic: {}", args);
+ } else {
+ println!("Kernel panic!");
+ println!("\nKernel panic!");
+ }
+
+ arch::wait_forever()

Binary file not shown.

Binary file not shown.

@ -10,9 +10,9 @@ use core::panic::PanicInfo;
#[panic_handler]
fn panic(info: &PanicInfo) -> ! {
if let Some(args) = info.message() {
println!("Kernel panic: {}", args);
println!("\nKernel panic: {}", args);
} else {
println!("Kernel panic!");
println!("\nKernel panic!");
}
arch::wait_forever()

@ -10,9 +10,9 @@ use core::panic::PanicInfo;
#[panic_handler]
fn panic(info: &PanicInfo) -> ! {
if let Some(args) = info.message() {
println!("Kernel panic: {}", args);
println!("\nKernel panic: {}", args);
} else {
println!("Kernel panic!");
println!("\nKernel panic!");
}
arch::wait_forever()

Binary file not shown.

Binary file not shown.

@ -10,9 +10,9 @@ use core::panic::PanicInfo;
#[panic_handler]
fn panic(info: &PanicInfo) -> ! {
if let Some(args) = info.message() {
println!("Kernel panic: {}", args);
println!("\nKernel panic: {}", args);
} else {
println!("Kernel panic!");
println!("\nKernel panic!");
}
arch::wait_forever()

@ -951,11 +951,11 @@ diff -uNr 05_safe_globals/src/panic_wait.rs 06_drivers_gpio_uart/src/panic_wait.
#[panic_handler]
fn panic(info: &PanicInfo) -> ! {
if let Some(args) = info.message() {
- println!("Kernel panic: {}", args);
+ panic_println!("Kernel panic: {}", args);
- println!("\nKernel panic: {}", args);
+ panic_println!("\nKernel panic: {}", args);
} else {
- println!("Kernel panic!");
+ panic_println!("Kernel panic!");
- println!("\nKernel panic!");
+ panic_println!("\nKernel panic!");
}
arch::wait_forever()

Binary file not shown.

Binary file not shown.

@ -26,9 +26,9 @@ macro_rules! panic_println {
#[panic_handler]
fn panic(info: &PanicInfo) -> ! {
if let Some(args) = info.message() {
panic_println!("Kernel panic: {}", args);
panic_println!("\nKernel panic: {}", args);
} else {
panic_println!("Kernel panic!");
panic_println!("\nKernel panic!");
}
arch::wait_forever()

Binary file not shown.

Binary file not shown.

@ -26,9 +26,9 @@ macro_rules! panic_println {
#[panic_handler]
fn panic(info: &PanicInfo) -> ! {
if let Some(args) = info.message() {
panic_println!("Kernel panic: {}", args);
panic_println!("\nKernel panic: {}", args);
} else {
panic_println!("Kernel panic!");
panic_println!("\nKernel panic!");
}
arch::wait_forever()

Binary file not shown.

Binary file not shown.

@ -26,9 +26,9 @@ macro_rules! panic_println {
#[panic_handler]
fn panic(info: &PanicInfo) -> ! {
if let Some(args) = info.message() {
panic_println!("Kernel panic: {}", args);
panic_println!("\nKernel panic: {}", args);
} else {
panic_println!("Kernel panic!");
panic_println!("\nKernel panic!");
}
arch::wait_forever()

Binary file not shown.

Binary file not shown.

@ -26,9 +26,9 @@ macro_rules! panic_println {
#[panic_handler]
fn panic(info: &PanicInfo) -> ! {
if let Some(args) = info.message() {
panic_println!("Kernel panic: {}", args);
panic_println!("\nKernel panic: {}", args);
} else {
panic_println!("Kernel panic!");
panic_println!("\nKernel panic!");
}
arch::wait_forever()

Binary file not shown.

Binary file not shown.

@ -26,9 +26,9 @@ macro_rules! panic_println {
#[panic_handler]
fn panic(info: &PanicInfo) -> ! {
if let Some(args) = info.message() {
panic_println!("Kernel panic: {}", args);
panic_println!("\nKernel panic: {}", args);
} else {
panic_println!("Kernel panic!");
panic_println!("\nKernel panic!");
}
arch::wait_forever()

Binary file not shown.

Binary file not shown.

@ -26,9 +26,9 @@ macro_rules! panic_println {
#[panic_handler]
fn panic(info: &PanicInfo) -> ! {
if let Some(args) = info.message() {
panic_println!("Kernel panic: {}", args);
panic_println!("\nKernel panic: {}", args);
} else {
panic_println!("Kernel panic!");
panic_println!("\nKernel panic!");
}
arch::wait_forever()

Binary file not shown.

@ -26,9 +26,9 @@ macro_rules! panic_println {
#[panic_handler]
fn panic(info: &PanicInfo) -> ! {
if let Some(args) = info.message() {
panic_println!("Kernel panic: {}", args);
panic_println!("\nKernel panic: {}", args);
} else {
panic_println!("Kernel panic!");
panic_println!("\nKernel panic!");
}
arch::wait_forever()

@ -1371,7 +1371,7 @@ diff -uNr 12_cpu_exceptions_part1/src/panic_wait.rs 13_integrated_testing/src/pa
fn panic(info: &PanicInfo) -> ! {
if let Some(args) = info.message() {
@@ -31,5 +48,16 @@
panic_println!("Kernel panic!");
panic_println!("\nKernel panic!");
}
- arch::wait_forever()
@ -1691,7 +1691,7 @@ diff -uNr 12_cpu_exceptions_part1/tests/panic_exit_success/mod.rs 13_integrated_
diff -uNr 12_cpu_exceptions_part1/tests/runner.rb 13_integrated_testing/tests/runner.rb
--- 12_cpu_exceptions_part1/tests/runner.rb
+++ 13_integrated_testing/tests/runner.rb
@@ -0,0 +1,137 @@
@@ -0,0 +1,139 @@
+#!/usr/bin/env ruby
+# frozen_string_literal: true
+
@ -1699,6 +1699,7 @@ diff -uNr 12_cpu_exceptions_part1/tests/runner.rb 13_integrated_testing/tests/ru
+#
+# Copyright (c) 2019-2020 Andre Richter <andre.o.richter@gmail.com>
+
+require 'English'
+require 'pty'
+
+# Test base class.
@ -1803,7 +1804,8 @@ diff -uNr 12_cpu_exceptions_part1/tests/runner.rb 13_integrated_testing/tests/ru
+ begin
+ @output << io.read_nonblock(1024)
+ rescue EOFError
+ error = false
+ io.close
+ error = $CHILD_STATUS.to_i != 0
+ break
+ end
+ end

Binary file not shown.

Binary file not shown.

@ -43,9 +43,9 @@ fn _panic_exit() -> ! {
#[panic_handler]
fn panic(info: &PanicInfo) -> ! {
if let Some(args) = info.message() {
panic_println!("Kernel panic: {}", args);
panic_println!("\nKernel panic: {}", args);
} else {
panic_println!("Kernel panic!");
panic_println!("\nKernel panic!");
}
_panic_exit()

Binary file not shown.

Binary file not shown.

@ -26,9 +26,9 @@ macro_rules! panic_println {
#[panic_handler]
fn panic(info: &PanicInfo) -> ! {
if let Some(args) = info.message() {
panic_println!("Kernel panic: {}", args);
panic_println!("\nKernel panic: {}", args);
} else {
panic_println!("Kernel panic!");
panic_println!("\nKernel panic!");
}
arch::wait_forever()

Loading…
Cancel
Save