summaryrefslogtreecommitdiff
path: root/Tests
AgeCommit message (Collapse)Author
2021-10-22LibC: Fix up mblenTim Schumacher
2021-10-22LibC: Fix up mbtowcTim Schumacher
One more proper implementation and one less FIXME.
2021-10-22Tests: Add a unit test to ensure the /dev/mem device works correctlyLiav A
To ensure everything works as expected, a unit test was added with multiple scenarios. This binary has to have the SetUID flag, and we also bind-mount the /usr/Tests directory to allow running of SetUID binaries.
2021-10-21LibC: Implement mbsnrtowcsTim Schumacher
2021-10-21LibC: Implement wcsnrtombsTim Schumacher
2021-10-21LibC: Implement mbrlenTim Schumacher
2021-10-20LibJS: Convert test-js/test-web/test-wasm to ThrowCompletionOrIdan Horowitz
2021-10-20LibJS: Rename define_native_function => define_old_native_functionIdan Horowitz
This method will eventually be removed once all native functions are converted to ThrowCompletionOr
2021-10-20LibJS: Add ThrowCompletionOr versions of the JS native function macrosIdan Horowitz
The old versions were renamed to JS_DECLARE_OLD_NATIVE_FUNCTION and JS_DEFINE_OLD_NATIVE_FUNCTION, and will be eventually removed once all native functions were converted to the new format.
2021-10-17Tests: Remove Clang workaround from TestSourceLocationDaniel Bertalan
Clang 13 now correctly handles `__builtin_FILE()` and `-ffile-prefix-map` being specified together, so this test should fully pass.
2021-10-17LibC: Implement wcslcpyDaniel Bertalan
2021-10-17LibJS: Convert to_double() to ThrowCompletionOrIdan Horowitz
2021-10-17LibJS: Convert to_bigint_int64() to ThrowCompletionOrIdan Horowitz
2021-10-15LibC: Implement mbsrtowcsTim Schumacher
2021-10-15LibC: Implement wcsrtombsTim Schumacher
2021-10-15LibC: Implement wcrtombDaniel Bertalan
This function converts a single wide character into its multibyte representation (UTF-8 in our case). It is called from libc++'s `std::basic_ostream<wchar_t>::flush`, which gets called at program exit from a global destructor in order to flush `std::wcout`.
2021-10-15LibC: Implement twalkTim Schumacher
2021-10-15LibC: Implement tfind and tsearchTim Schumacher
2021-10-13LibJS: Convert to_object() to ThrowCompletionOrLinus Groh
2021-10-13LibJS: Convert to_string() to ThrowCompletionOrLinus Groh
Also update get_function_name() to use ThrowCompletionOr, but this is not a standard AO and should be refactored out of existence eventually.
2021-10-10AK: Implement a way to resolve relative paths lexicallyBen Wiederhake
2021-10-08Tests: Fix -Wunreachable-code warnings from clangNico Weber
2021-10-06Tests: Disable LibThreading detach tests for nowAndreas Kling
These tests don't pass (at least not without KVM) at the moment, so let's not run them on CI.
2021-10-06Tests: Add LibThreading to CMakeLists.txtJunior Rantila
2021-10-06LibELF: Fix dynamic linking of dlopen()-ed libsRodrigo Tobar
Consider the situation where two shared libraries libA and libB, both depending (as in having a NEEDED dtag) on libC. libA is first dlopen()-ed, which produces libC to be mapped and linked. When libB is dlopen()-ed the DynamicLinker would re-map and re-link libC though, causing any previous references to its old location to be invalid. And if libA's PLT has been patched to point to libC's symbols, then any further invocations to libA will cause the code to jump to a virtual address that isn't mapped anymore, therefore causing a crash. This situation was reported in #10014, although the setup was more convolved in the ticket. This commit fixes the issue by distinguishing between a main program loading being performed by Loader.so, and a dlopen() call. The main difference between these two cases is that in the former the s_globals_objects maps is always empty, while in the latter it might already contain dependencies for the library being dlopen()-ed. Hence, when collecting dependencies to map and link, dlopen() should skip those that are present in the global map to avoid the issue described above. With this patch the original issue seen in #10014 is gone, with all python3 modules (so far) loading correctly. A unit test reproducing a simplified issue is also included in this commit. The unit test includes the building of two dynamic libraries A and B with both depending on libline.so (and B also depending on A); the test then dlopen()s libA, invokes one its function, then does the same with libB.
2021-10-04LibSQL: Add an INSERT without column names testMahmoud Mandour
This adds a passing test of an insert statement that contains no column names and assumes full tuple input
2021-10-04LibSQL: Test INSERT statement with wrong number of valuesMahmoud Mandour
2021-10-04LibSQL: Test INSERT statement with wrong data typesMahmoud Mandour
2021-10-04LibSQL: Check NoError individually in execution testsMahmoud Mandour
This enables tests to check that a statement is erroneous, we could not do so by only calling `execute()` since it asserted that no errors occurred.
2021-10-04Everywhere: Fix more Copyright header inconsistenciesTim Schumacher
2021-10-03LibRegex: Use a match table for character classesAli Mohammad Pur
Generate a sorted, compressed series of ranges in a match table for character classes, and use a binary search to find the matches. This is about a 3-4x speedup for character class match performance. :^)
2021-10-03LibJS: Add a specific test for invalid unicode characters in the lexerdavidot
Also fixes that it tried to make substrings past the end of the source if we overran the source length.
2021-10-03Tests: Add tests for mbrtowcTim Schumacher
2021-10-03AK: Add a basic formatter for wchar_tTim Schumacher
2021-10-03Tests: Add a test for mbsinitTim Schumacher
2021-10-03LibC: Implement wmemmoveTim Schumacher
2021-10-03LibC: Implement wmemsetTim Schumacher
2021-10-03LibC: Implement wmemcpyTim Schumacher
2021-10-03LibC: Implement wmemchrTim Schumacher
2021-10-03LibC: Implement wcsstrTim Schumacher
2021-10-03LibC: Implement wcspbrkTim Schumacher
2021-10-01Kernel: Move x86 IO instructions code into the x86 specific folderLiav A
2021-10-01Tests: Fix typosNico Weber
2021-09-30LibJS + test-js: Get results from the global object directlydavidot
This is as the spec would require you to do it and necessary for changes to come in the following commits.
2021-09-28LibPthread: Add first test cases for RWlockRodrigo Tobar
2021-09-25LibWeb: Rename HTMLDocumentParser => HTMLParserAndreas Kling
2021-09-21AK: Introduce ability to default-initialize a VariantBen Wiederhake
I noticed that Variant<Empty, …> is a somewhat common pattern while working on #10080, and this will simplify a few use-cases. :^)
2021-09-19LibTLS: Use a setter for on_tls_ready_to_write with some more smartsAli Mohammad Pur
The callback should be called as soon as the connection is established, and if we actually set the callback when it already is, we expect it to be called immediately.
2021-09-19Tests: Conform font tests to new font formatthankyouverycool
2021-09-18AK: Make Utf8View constructors inline and remove C string constructorAndreas Kling
Using StringView instead of C strings is basically always preferable. The only reason to use a C string is because you are calling a C API.