1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-27 15:47:45 +00:00

LibCore: Move Stream-based file into the Core namespace

This commit is contained in:
Tim Schumacher 2023-02-09 03:02:46 +01:00 committed by Linus Groh
parent a96339b72b
commit 606a3982f3
218 changed files with 748 additions and 643 deletions

View file

@ -7,6 +7,7 @@
#include <LibTest/TestCase.h>
#include <LibCompress/Brotli.h>
#include <LibCore/File.h>
#include <LibCore/Stream.h>
static void run_test(StringView const file_name)
@ -18,12 +19,12 @@ static void run_test(StringView const file_name)
DeprecatedString path = DeprecatedString::formatted("brotli-test-files/{}", file_name);
#endif
auto cmp_file = MUST(Core::Stream::File::open(path, Core::Stream::OpenMode::Read));
auto cmp_file = MUST(Core::File::open(path, Core::File::OpenMode::Read));
auto cmp_data = MUST(cmp_file->read_until_eof());
DeprecatedString path_compressed = DeprecatedString::formatted("{}.br", path);
auto file = MUST(Core::Stream::File::open(path_compressed, Core::Stream::OpenMode::Read));
auto file = MUST(Core::File::open(path_compressed, Core::File::OpenMode::Read));
auto brotli_stream = Compress::BrotliDecompressionStream { *file };
auto data = MUST(brotli_stream.read_until_eof());
@ -96,7 +97,7 @@ TEST_CASE(brotli_decompress_zero_one_bin)
DeprecatedString path_compressed = DeprecatedString::formatted("{}.br", path);
auto file = MUST(Core::Stream::File::open(path_compressed, Core::Stream::OpenMode::Read));
auto file = MUST(Core::File::open(path_compressed, Core::File::OpenMode::Read));
auto brotli_stream = Compress::BrotliDecompressionStream { *file };
u8 buffer_raw[4096];

View file

@ -8,6 +8,7 @@
#include <AK/MaybeOwned.h>
#include <AK/String.h>
#include <LibCore/EventLoop.h>
#include <LibCore/File.h>
#include <LibCore/LocalServer.h>
#include <LibCore/Socket.h>
#include <LibCore/Stream.h>
@ -23,7 +24,7 @@
TEST_CASE(file_open)
{
auto maybe_file = Core::Stream::File::open("/tmp/file-open-test.txt"sv, Core::Stream::OpenMode::Write);
auto maybe_file = Core::File::open("/tmp/file-open-test.txt"sv, Core::File::OpenMode::Write);
if (maybe_file.is_error()) {
warnln("Failed to open the file: {}", strerror(maybe_file.error().code()));
VERIFY_NOT_REACHED();
@ -41,7 +42,7 @@ TEST_CASE(file_open)
TEST_CASE(file_write_bytes)
{
auto maybe_file = Core::Stream::File::open("/tmp/file-write-bytes-test.txt"sv, Core::Stream::OpenMode::Write);
auto maybe_file = Core::File::open("/tmp/file-write-bytes-test.txt"sv, Core::File::OpenMode::Write);
auto file = maybe_file.release_value();
constexpr auto some_words = "These are some words"sv;
@ -54,7 +55,7 @@ constexpr auto expected_buffer_contents = "&lt;small&gt;(Please consider transla
TEST_CASE(file_read_bytes)
{
auto maybe_file = Core::Stream::File::open("/usr/Tests/LibCore/long_lines.txt"sv, Core::Stream::OpenMode::Read);
auto maybe_file = Core::File::open("/usr/Tests/LibCore/long_lines.txt"sv, Core::File::OpenMode::Read);
EXPECT(!maybe_file.is_error());
auto file = maybe_file.release_value();
@ -76,7 +77,7 @@ constexpr auto expected_seek_contents3 = "levels of advanc"sv;
TEST_CASE(file_seeking_around)
{
auto maybe_file = Core::Stream::File::open("/usr/Tests/LibCore/long_lines.txt"sv, Core::Stream::OpenMode::Read);
auto maybe_file = Core::File::open("/usr/Tests/LibCore/long_lines.txt"sv, Core::File::OpenMode::Read);
EXPECT(!maybe_file.is_error());
auto file = maybe_file.release_value();
@ -109,7 +110,7 @@ TEST_CASE(file_adopt_fd)
int rc = ::open("/usr/Tests/LibCore/long_lines.txt", O_RDONLY);
EXPECT(rc >= 0);
auto maybe_file = Core::Stream::File::adopt_fd(rc, Core::Stream::OpenMode::Read);
auto maybe_file = Core::File::adopt_fd(rc, Core::File::OpenMode::Read);
EXPECT(!maybe_file.is_error());
auto file = maybe_file.release_value();
@ -131,14 +132,14 @@ TEST_CASE(file_adopt_fd)
TEST_CASE(file_adopt_invalid_fd)
{
auto maybe_file = Core::Stream::File::adopt_fd(-1, Core::Stream::OpenMode::Read);
auto maybe_file = Core::File::adopt_fd(-1, Core::File::OpenMode::Read);
EXPECT(maybe_file.is_error());
EXPECT_EQ(maybe_file.error().code(), EBADF);
}
TEST_CASE(file_truncate)
{
auto maybe_file = Core::Stream::File::open("/tmp/file-truncate-test.txt"sv, Core::Stream::OpenMode::Write);
auto maybe_file = Core::File::open("/tmp/file-truncate-test.txt"sv, Core::File::OpenMode::Write);
auto file = maybe_file.release_value();
EXPECT(!file->truncate(999).is_error());
@ -420,9 +421,9 @@ TEST_CASE(local_socket_write)
TEST_CASE(buffered_long_file_read)
{
auto maybe_file = Core::Stream::File::open("/usr/Tests/LibCore/long_lines.txt"sv, Core::Stream::OpenMode::Read);
auto maybe_file = Core::File::open("/usr/Tests/LibCore/long_lines.txt"sv, Core::File::OpenMode::Read);
EXPECT(!maybe_file.is_error());
auto maybe_buffered_file = Core::Stream::BufferedFile::create(maybe_file.release_value());
auto maybe_buffered_file = Core::BufferedFile::create(maybe_file.release_value());
EXPECT(!maybe_buffered_file.is_error());
auto file = maybe_buffered_file.release_value();
@ -442,9 +443,9 @@ TEST_CASE(buffered_long_file_read)
TEST_CASE(buffered_small_file_read)
{
auto maybe_file = Core::Stream::File::open("/usr/Tests/LibCore/small.txt"sv, Core::Stream::OpenMode::Read);
auto maybe_file = Core::File::open("/usr/Tests/LibCore/small.txt"sv, Core::File::OpenMode::Read);
EXPECT(!maybe_file.is_error());
auto maybe_buffered_file = Core::Stream::BufferedFile::create(maybe_file.release_value());
auto maybe_buffered_file = Core::BufferedFile::create(maybe_file.release_value());
EXPECT(!maybe_buffered_file.is_error());
auto file = maybe_buffered_file.release_value();
@ -471,8 +472,8 @@ TEST_CASE(buffered_small_file_read)
TEST_CASE(buffered_file_tell_and_seek)
{
// We choose a buffer size of 12 bytes to cover half of the input file.
auto file = Core::Stream::File::open("/usr/Tests/LibCore/small.txt"sv, Core::Stream::OpenMode::Read).release_value();
auto buffered_file = Core::Stream::BufferedFile::create(move(file), 12).release_value();
auto file = Core::File::open("/usr/Tests/LibCore/small.txt"sv, Core::File::OpenMode::Read).release_value();
auto buffered_file = Core::BufferedFile::create(move(file), 12).release_value();
// Initial state.
{

View file

@ -6,6 +6,7 @@
#include <AK/LexicalPath.h>
#include <LibCore/DirIterator.h>
#include <LibCore/File.h>
#include <LibCore/Stream.h>
#include <LibCpp/Parser.h>
#include <LibTest/TestCase.h>
@ -15,7 +16,7 @@ constexpr char TESTS_ROOT_DIR[] = "/home/anon/Tests/cpp-tests/parser";
static DeprecatedString read_all(DeprecatedString const& path)
{
auto file = MUST(Core::Stream::File::open(path, Core::Stream::OpenMode::Read));
auto file = MUST(Core::File::open(path, Core::File::OpenMode::Read));
auto file_size = MUST(file->size());
auto content = MUST(ByteBuffer::create_uninitialized(file_size));
MUST(file->read_entire_buffer(content.bytes()));

View file

@ -6,6 +6,7 @@
#include <AK/LexicalPath.h>
#include <LibCore/DirIterator.h>
#include <LibCore/File.h>
#include <LibCore/Stream.h>
#include <LibCpp/Parser.h>
#include <LibTest/TestCase.h>
@ -14,7 +15,7 @@ constexpr char TESTS_ROOT_DIR[] = "/home/anon/Tests/cpp-tests/preprocessor";
static DeprecatedString read_all(DeprecatedString const& path)
{
auto file = MUST(Core::Stream::File::open(path, Core::Stream::OpenMode::Read));
auto file = MUST(Core::File::open(path, Core::File::OpenMode::Read));
auto file_size = MUST(file->size());
auto content = MUST(ByteBuffer::create_uninitialized(file_size));
MUST(file->read_entire_buffer(content.bytes()));

View file

@ -7,6 +7,7 @@
#include <AK/DeprecatedString.h>
#include <AK/LexicalPath.h>
#include <LibCore/File.h>
#include <LibCore/Stream.h>
#include <LibGL/GL/gl.h>
#include <LibGL/GLContext.h>
@ -36,7 +37,7 @@ static void expect_bitmap_equals_reference(Gfx::Bitmap const& bitmap, StringView
if constexpr (SAVE_OUTPUT) {
auto target_path = LexicalPath("/home/anon").append(reference_filename);
auto qoi_buffer = Gfx::QOIWriter::encode(bitmap);
auto qoi_output_stream = MUST(Core::Stream::File::open(target_path.string(), Core::Stream::OpenMode::Write));
auto qoi_output_stream = MUST(Core::File::open(target_path.string(), Core::File::OpenMode::Write));
MUST(qoi_output_stream->write_entire_buffer(qoi_buffer));
}

View file

@ -14,6 +14,7 @@
#include <AK/Vector.h>
#include <LibCore/ArgsParser.h>
#include <LibCore/DeprecatedFile.h>
#include <LibCore/File.h>
#include <LibCore/Process.h>
#include <LibCore/Stream.h>
#include <LibCore/System.h>
@ -131,16 +132,16 @@ public:
TRY(Core::System::close(write_pipe_fds[0]));
TRY(Core::System::close(read_pipe_fds[1]));
auto infile = TRY(Core::Stream::File::adopt_fd(read_pipe_fds[0], Core::Stream::OpenMode::Read));
auto infile = TRY(Core::File::adopt_fd(read_pipe_fds[0], Core::File::OpenMode::Read));
auto outfile = TRY(Core::Stream::File::adopt_fd(write_pipe_fds[1], Core::Stream::OpenMode::Write));
auto outfile = TRY(Core::File::adopt_fd(write_pipe_fds[1], Core::File::OpenMode::Write));
runner_kill.disarm();
return make<Test262RunnerHandler>(pid, move(infile), move(outfile));
}
Test262RunnerHandler(pid_t pid, NonnullOwnPtr<Core::Stream::File> in_file, NonnullOwnPtr<Core::Stream::File> out_file)
Test262RunnerHandler(pid_t pid, NonnullOwnPtr<Core::File> in_file, NonnullOwnPtr<Core::File> out_file)
: m_pid(pid)
, m_input(move(in_file))
, m_output(move(out_file))
@ -218,8 +219,8 @@ public:
public:
pid_t m_pid;
NonnullOwnPtr<Core::Stream::File> m_input;
NonnullOwnPtr<Core::Stream::File> m_output;
NonnullOwnPtr<Core::File> m_input;
NonnullOwnPtr<Core::File> m_output;
};
static ErrorOr<HashMap<size_t, TestResult>> run_test_files(Span<DeprecatedString> files, size_t offset, StringView command, char const* const arguments[])
@ -411,7 +412,7 @@ ErrorOr<int> serenity_main(Main::Arguments arguments)
void write_per_file(HashMap<size_t, TestResult> const& result_map, Vector<DeprecatedString> const& paths, StringView per_file_name, double time_taken_in_ms)
{
auto file_or_error = Core::Stream::File::open(per_file_name, Core::Stream::OpenMode::Write);
auto file_or_error = Core::File::open(per_file_name, Core::File::OpenMode::Write);
if (file_or_error.is_error()) {
warnln("Failed to open per file for writing at {}: {}", per_file_name, file_or_error.error().string_literal());
return;

View file

@ -12,6 +12,7 @@
#include <AK/ScopeGuard.h>
#include <AK/Vector.h>
#include <LibCore/ArgsParser.h>
#include <LibCore/File.h>
#include <LibCore/Stream.h>
#include <LibJS/Bytecode/BasicBlock.h>
#include <LibJS/Bytecode/Generator.h>
@ -139,7 +140,7 @@ static Result<StringView, TestError> read_harness_file(StringView harness_file)
{
auto cache = s_cached_harness_files.find(harness_file);
if (cache == s_cached_harness_files.end()) {
auto file_or_error = Core::Stream::File::open(DeprecatedString::formatted("{}{}", s_harness_file_directory, harness_file), Core::Stream::OpenMode::Read);
auto file_or_error = Core::File::open(DeprecatedString::formatted("{}{}", s_harness_file_directory, harness_file), Core::File::OpenMode::Read);
if (file_or_error.is_error()) {
return TestError {
NegativePhase::Harness,
@ -679,12 +680,12 @@ int main(int argc, char** argv)
#define DISARM_TIMER() \
alarm(0)
auto standard_input_or_error = Core::Stream::File::standard_input();
auto standard_input_or_error = Core::File::standard_input();
if (standard_input_or_error.is_error())
return exit_setup_input_failure;
Array<u8, 1024> input_buffer {};
auto buffered_standard_input_or_error = Core::Stream::BufferedFile::create(standard_input_or_error.release_value());
auto buffered_standard_input_or_error = Core::BufferedFile::create(standard_input_or_error.release_value());
if (buffered_standard_input_or_error.is_error())
return exit_setup_input_failure;
@ -708,7 +709,7 @@ int main(int argc, char** argv)
VERIFY(!s_harness_file_directory.is_empty());
}
auto file_or_error = Core::Stream::File::open(path, Core::Stream::OpenMode::Read);
auto file_or_error = Core::File::open(path, Core::File::OpenMode::Read);
if (file_or_error.is_error()) {
warnln("Could not open file: {}", path);
return exit_read_file_failure;

View file

@ -8,6 +8,7 @@
#include <AK/JsonArray.h>
#include <AK/JsonObject.h>
#include <AK/JsonParser.h>
#include <LibCore/File.h>
#include <LibCore/Stream.h>
#include <LibMarkdown/Document.h>
#include <LibTest/TestCase.h>
@ -15,9 +16,9 @@
TEST_SETUP
{
auto file_or_error = Core::Stream::File::open("/home/anon/Tests/commonmark.spec.json"sv, Core::Stream::OpenMode::Read);
auto file_or_error = Core::File::open("/home/anon/Tests/commonmark.spec.json"sv, Core::File::OpenMode::Read);
if (file_or_error.is_error())
file_or_error = Core::Stream::File::open("./commonmark.spec.json"sv, Core::Stream::OpenMode::Read);
file_or_error = Core::File::open("./commonmark.spec.json"sv, Core::File::OpenMode::Read);
VERIFY(!file_or_error.is_error());
auto file = file_or_error.release_value();
auto file_size = MUST(file->size());

View file

@ -17,7 +17,7 @@ TESTJS_GLOBAL_FUNCTION(read_binary_wasm_file, readBinaryWasmFile)
{
auto& realm = *vm.current_realm();
auto filename = TRY(vm.argument(0).to_deprecated_string(vm));
auto file = Core::Stream::File::open(filename, Core::Stream::OpenMode::Read);
auto file = Core::File::open(filename, Core::File::OpenMode::Read);
if (file.is_error())
return vm.throw_completion<JS::TypeError>(strerror(file.error().code()));

View file

@ -6,6 +6,7 @@
#include <LibTest/TestCase.h>
#include <LibCore/File.h>
#include <LibCore/Stream.h>
#include <LibWeb/HTML/Parser/HTMLTokenizer.h>
@ -208,7 +209,7 @@ TEST_CASE(regression)
StringView path = "tokenizer-test.html"sv;
#endif
auto file = MUST(Core::Stream::File::open(path, Core::Stream::OpenMode::Read));
auto file = MUST(Core::File::open(path, Core::File::OpenMode::Read));
auto file_size = MUST(file->size());
auto content = MUST(ByteBuffer::create_uninitialized(file_size));
MUST(file->read(content.bytes()));