ladybird/Tests
Timothy Flynn 72e41a7dbd LibSQL: Support 64-bit integer values and handle overflow errors
Currently, integers are stored in LibSQL as 32-bit signed integers, even
if the provided type is unsigned. This resulted in a series of unchecked
unsigned-to-signed conversions, and prevented storing 64-bit values.
Further, mathematical operations were performed without similar checks,
and without checking for overflow.

This changes SQL::Value to behave like SQLite for INTEGER types. In
SQLite, the INTEGER type does not imply a size or signedness of the
underlying type. Instead, SQLite determines on-the-fly what type is
needed as values are created and updated.

To do so, the SQL::Value variant can now hold an i64 or u64 integer. If
a specific type is requested, invalid conversions are now explictly an
error (e.g. converting a stored -1 to a u64 will fail). When binary
mathematical operations are performed, we now try to coerce the RHS
value to a type that works with the LHS value, failing the operation if
that isn't possible. Any overflow or invalid operation (e.g. bitshifting
a 64-bit value by more than 64 bytes) is an error.
2022-12-14 09:21:30 -05:00
..
AK Everywhere: Stop shoving things into ::std and mentioning them as such 2022-12-14 11:44:32 +01:00
Kernel Kernel+LibC+Tests: Implement pwritev(2) 2022-12-11 19:55:37 -07:00
LibAudio Everywhere: Stop shoving things into ::std and mentioning them as such 2022-12-14 11:44:32 +01:00
LibC AK+Everywhere: Rename String to DeprecatedString 2022-12-06 08:54:33 +01:00
LibCompress LibCompress: Port DeflateDecompressor to Core::Stream 2022-12-12 16:21:39 +00:00
LibCore LibCore: Propagate errors from Stream::*_entire_buffer 2022-12-12 14:16:42 +01:00
LibCpp LibCore: Propagate errors from Stream::*_entire_buffer 2022-12-12 14:16:42 +01:00
LibCrypto AK+Everywhere: Rename String to DeprecatedString 2022-12-06 08:54:33 +01:00
LibEDID LibEDID: Fix handling extension maps 2022-01-24 19:29:06 +00:00
LibELF AK+Everywhere: Rename String to DeprecatedString 2022-12-06 08:54:33 +01:00
LibGfx AK+Everywhere: Rename String to DeprecatedString 2022-12-06 08:54:33 +01:00
LibGL AK+Everywhere: Rename String to DeprecatedString 2022-12-06 08:54:33 +01:00
LibIMAP Everywhere: Rename to_{string => deprecated_string}() where applicable 2022-12-06 08:54:33 +01:00
LibJS LibCore: Propagate errors from Stream::*_entire_buffer 2022-12-12 14:16:42 +01:00
LibLocale AK+Everywhere: Rename String to DeprecatedString 2022-12-06 08:54:33 +01:00
LibMarkdown LibCore: Propagate errors from Stream::*_entire_buffer 2022-12-12 14:16:42 +01:00
LibPDF AK+Everywhere: Rename String to DeprecatedString 2022-12-06 08:54:33 +01:00
LibRegex Everywhere: Rename to_{string => deprecated_string}() where applicable 2022-12-06 08:54:33 +01:00
LibSQL LibSQL: Support 64-bit integer values and handle overflow errors 2022-12-14 09:21:30 -05:00
LibTest LibTest: Add EXPECT_NO_CRASH 2021-12-19 14:22:06 -08:00
LibTextCodec Everywhere: Add sv suffix to strings relying on StringView(char const*) 2022-07-12 23:11:35 +02:00
LibThreading Tests: Update thread tests and make them pass 2022-12-11 19:07:20 -07:00
LibTimeZone LibTimeZone+LibJS: Update to TZDB version 2022e 2022-10-18 16:01:44 +02:00
LibTLS LibCore: Propagate errors from Stream::*_entire_buffer 2022-12-12 14:16:42 +01:00
LibTTF LibGfx: Move TTF files from TrueTypeFont/ to Font/TrueType/ 2022-04-09 23:48:18 +02:00
LibUnicode LibUnicode: Update code point ideographic replacements for Unicode 15 2022-10-07 18:17:40 +01:00
LibVideo LibVideo: Read Matroska lazily so that large files can start quickly 2022-11-25 23:28:39 +01:00
LibWasm LibJS: Remove Object(Object& prototype) footgun 2022-12-14 15:11:57 +01:00
LibWeb Everywhere: Rename to_{string => deprecated_string}() where applicable 2022-12-06 08:54:33 +01:00
LibXML Everywhere: Add sv suffix to strings relying on StringView(char const*) 2022-07-12 23:11:35 +02:00
Spreadsheet Everywhere: Rename to_{string => deprecated_string}() where applicable 2022-12-06 08:54:33 +01:00
UserspaceEmulator Everywhere: Mark dependencies of most targets as PRIVATE 2022-11-01 14:49:09 +00:00
CMakeLists.txt LibVideo: Add test to ensure that a VP9 WebM file will decode 2022-10-09 20:32:40 -06:00