mirror of
https://github.com/X11Libre/xserver.git
synced 2026-11-15 05:23:40 +00:00
Some checks failed
Build X servers / ubuntu-fetch-pkg (push) Has been cancelled
Build X servers / xserver-build-ubuntu-no-gbm (push) Has been cancelled
Build X servers / xserver-build-ubuntu (push) Has been cancelled
Build X servers / abi-changes-check (push) Has been cancelled
Build X servers / drivers-prepare-ubuntu (push) Has been cancelled
Build X servers / drivers-build-ubuntu (input-elographics:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (input-evdev:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (input-joystick:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (input-keyboard:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (input-libinput:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (input-mouse:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (input-synaptics:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (input-vmmouse:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (input-void:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (input-wacom:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-amdgpu:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-apm:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-ark:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-ast:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-ati:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-chips:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-cirrus:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-dummy:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-fbdev:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-freedreno:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-geode:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-i128:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-i740:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-intel:25.0.1) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-mach64:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-mga:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-neomagic:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-nested:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-nouveau:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-nv:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-omap:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-qxl:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-r128:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-rendition:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-s3virge:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-savage:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-siliconmotion:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-sis:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-sisusb:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-suncg14:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-suncg3:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-suncg6:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-sunffb:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-sunleo:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-suntcx:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-tdfx:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-trident:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-v4l:25.0.1) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-vbox:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-vesa:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-vmware:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-voodoo:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-xgi:25.0.0) (push) Has been cancelled
Build X servers / xserver-build-mingw32-ubuntu (push) Has been cancelled
Build X servers / xserver-build-macos (push) Has been cancelled
Build X servers / xserver-build-freebsd (push) Has been cancelled
Build X servers / xserver-build-dragonflybsd (push) Has been cancelled
Build X servers / xserver-build-netbsd (push) Has been cancelled
Build X servers / xserver-build-alpine (push) Has been cancelled
Build X servers / xserver-build-cygwin (push) Has been cancelled
Build X servers / xserver-build-arch (push) Has been cancelled
Build X servers / Check Signed-Off-By (push) Has been cancelled
Build X servers / Release pushed tag (push) Has been cancelled
check PRs for merge conflicts / notify (push) Has been cancelled
Add regression tests for xorg_list operations on a *zero-initialized* list head (next == prev == NULL), i.e. a head embedded in a calloc()'d struct that was never run through xorg_list_init(). Covers the paths hardened in the preceding commit, so the gap found while repairing #1639 (a never-init'd client->saveSets crashing DeleteWindowFromAnySaveSet() via xorg_list_for_each_entry_safe()) cannot silently regress: - xorg_list_del() on a zeroed head (the documented "reset to empty list") - xorg_list_for_each_entry_safe() over a zeroed/empty head - add + safe-delete drain starting from a zeroed head Without the macro fix these dereference NULL and crash; run_test_in_child() forks per test, so the crash surfaces as a unit-test failure (verified: the test fails at both -O0 and -O2 on the pre-fix tree, passes with the fix). Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net> Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
53 lines
1.9 KiB
C
53 lines
1.9 KiB
C
#ifndef TESTS_H
|
|
#define TESTS_H
|
|
|
|
extern int verbose;
|
|
#define dbg(...) if (verbose) printf("DBG" __VA_ARGS__);
|
|
|
|
#define DECLARE_WRAP_FUNCTION(f_, rval_, ...) \
|
|
extern rval_ (*wrapped_ ## f_)(__VA_ARGS__) \
|
|
|
|
#define IMPLEMENT_WRAP_FUNCTION(f_, ...) \
|
|
if (wrapped_ ## f_) wrapped_ ## f_(__VA_ARGS__); \
|
|
else __real_ ## f_(__VA_ARGS__)
|
|
|
|
#define IMPLEMENT_WRAP_FUNCTION_WITH_RETURN(f_, ...) \
|
|
if (wrapped_ ## f_) return wrapped_ ## f_(__VA_ARGS__); \
|
|
else return __real_ ## f_(__VA_ARGS__)
|
|
|
|
#define WRAP_FUNCTION(f_, rval_, ...) \
|
|
rval_ (*wrapped_ ## f_)(__VA_ARGS__); \
|
|
extern rval_ __real_ ## f_(__VA_ARGS__); \
|
|
rval_ __wrap_ ## f_(__VA_ARGS__); \
|
|
rval_ __wrap_ ## f_(__VA_ARGS__)
|
|
|
|
typedef void (*testfunc_t)(void);
|
|
|
|
const testfunc_t* fixes_test(void);
|
|
const testfunc_t* hashtabletest_test(void);
|
|
const testfunc_t* input_test(void);
|
|
const testfunc_t* list_test(void);
|
|
const testfunc_t* list_zeroinit_test(void);
|
|
const testfunc_t* misc_test(void);
|
|
const testfunc_t* sha1_test(void);
|
|
const testfunc_t* signal_logging_test(void);
|
|
const testfunc_t* string_test(void);
|
|
const testfunc_t* touch_test(void);
|
|
const testfunc_t* xfree86_test(void);
|
|
const testfunc_t* xkb_test(void);
|
|
const testfunc_t* xtest_test(void);
|
|
const testfunc_t* protocol_xchangedevicecontrol_test(void);
|
|
const testfunc_t* protocol_xiqueryversion_test(void);
|
|
const testfunc_t* protocol_xiquerydevice_test(void);
|
|
const testfunc_t* protocol_xiselectevents_test(void);
|
|
const testfunc_t* protocol_xigetselectedevents_test(void);
|
|
const testfunc_t* protocol_xisetclientpointer_test(void);
|
|
const testfunc_t* protocol_xigetclientpointer_test(void);
|
|
const testfunc_t* protocol_xipassivegrabdevice_test(void);
|
|
const testfunc_t* protocol_xiquerypointer_test(void);
|
|
const testfunc_t* protocol_xiwarppointer_test(void);
|
|
const testfunc_t* protocol_eventconvert_test(void);
|
|
const testfunc_t* xi2_test(void);
|
|
|
|
#endif /* TESTS_H */
|
|
|