diff --git a/Userland/Libraries/LibTest/JavaScriptTestRunner.h b/Userland/Libraries/LibTest/JavaScriptTestRunner.h index 5b25df2c2b..b9d34b5d14 100644 --- a/Userland/Libraries/LibTest/JavaScriptTestRunner.h +++ b/Userland/Libraries/LibTest/JavaScriptTestRunner.h @@ -18,6 +18,7 @@ #include #include #include +#include #include #include #include @@ -210,14 +211,20 @@ inline void TestRunnerGlobalObject::initialize_global_object() inline ByteBuffer load_entire_file(StringView path) { - auto file_or_error = Core::File::open(path, Core::OpenMode::ReadOnly); - if (file_or_error.is_error()) { - warnln("Failed to open the following file: \"{}\"", path); + auto try_load_entire_file = [](StringView const& path) -> ErrorOr { + auto file = TRY(Core::Stream::File::open(path, Core::Stream::OpenMode::Read)); + auto file_size = TRY(file->size()); + auto content = TRY(ByteBuffer::create_uninitialized(file_size)); + TRY(file->read(content.bytes())); + return content; + }; + + auto buffer_or_error = try_load_entire_file(path); + if (buffer_or_error.is_error()) { + warnln("Failed to open the following file: \"{}\", error: {}", path, buffer_or_error.release_error()); cleanup_and_exit(); } - - auto file = file_or_error.release_value(); - return file->read_all(); + return buffer_or_error.release_value(); } inline AK::Result, ParserError> parse_script(StringView path, JS::Realm& realm)