summaryrefslogtreecommitdiff
path: root/test/fake-symbols.c
diff options
context:
space:
mode:
authorPeter Hutterer <peter.hutterer@who-t.net>2022-02-02 13:18:33 +1000
committerPeter Hutterer <peter.hutterer@who-t.net>2022-02-04 12:44:09 +1000
commitff94040208c9da3411753e1ffe554e6c80b87dd7 (patch)
tree78eca960c145beda37afdce3a60cba043c2f4386 /test/fake-symbols.c
parentefb8df85ca75349e1d14237bcd0085025cc44830 (diff)
downloadxf86-input-wacom-ff94040208c9da3411753e1ffe554e6c80b87dd7.tar.gz
Replace our unit-test suite with something more magic and easier
The previous approach, written 11 years ago, relied on providing all symbols the driver needs as stubs (see fake-symbols.c). Most of these symbols just needed to be there so we could compile the test, they didn't actually get utilized by the tests. Dropping this and instead add something roughly similar to Rust: the test function can be in the same file as the source function. The TEST_CASE() macro uses __attribute__((section)) to push the test cases in custom ELF section. This section we can iterate on and call all tests one-by-one. The test runner only needs to dlopen + dlsym the driver module and run the entry point function. The test-suite part of this is minimal: tests can assert on failure and everything stops. Adding things like fnmatch for test case names is possible when/if we ever need it. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Diffstat (limited to 'test/fake-symbols.c')
-rw-r--r--test/fake-symbols.c512
1 files changed, 0 insertions, 512 deletions
diff --git a/test/fake-symbols.c b/test/fake-symbols.c
deleted file mode 100644
index cb7ba03..0000000
--- a/test/fake-symbols.c
+++ /dev/null
@@ -1,512 +0,0 @@
-#include "fake-symbols.h"
-
-_X_EXPORT int
-xf86CloseSerial (int fd)
-{
- return 0;
-}
-
-_X_EXPORT int
-xf86WaitForInput (int fd, int timeout)
-{
- return 0;
-}
-
-_X_EXPORT int
-xf86OpenSerial (XF86OptionPtr options)
-{
- return 0;
-}
-
-_X_EXPORT int
-xf86SetSerialSpeed (int fd, int speed)
-{
- return 0;
-}
-
-_X_EXPORT XF86OptionPtr
-xf86ReplaceIntOption(XF86OptionPtr optlist, const char *name, const int val)
-{
- return NULL;
-}
-
-_X_EXPORT XF86OptionPtr
-xf86ReplaceBoolOption(XF86OptionPtr optlist, const char *name, Bool val)
-{
- return NULL;
-}
-
-_X_EXPORT char *
-xf86SetStrOption(XF86OptionPtr optlist, const char *name, const char *deflt)
-{
- return NULL;
-}
-
-_X_EXPORT int
-xf86SetBoolOption(XF86OptionPtr optlist, const char *name, int deflt)
-{
- return 0;
-}
-
-_X_EXPORT XF86OptionPtr
-xf86AddNewOption(XF86OptionPtr head, const char *name, const char *val)
-{
- return NULL;
-}
-
-_X_EXPORT void
-xf86OptionListFree(XF86OptionPtr opt)
-{
- return;
-}
-
-_X_EXPORT const char *
-xf86FindOptionValue(XF86OptionPtr options, const char *name)
-{
- return NULL;
-}
-
-_X_EXPORT char *
-xf86OptionName(XF86OptionPtr opt)
-{
- return NULL;
-}
-
-_X_EXPORT char *
-xf86OptionValue(XF86OptionPtr opt)
-{
- return NULL;
-}
-
-_X_EXPORT char *
-xf86CheckStrOption(XF86OptionPtr optlist, const char *name, const char *deflt)
-{
- return NULL;
-}
-
-_X_EXPORT int
-xf86CheckBoolOption(XF86OptionPtr list, const char *name, int deflt)
-{
- return 0;
-}
-
-_X_EXPORT int
-xf86CheckIntOption(XF86OptionPtr list, const char *name, int deflt)
-{
- return 0;
-}
-
-_X_EXPORT void
-xf86AddEnabledDevice(InputInfoPtr pInfo)
-{
- return;
-}
-
-_X_EXPORT void
-xf86RemoveEnabledDevice(InputInfoPtr pInfo)
-{
- return;
-}
-
-_X_EXPORT Atom
-XIGetKnownProperty(const char *name)
-{
- return None;
-}
-
-_X_EXPORT void
-xf86AddInputDriver(InputDriverPtr driver, pointer module, int flags)
-{
- return;
-}
-
-_X_EXPORT void
-DeleteInputDeviceRequest(DeviceIntPtr pDev)
-{
- return;
-}
-
-_X_EXPORT void
-FreeInputAttributes(InputAttributes *attrs)
-{
- return;
-}
-
-_X_EXPORT void
-xf86PostButtonEvent(DeviceIntPtr device,
- int is_absolute,
- int button,
- int is_down,
- int first_valuator,
- int num_valuators,
- ...)
-{
- return;
-}
-
-_X_EXPORT int
-Xasprintf(char ** ret, const char * format, ...)
-{
- return 0;
-}
-
-
-_X_EXPORT int
-XISetDevicePropertyDeletable(DeviceIntPtr dev, Atom property, Bool deletable)
-{
- return 0;
-}
-
-
-_X_EXPORT InputInfoPtr
-xf86FirstLocalDevice(void)
-{
- return NULL;
-}
-
-
-_X_EXPORT void
-xf86DeleteInput(InputInfoPtr pInp, int flags)
-{
- return;
-}
-
-_X_EXPORT XF86OptionPtr
-xf86OptionListDuplicate(XF86OptionPtr options)
-{
- return NULL;
-}
-
-_X_EXPORT Bool
-InitButtonClassDeviceStruct(DeviceIntPtr dev, int numButtons, Atom* labels,
- CARD8 *map)
-{
- return FALSE;
-}
-
-
-_X_EXPORT Bool
-InitValuatorAxisStruct(DeviceIntPtr dev, int axnum, Atom label,
- int minval, int maxval, int resolution,
- int min_res, int max_res, int mode)
-{
- return TRUE;
-}
-
-_X_EXPORT void
-xf86PostKeyboardEvent(DeviceIntPtr device,
- unsigned int key_code,
- int is_down)
-{
- return;
-}
-
-_X_EXPORT int
-xf86SetIntOption(XF86OptionPtr optlist, const char *name, int deflt)
-{
- return 0;
-}
-
-_X_EXPORT void
-xf86PostButtonEventP(DeviceIntPtr device,
- int is_absolute,
- int button,
- int is_down,
- int first_valuator,
- int num_valuators,
- const int *valuators)
-{
- return;
-}
-
-_X_EXPORT Bool
-InitPtrFeedbackClassDeviceStruct(DeviceIntPtr dev, PtrCtrlProcPtr controlProc)
-{
- return FALSE;
-}
-
-_X_EXPORT int
-XIChangeDeviceProperty (DeviceIntPtr dev, Atom property, Atom type,
- int format, int mode, unsigned long len,
- const void * value, Bool sendevent)
-{
- return 0;
-}
-
-_X_EXPORT CARD32
-GetTimeInMillis (void)
-{
- return 0;
-}
-
-
-_X_EXPORT int
-NewInputDeviceRequest (InputOption *options,
- InputAttributes *attrs,
- DeviceIntPtr *pdev)
-{
- return 0;
-}
-
-
-_X_EXPORT Bool
-InitLedFeedbackClassDeviceStruct (DeviceIntPtr dev, LedCtrlProcPtr controlProc)
-{
- return FALSE;
-}
-
-
-_X_EXPORT InputAttributes*
-DuplicateInputAttributes(InputAttributes *attrs)
-{
- return NULL;
-}
-
-_X_EXPORT int
-ValidAtom(Atom atom)
-{
- return None;
-}
-
-_X_EXPORT Bool
-InitKeyboardDeviceStruct(DeviceIntPtr dev, XkbRMLVOSet *rmlvo,
- BellProcPtr bell_func, KbdCtrlProcPtr ctrl_func)
-{
- return FALSE;
-}
-
-_X_EXPORT long
-XIRegisterPropertyHandler(DeviceIntPtr dev,
- int (*SetProperty) (DeviceIntPtr dev,
- Atom property,
- XIPropertyValuePtr prop,
- BOOL checkonly),
- int (*GetProperty) (DeviceIntPtr dev,
- Atom property),
- int (*DelProperty) (DeviceIntPtr dev,
- Atom property))
-{
- return 0;
-}
-
-_X_EXPORT int
-InitProximityClassDeviceStruct(DeviceIntPtr dev)
-{
- return 0;
-}
-
-_X_EXPORT void
-LogMessageVerbSigSafe(MessageType type, int verb, const char *format, ...)
-{
- return;
-}
-
-_X_EXPORT void
-LogVMessageVerbSigSafe(MessageType type, int verb, const char *format, va_list args)
-{
- return;
-}
-
-_X_EXPORT void
-LogVMessageVerb(MessageType type, int verb, const char *format, va_list args)
-{
- return;
-}
-
-_X_EXPORT void
-xf86MsgVerb(MessageType type, int verb, const char *format, ...)
-{
- return;
-}
-
-_X_EXPORT void
-xf86Msg(MessageType type, const char *format, ...)
-{
- return;
-}
-
-_X_EXPORT void
-xf86IDrvMsg(InputInfoPtr pInfo, MessageType type, const char *format, ...)
-{
- return;
-}
-
-_X_EXPORT void
-xf86VIDrvMsgVerb(InputInfoPtr pInfo, MessageType type, int level, const char *format, va_list args)
-{
- return;
-}
-
-_X_EXPORT void
-xf86PostMotionEventP(DeviceIntPtr device,
- int is_absolute,
- int first_valuator,
- int num_valuators,
- const int *valuators)
-{
- return;
-}
-
-
-_X_EXPORT Bool
-InitValuatorClassDeviceStruct(DeviceIntPtr dev, int numAxes, Atom *labels,
- int numMotionEvents, int mode)
-{
- return FALSE;
-}
-
-
-_X_EXPORT XF86OptionPtr
-xf86ReplaceStrOption(XF86OptionPtr optlist, const char *name, const char* val)
-{
- return NULL;
-}
-
-
-_X_EXPORT XF86OptionPtr
-xf86NextOption(XF86OptionPtr list)
-{
- return NULL;
-}
-
-
-_X_EXPORT int
-XIGetDeviceProperty (DeviceIntPtr dev, Atom property, XIPropertyValuePtr *value)
-{
- return 0;
-}
-
-
-_X_EXPORT Atom
-MakeAtom(const char *string, unsigned len, Bool makeit)
-{
- return None;
-}
-
-
-_X_EXPORT int
-GetMotionHistorySize(void)
-{
- return 0;
-}
-
-
-_X_EXPORT void
-xf86PostProximityEventP(DeviceIntPtr device,
- int is_in,
- int first_valuator,
- int num_valuators,
- const int *valuators)
-{
- return;
-}
-
-
-_X_EXPORT Bool
-InitFocusClassDeviceStruct(DeviceIntPtr dev)
-{
- return FALSE;
-}
-
-ClientPtr serverClient;
-
-Bool QueueWorkProc (
- Bool (*function)(ClientPtr /* pClient */, pointer /* closure */),
- ClientPtr client, pointer closure)
-{
- return FALSE;
-}
-
-
-OsTimerPtr
-TimerSet(OsTimerPtr timer, int flags, CARD32 millis,
- OsTimerCallback func, pointer arg)
-{
- return NULL;
-}
-
-void TimerFree(OsTimerPtr timer)
-{
-}
-
-void TimerCancel(OsTimerPtr timer)
-{
-}
-
-#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) < 24
-int
-xf86BlockSIGIO (void)
-{
- return 0;
-}
-
-void
-xf86UnblockSIGIO (int wasset)
-{
-}
-#else
-void input_lock (void)
-{
-}
-
-void input_unlock (void)
-{
-}
-#endif
-
-/* This is not the same as the X server one, but it'll do for the tests */
-typedef struct _InputOption {
- struct _InputOption *next;
- char *key;
- char *value;
-} InputOption;
-
-InputOption*
-input_option_new(InputOption *list, const char *key, const char *value)
-{
- InputOption *new;
-
- new = calloc(1, sizeof(InputOption));
- new->key = strdup(key);
- new->value = strdup(value);
- new->next = list;
- return new;
-}
-
-void
-input_option_free_list(InputOption **opts)
-{
- InputOption *tmp = *opts;
- while(*opts)
- {
- tmp = (*opts)->next;
- free((*opts)->key);
- free((*opts)->value);
- free((*opts));
- *opts = tmp;
- }
-}
-
-_X_EXPORT Bool
-InitTouchClassDeviceStruct(DeviceIntPtr device, unsigned int max_touches,
- unsigned int mode, unsigned int numAxes) {
- return TRUE;
-}
-
-_X_EXPORT ValuatorMask *valuator_mask_new(int num_valuators) {
- return NULL;
-}
-
-_X_EXPORT void valuator_mask_set(ValuatorMask *mask, int valuator, int data) {
- return;
-}
-
-_X_EXPORT void xf86PostTouchEvent(DeviceIntPtr dev, uint32_t touchid, uint16_t type,
- uint32_t flags, const ValuatorMask *mask) {
- return;
-}
-
-_X_EXPORT void
-xf86PrintChipsets(const char *drvname, const char *drvmsg, SymTabPtr chips)
-{
-}