]> git.ipfire.org Git - thirdparty/postgresql.git/commit
Convert src/tools/testint128.c into a test module.
authorDean Rasheed <dean.a.rasheed@gmail.com>
Wed, 6 Aug 2025 08:41:11 +0000 (09:41 +0100)
committerDean Rasheed <dean.a.rasheed@gmail.com>
Wed, 6 Aug 2025 08:41:11 +0000 (09:41 +0100)
commit8c7445a008109100f9784ea2d8e02cb6769dfb09
tree3087681a5833536c93f7b773feb93ec8f8364e3d
parent225ebfe30a1ae9fda74f3d8f98ea6fa511b60624
Convert src/tools/testint128.c into a test module.

This creates a new test module src/test/modules/test_int128 and moves
src/tools/testint128.c into it so that it can be built using the
normal build system, allowing the 128-bit integer arithmetic functions
in src/include/common/int128.h to be tested automatically. For now,
the tests are skipped on platforms that don't have native int128
support.

While at it, fix the test128 union in the test code: the "hl" member
of test128 was incorrectly defined to be a union instead of a struct,
which meant that the tests were only ever setting and checking half of
each 128-bit integer value.

Author: Dean Rasheed <dean.a.rasheed@gmail.com>
Reviewed-by: John Naylor <johncnaylorls@gmail.com>
Discussion: https://postgr.es/m/CAEZATCWgBMc9ZwKMYqQpaQz2X6gaamYRB+RnMsUNcdMcL2Mj_w@mail.gmail.com
src/include/common/int128.h
src/test/modules/Makefile
src/test/modules/meson.build
src/test/modules/test_int128/.gitignore [new file with mode: 0644]
src/test/modules/test_int128/Makefile [new file with mode: 0644]
src/test/modules/test_int128/meson.build [new file with mode: 0644]
src/test/modules/test_int128/t/001_test_int128.pl [new file with mode: 0644]
src/test/modules/test_int128/test_int128.c [moved from src/tools/testint128.c with 70% similarity]