mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2024-11-22 15:40:19 +00:00
Tests+Base: Convert stack-smash to be LibTest based and stop skipping it
Now that the test is converted to be LibTest based, we can remove it from the exclude list in /home/anon/.config/Tests.ini. Prior to this it would crash and fail because it was signaled instead of returning normally with exit code 0.
This commit is contained in:
parent
f0d562131f
commit
d0447f23b8
Notes:
sideshowbarker
2024-07-18 10:17:38 +09:00
Author: https://github.com/ADKaster Commit: https://github.com/SerenityOS/serenity/commit/d0447f23b85 Pull-request: https://github.com/SerenityOS/serenity/pull/8351 Reviewed-by: https://github.com/bgianfo ✅
3 changed files with 11 additions and 8 deletions
|
@ -1,6 +1,6 @@
|
|||
[Global]
|
||||
SkipDirectories=Kernel/Legacy UserEmulator
|
||||
SkipTests=stack-smash test-web
|
||||
SkipTests=test-web
|
||||
NotTestsPattern=.txt|.frm|.inc
|
||||
|
||||
[test-js]
|
||||
|
|
|
@ -7,6 +7,7 @@ set(TEST_SOURCES
|
|||
${CMAKE_CURRENT_SOURCE_DIR}/TestLibCDirEnt.cpp
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/TestLibCInodeWatcher.cpp
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/TestLibCString.cpp
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/TestStackSmash.cpp
|
||||
)
|
||||
|
||||
file(GLOB CMD_SOURCES CONFIGURE_DEPENDS "*.cpp")
|
||||
|
|
|
@ -4,7 +4,8 @@
|
|||
* SPDX-License-Identifier: BSD-2-Clause
|
||||
*/
|
||||
|
||||
#include <cstdio>
|
||||
#include <AK/Format.h>
|
||||
#include <LibTest/TestCase.h>
|
||||
|
||||
// Note: Needs to be 'noline' so stack canary isn't optimized out.
|
||||
static void __attribute__((noinline)) smasher(char* string)
|
||||
|
@ -24,11 +25,12 @@ static void __attribute__((noinline)) stack_to_smash()
|
|||
smasher(string);
|
||||
}
|
||||
|
||||
int main()
|
||||
TEST_CASE(stack_smash)
|
||||
{
|
||||
puts("[+] Starting the stack smash...");
|
||||
stack_to_smash();
|
||||
puts("[+] Stack smash wasn't detected!");
|
||||
|
||||
return 0;
|
||||
EXPECT_CRASH("Smash the stack and trigger __stack_chk_fail", [] {
|
||||
outln("[+] Starting the stack smash...");
|
||||
stack_to_smash();
|
||||
outln("[+] Stack smash wasn't detected!");
|
||||
return Test::Crash::Failure::DidNotCrash;
|
||||
});
|
||||
}
|
Loading…
Reference in a new issue