1
0
Fork 0
mirror of https://github.com/LadybirdBrowser/ladybird.git synced 2025-06-11 18:20:43 +09:00

test-unveil: Port to LibMain

This commit is contained in:
Kenneth Myhra 2022-03-29 19:25:04 +02:00 committed by Brian Gianforcaro
parent 0015040ebd
commit 3df8c9e9de
Notes: sideshowbarker 2024-07-17 16:30:58 +09:00
2 changed files with 17 additions and 14 deletions

View file

@ -200,6 +200,7 @@ target_link_libraries(test-bindtodevice LibMain)
target_link_libraries(test-fuzz LibCore LibGemini LibGfx LibHTTP LibIPC LibJS LibMarkdown LibShell LibMain) target_link_libraries(test-fuzz LibCore LibGemini LibGfx LibHTTP LibIPC LibJS LibMarkdown LibShell LibMain)
target_link_libraries(test-imap LibIMAP LibMain) target_link_libraries(test-imap LibIMAP LibMain)
target_link_libraries(test-pthread LibThreading LibMain) target_link_libraries(test-pthread LibThreading LibMain)
target_link_libraries(test-unveil LibMain)
target_link_libraries(timezone LibMain) target_link_libraries(timezone LibMain)
target_link_libraries(top LibMain) target_link_libraries(top LibMain)
target_link_libraries(touch LibMain) target_link_libraries(touch LibMain)

View file

@ -1,20 +1,19 @@
/* /*
* Copyright (c) 2020, the SerenityOS developers. * Copyright (c) 2020-2022, the SerenityOS developers.
* *
* SPDX-License-Identifier: BSD-2-Clause * SPDX-License-Identifier: BSD-2-Clause
*/ */
#include <LibCore/ArgsParser.h> #include <LibCore/ArgsParser.h>
#include <errno.h> #include <LibCore/System.h>
#include <LibMain/Main.h>
#include <limits.h> #include <limits.h>
#include <stdio.h>
#include <string.h>
#include <unistd.h> #include <unistd.h>
int main(int argc, char** argv) ErrorOr<int> serenity_main(Main::Arguments arguments)
{ {
Vector<StringView> paths_to_test; Vector<StringView> paths_to_test;
const char* permissions = "r"; StringView permissions = "r"sv;
bool should_sleep = false; bool should_sleep = false;
Core::ArgsParser parser; Core::ArgsParser parser;
@ -30,8 +29,9 @@ int main(int argc, char** argv)
StringView path { s }; StringView path { s };
if (path.is_empty()) if (path.is_empty())
return false; return false;
if (unveil(s, permissions) < 0) { auto maybe_error = Core::System::unveil(path, permissions);
perror("unveil"); if (maybe_error.is_error()) {
warnln("{}", maybe_error.error());
return false; return false;
} }
return true; return true;
@ -42,8 +42,9 @@ int main(int argc, char** argv)
.long_name = "lock", .long_name = "lock",
.short_name = 'l', .short_name = 'l',
.accept_value = [&](auto*) { .accept_value = [&](auto*) {
if (unveil(nullptr, nullptr) < 0) { auto maybe_error = Core::System::unveil(nullptr, nullptr);
perror("unveil(nullptr, nullptr)"); if (maybe_error.is_error()) {
warnln("unveil(nullptr, nullptr): {}", maybe_error.error());
return false; return false;
} }
return true; return true;
@ -54,14 +55,15 @@ int main(int argc, char** argv)
.min_values = 0, .min_values = 0,
.max_values = INT_MAX, .max_values = INT_MAX,
.accept_value = [&](auto* s) { .accept_value = [&](auto* s) {
if (access(s, X_OK) == 0) auto maybe_error = Core::System::access(s, X_OK);
warnln("'{}' - ok", s); if (maybe_error.is_error())
warnln("'{}' - fail: {}", s, maybe_error.error());
else else
warnln("'{}' - fail: {}", s, strerror(errno)); warnln("'{}' - ok", s);
return true; return true;
} }); } });
parser.parse(argc, argv); parser.parse(arguments);
if (should_sleep) if (should_sleep)
sleep(INT_MAX); sleep(INT_MAX);
return 0; return 0;