serenity/Meta
Andrew Kaster 35c0a6c54d AK+Userland: Move AK/TestSuite.h into LibTest and rework Tests' CMake
As many macros as possible are moved to Macros.h, while the
macros to create a test case are moved to TestCase.h. TestCase is now
the only user-facing header for creating a test case. TestSuite and its
helpers have moved into a .cpp file. Instead of requiring a TEST_MAIN
macro to be instantiated into the test file, a TestMain.cpp file is
provided instead that will be linked against each test. This has the
side effect that, if we wanted to have test cases split across multiple
files, it's as simple as adding them all to the same executable.

The test main should be portable to kernel mode as well, so if
there's a set of tests that should be run in self-test mode in kernel
space, we can accomodate that.

A new serenity_test CMake function streamlines adding a new test with
arguments for the test source file, subdirectory under /usr/Tests to
install the test application and an optional list of libraries to link
against the test application. To accomodate future test where the
provided TestMain.cpp is not suitable (e.g. test-js), a CUSTOM_MAIN
parameter can be passed to the function to not link against the
boilerplate main function.
2021-04-25 09:36:49 +02:00
..
CMake AK+Userland: Move AK/TestSuite.h into LibTest and rework Tests' CMake 2021-04-25 09:36:49 +02:00
Lagom AK+Userland: Move AK/TestSuite.h into LibTest and rework Tests' CMake 2021-04-25 09:36:49 +02:00
Precompile Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
ShellCompletions/zsh Meta: Add basic Zsh completions for serenity.sh 2021-04-22 09:55:48 +02:00
Websites/serenityos.org Website: Add link to @ABigPickle's VLA exploit 2021-03-08 22:53:28 +01:00
bochsrc Meta: move Kernel/.bochsrc => Meta/bochsrc 2020-07-01 12:53:39 +02:00
build-image-grub.sh Everywhere: Replace SERENITY_ROOT with SERENITY_SOURCE_DIR 2021-04-20 15:27:52 +02:00
build-image-qemu.sh Meta: Re-use existing disk image where possible 2021-04-23 22:34:05 +02:00
build-root-filesystem.sh Meta: Support using rsync to install the root filesystem 2021-04-23 22:34:05 +02:00
check-ak-test-files.sh Meta: Get building on NixOS (#5005) 2021-01-22 17:44:05 +01:00
check-debug-flags.sh Meta: Remove references to Userland/Libraries/LibELF/exec_elf.h 2021-04-19 09:19:31 +02:00
check-newlines-at-eof.py Meta: Remove references to Userland/Libraries/LibELF/exec_elf.h 2021-04-19 09:19:31 +02:00
check-style.sh Meta: Remove references to Userland/Libraries/LibELF/exec_elf.h 2021-04-19 09:19:31 +02:00
check-symbols.sh CI: Don't fail check-symbols if symbol is defiend somewhere else 2021-03-19 22:55:53 +01:00
check-syscall-lists.sh Meta: Check consistency of various syscall tables 2021-01-23 16:47:09 +01:00
debug-kernel.sh Meta: Add GDB pretty printers 2021-04-22 00:45:43 +02:00
generate-embedded-resource-assembly.sh Meta: Get building on NixOS (#5005) 2021-01-22 17:44:05 +01:00
grub-ebr.cfg Kernel: Introduce a new partitioning subsystem 2020-12-27 23:07:44 +01:00
grub-gpt.cfg Kernel: Stop bootloader from setting video mode with Multiboot 2020-05-28 00:50:55 +02:00
grub-mbr.cfg Kernel: Stop bootloader from setting video mode with Multiboot 2020-05-28 00:50:55 +02:00
install-ports-tree.sh Everywhere: Replace SERENITY_ROOT with SERENITY_SOURCE_DIR 2021-04-20 15:27:52 +02:00
lint-ci.sh Meta: Lint AvailablePorts.md 2021-02-15 07:41:16 +01:00
lint-clang-format.sh Meta: Remove references to Userland/Libraries/LibELF/exec_elf.h 2021-04-19 09:19:31 +02:00
lint-executable-resources.sh Meta: Get building on NixOS (#5005) 2021-01-22 17:44:05 +01:00
lint-ipc-ids.sh Meta: Get building on NixOS (#5005) 2021-01-22 17:44:05 +01:00
lint-keymaps.py Meta: Resolve some pylint violations in Python lint scripts 2021-04-02 23:07:58 +02:00
lint-missing-resources.sh Meta: Get building on NixOS (#5005) 2021-01-22 17:44:05 +01:00
lint-ports.py Ports: Detect more types of errors in the AvailablePorts.md file 2021-04-23 16:11:48 +02:00
lint-prettier.sh Meta: Get building on NixOS (#5005) 2021-01-22 17:44:05 +01:00
lint-python.sh Meta: Get building on NixOS (#5005) 2021-01-22 17:44:05 +01:00
lint-shell-scripts.sh Base/CI: Boot serenity in CI in a mode that runs tests on target 2021-02-28 18:19:37 +01:00
notify_irc.py Meta: Resolve some pylint violations in Python lint scripts 2021-04-02 23:07:58 +02:00
refresh-serenity-qtcreator.sh Everywhere: Replace SERENITY_ROOT with SERENITY_SOURCE_DIR 2021-04-20 15:27:52 +02:00
run.sh Everywhere: Replace SERENITY_ROOT with SERENITY_SOURCE_DIR 2021-04-20 15:27:52 +02:00
screenshot-000ccc0.png Meta: Update ReadMe with a new screenshot. :^) 2019-02-12 15:47:37 +01:00
screenshot-0f85753.png Meta: Update the screenshot in the ReadMe :^) 2021-04-04 09:57:36 +02:00
screenshot-8ea4375.png Meta: Time for a new screenshot! :^) 2020-06-02 19:29:31 +02:00
screenshot-1133aca.png Meta: Time for a new screenshot (Quake edition) :^) 2019-11-06 21:51:33 +01:00
screenshot-9145a72.png Meta: Time for a new screnshot! :^) 2019-09-18 12:15:02 +02:00
screenshot-23263aa.png Meta: Update ReadMe with a new screenshot :^) 2019-02-27 13:17:43 +01:00
screenshot-191112e.png Meta: Time for a new screenshot to keep things fresh. :^) 2019-06-07 18:14:13 +02:00
screenshot-b5521e1.png Meta: Time for a new screenshot! :^) 2019-03-08 01:10:33 +01:00
screenshot-cdb82f6.png Meta: Tweak ReadMe and add a new screenshot. 2019-03-20 15:52:37 +01:00
screenshot-d727005.png Meta: Tweak ReadMe and add a new screenshot. 2019-04-30 15:27:35 +02:00
screenshot-ef9fbef.png Meta: Time for a new screenshot :^) 2019-04-06 01:31:12 +02:00
screenshot-f8fc892.png Add a little ReadMe. 2019-02-08 11:06:34 +01:00
serenity.sh Meta: Add GDB pretty printers 2021-04-22 00:45:43 +02:00
serenity_gdb.py Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
text-to-cpp-string.sh Meta: Use a bash shebang for text-to-cpp-string.sh 2021-01-22 18:41:08 +01:00
write-only-on-difference.sh Build: Sprinkle some portability, fix on OpenBSD 2021-02-14 09:29:22 +01:00