Testing
-
It's always better to test boot every time you make a system change, because it is important to see how the OS boots and works after it compiles.
-
Even though Rust is a safety-oriented language, something as unstable and low-level as a work-in-progress operating system will almost certainly have problems in many cases and may completely break on even the slightest critical change.
-
Also, make sure you verified how the unmodified version runs on your machine before making any changes. Else, you won't have anything to compare to, and it will generally just lead to confusion. TLDR: rebuild and test boot often.
-
The real hardware testing is bigger than QEMU testing and thus detect more bugs
-
There's also the acid test suite from Redox, to use it run the
make rp.acidcommand from the build system to install the suite in the Redox image, run thecd acidcommand to go to theaciddirectory and use thecargo testcommand to run correctness tests andcargo benchcommand to run stress tests. -
The relibc test suite is used to complement
acid, use themake r.relibc-tests-binscommand from the build system to run it or themake rp.relibc-testscommand to add the source in the Redox image, build (cd relibc-testsandmake runcommands) and run it (make testcommand) later inside of Redox for more testing. -
The os-test test suite has the largest number of tests and is the recommended method to test the system, use the
make r.os-test-binscommand from the build system to run it or themake rp.os-testcommand to add the source in the Redox image, build (cd os-testandmake allcommands) and run it (make testcommand) later inside of Redox for more testing.