mirror of
https://github.com/cirosantilli/linux-kernel-module-cheat.git
synced 2026-01-28 12:34:26 +01:00
readme: document --all-archs and --all-emulators
replace build-test-gdb with build test-gdb
This commit is contained in:
33
README.adoc
33
README.adoc
@@ -3171,6 +3171,8 @@ Source: link:test-userland[]
|
|||||||
|
|
||||||
The gem5 tests require building statically with build id `static`, see also: <<gem5-syscall-emulation-mode>>. TODO automate this better.
|
The gem5 tests require building statically with build id `static`, see also: <<gem5-syscall-emulation-mode>>. TODO automate this better.
|
||||||
|
|
||||||
|
See: <<test-this-repo>> for more useful testing tips.
|
||||||
|
|
||||||
== Kernel module utilities
|
== Kernel module utilities
|
||||||
|
|
||||||
=== insmod
|
=== insmod
|
||||||
@@ -10914,6 +10916,8 @@ We also skip tests that cannot work on certain conditions based on their basenam
|
|||||||
* tests that start with `gem5_` only run in `gem5`
|
* tests that start with `gem5_` only run in `gem5`
|
||||||
* tests that start with `semihost_` only run in QEMU, until we find a better way to automate <<gem5-semihosting>>
|
* tests that start with `semihost_` only run in QEMU, until we find a better way to automate <<gem5-semihosting>>
|
||||||
|
|
||||||
|
See: <<test-this-repo>> for more useful testing tips.
|
||||||
|
|
||||||
=== Baremetal bibliography
|
=== Baremetal bibliography
|
||||||
|
|
||||||
https://stackoverflow.com/questions/43682311/uart-communication-in-gem5-with-arm-bare-metal
|
https://stackoverflow.com/questions/43682311/uart-communication-in-gem5-with-arm-bare-metal
|
||||||
@@ -11863,12 +11867,10 @@ This way you can just hack away the scripts and try them out immediately without
|
|||||||
|
|
||||||
=== Test this repo
|
=== Test this repo
|
||||||
|
|
||||||
This section describes how to run the most complete set of tests possible.
|
|
||||||
|
|
||||||
It takes too much time to be feasible for every patch, but it should be done for every release.
|
|
||||||
|
|
||||||
==== Automated tests
|
==== Automated tests
|
||||||
|
|
||||||
|
Run absolutely all tests:
|
||||||
|
|
||||||
....
|
....
|
||||||
./build-test --size 3 && \
|
./build-test --size 3 && \
|
||||||
./test --size 3
|
./test --size 3
|
||||||
@@ -11881,15 +11883,28 @@ Sources:
|
|||||||
|
|
||||||
* link:build-test[]
|
* link:build-test[]
|
||||||
* link:test[]
|
* link:test[]
|
||||||
|
* link:test-module[]
|
||||||
|
* <<user-mode-tests>>
|
||||||
|
* <<baremetal-tests>>
|
||||||
|
|
||||||
Test just the kernel modules:
|
This full testing takes too much time to be feasible for every patch, but it should be done for every release.
|
||||||
|
|
||||||
|
See the sources of those test scripts to learn how to run more specialized tests.
|
||||||
|
|
||||||
|
One important tip is that you can select multiple archs and emulators of interest with a command such as:
|
||||||
|
|
||||||
....
|
....
|
||||||
./test-modules
|
./test-userland \
|
||||||
echo $?
|
--arch x86_64 \
|
||||||
|
--arch aarch64 \
|
||||||
|
--emulator gem5 \
|
||||||
|
--emulator qemu \
|
||||||
|
;
|
||||||
....
|
....
|
||||||
|
|
||||||
Source: link:test-module[]
|
This command would run the test four times, using `x86_64` and `aarch64` with both gem5 and QEMU.
|
||||||
|
|
||||||
|
Without those flags, it defaults to just running the default arch and emulator once: `x86_64` and `qemu`.
|
||||||
|
|
||||||
Test that the Internet works:
|
Test that the Internet works:
|
||||||
|
|
||||||
@@ -11904,7 +11919,7 @@ Source: link:rootfs_overlay/test_all.sh[].
|
|||||||
We have some link:https://github.com/pexpect/pexpect[pexpect] automated tests for the baremetal programs!
|
We have some link:https://github.com/pexpect/pexpect[pexpect] automated tests for the baremetal programs!
|
||||||
|
|
||||||
....
|
....
|
||||||
./build-test-gdb && \
|
./build test-gdb && \
|
||||||
./test-gdb --all-archs --all-emulators
|
./test-gdb --all-archs --all-emulators
|
||||||
....
|
....
|
||||||
|
|
||||||
|
|||||||
5
build
5
build
@@ -266,6 +266,11 @@ This is equivalent to:
|
|||||||
'release': _Component(dependencies=[
|
'release': _Component(dependencies=[
|
||||||
'qemu-buildroot',
|
'qemu-buildroot',
|
||||||
]),
|
]),
|
||||||
|
'test-gdb': _Component(dependencies=[
|
||||||
|
'all-baremetal',
|
||||||
|
],
|
||||||
|
supported_archs=common.consts['crosstool_ng_supported_archs'],
|
||||||
|
),
|
||||||
}
|
}
|
||||||
|
|
||||||
self.add_argument(
|
self.add_argument(
|
||||||
|
|||||||
@@ -10,4 +10,4 @@ while [ $# -gt 0 ]; do
|
|||||||
esac
|
esac
|
||||||
done
|
done
|
||||||
./build-bench-boot --size "$test_size"
|
./build-bench-boot --size "$test_size"
|
||||||
./build-test-gdb
|
./build test-gdb --all-archs
|
||||||
|
|||||||
@@ -1,2 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
./build --all-archs all-baremetal
|
|
||||||
Reference in New Issue
Block a user