diff options
-rw-r--r-- | Makefile.am | 2 | ||||
-rw-r--r-- | configure.ac | 2 | ||||
-rw-r--r-- | test/.gitignore | 6 | ||||
-rw-r--r-- | test/Makefile.am | 14 | ||||
-rw-r--r-- | test/eventcomm-test.c | 37 | ||||
-rw-r--r-- | test/fake-symbols.c | 446 | ||||
-rw-r--r-- | test/fake-symbols.h | 177 |
7 files changed, 683 insertions, 1 deletions
diff --git a/Makefile.am b/Makefile.am index 538bbc5..edd28a6 100644 --- a/Makefile.am +++ b/Makefile.am @@ -18,7 +18,7 @@ # IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN # CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -SUBDIRS = include src man tools conf +SUBDIRS = include src man tools conf test MAINTAINERCLEANFILES = ChangeLog INSTALL pkgconfigdir = $(libdir)/pkgconfig diff --git a/configure.ac b/configure.ac index 9a7ba59..cda82fc 100644 --- a/configure.ac +++ b/configure.ac @@ -43,6 +43,7 @@ m4_ifndef([XORG_MACROS_VERSION], [m4_fatal([must install xorg-macros 1.13 or later before running autoconf/autogen])]) XORG_MACROS_VERSION(1.13) XORG_DEFAULT_OPTIONS +XORG_ENABLE_UNIT_TESTS # Checks for libraries. AC_CHECK_LIB([m], [rint]) @@ -149,6 +150,7 @@ AC_CONFIG_FILES([Makefile tools/Makefile conf/Makefile include/Makefile + test/Makefile xorg-synaptics.pc]) AC_OUTPUT diff --git a/test/.gitignore b/test/.gitignore new file mode 100644 index 0000000..d81fece --- /dev/null +++ b/test/.gitignore @@ -0,0 +1,6 @@ +# Add & Override patterns for xf86-input-synaptics +# +# Edit the following section as needed +# For example, !report.pc overrides *.pc. See 'man gitignore' + +eventcomm-test diff --git a/test/Makefile.am b/test/Makefile.am new file mode 100644 index 0000000..763ed54 --- /dev/null +++ b/test/Makefile.am @@ -0,0 +1,14 @@ +AM_CPPFLAGS = -I$(top_srcdir)/src +AM_CFLAGS = $(XORG_CFLAGS) $(CWARNFLAGS) +fake_syms = fake-symbols.c fake-symbols.h + +if BUILD_EVENTCOMM +noinst_PROGRAMS = eventcomm-test + +eventcomm_test_SOURCES = eventcomm-test.c\ + $(fake_syms) +endif + +if ENABLE_UNIT_TESTS +TESTS = $(noinst_PROGRAMS) +endif diff --git a/test/eventcomm-test.c b/test/eventcomm-test.c new file mode 100644 index 0000000..ac24640 --- /dev/null +++ b/test/eventcomm-test.c @@ -0,0 +1,37 @@ +/* + * Copyright © 2011 Red Hat, Inc. + * + * Permission to use, copy, modify, distribute, and sell this software + * and its documentation for any purpose is hereby granted without + * fee, provided that the above copyright notice appear in all copies + * and that both that copyright notice and this permission notice + * appear in supporting documentation, and that the name of Red Hat + * not be used in advertising or publicity pertaining to distribution + * of the software without specific, written prior permission. Red + * Hat makes no representations about the suitability of this software + * for any purpose. It is provided "as is" without express or implied + * warranty. + * + * THE AUTHORS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, + * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN + * NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY SPECIAL, INDIRECT OR + * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS + * OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, + * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN + * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + * + * Authors: + * Peter Hutterer + */ + +#if HAVE_CONFIG_H +#include <config.h> +#endif + +#include <stdio.h> +#include <assert.h> + +int main (int argc, char **argv) +{ + return 0; +} diff --git a/test/fake-symbols.c b/test/fake-symbols.c new file mode 100644 index 0000000..9657bab --- /dev/null +++ b/test/fake-symbols.c @@ -0,0 +1,446 @@ +#include "fake-symbols.h" + +_X_EXPORT +int xf86ReadSerial (int fd, void *buf, int count) +{ + return 0; +} + + +_X_EXPORT int +xf86WriteSerial (int fd, const void *buf, int count) +{ + return 0; +} + +_X_EXPORT int +xf86CloseSerial (int fd) +{ + return 0; +} + +_X_EXPORT int +xf86WaitForInput (int fd, int timeout) +{ + return 0; +} + +_X_EXPORT int +xf86OpenSerial (pointer options) +{ + return 0; +} + +_X_EXPORT int +xf86SetSerialSpeed (int fd, int speed) +{ + return 0; +} + +_X_EXPORT pointer +xf86ReplaceIntOption(pointer optlist, const char *name, const int val) +{ + return NULL; +} + +_X_EXPORT char * +xf86SetStrOption(pointer optlist, const char *name, char *deflt) +{ + return NULL; +} + +_X_EXPORT int +xf86SetBoolOption(pointer optlist, const char *name, int deflt) +{ + return 0; +} + +_X_EXPORT pointer +xf86AddNewOption(pointer head, const char *name, const char *val) +{ + return NULL; +} +_X_EXPORT char * +xf86FindOptionValue(pointer options, const char *name) +{ + return NULL; +} + +_X_EXPORT char * +xf86OptionName(pointer opt) +{ + return NULL; +} + +_X_EXPORT char * +xf86OptionValue(pointer opt) +{ + return NULL; +} + +_X_EXPORT int +xf86NameCmp(const char *s1, const char *s2) +{ + return 0; +} + +_X_EXPORT char * +xf86CheckStrOption(pointer optlist, const char *name, char *deflt) +{ + return NULL; +} + +_X_EXPORT void +xf86AddEnabledDevice(InputInfoPtr pInfo) +{ + return; +} + +_X_EXPORT void +xf86RemoveEnabledDevice(InputInfoPtr pInfo) +{ + return; +} + +_X_EXPORT Atom +XIGetKnownProperty(char *name) +{ + return None; +} + +_X_EXPORT void +xf86AddInputDriver(InputDriverPtr driver, pointer module, int flags) +{ + return; +} + +_X_EXPORT int +xf86ScaleAxis(int Cx, + int to_max, + int to_min, + int from_max, + int from_min ) +{ + int X; + int64_t to_width = to_max - to_min; + int64_t from_width = from_max - from_min; + + if (from_width) { + X = (int)(((to_width * (Cx - from_min)) / from_width) + to_min); + } + else { + X = 0; + /*ErrorF ("Divide by Zero in xf86ScaleAxis\n");*/ + } + + if (X > to_max) + X = to_max; + if (X < to_min) + X = to_min; + + return X; +} + + +_X_EXPORT void +DeleteInputDeviceRequest(DeviceIntPtr pDev) +{ + return; +} + + +#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 11 +_X_EXPORT void +FreeInputAttributes(InputAttributes *attrs) +{ + return; +} +#endif + +_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 pointer +xf86OptionListDuplicate(pointer options) +{ + return NULL; +} + +_X_EXPORT Bool +InitButtonClassDeviceStruct(DeviceIntPtr dev, int numButtons, Atom* labels, + CARD8 *map) +{ + return FALSE; +} + +_X_EXPORT void +InitValuatorAxisStruct(DeviceIntPtr dev, int axnum, Atom label, int minval, int maxval, + int resolution, int min_res, int max_res, int mode) +{ + return; +} + +_X_EXPORT void +xf86PostKeyboardEvent(DeviceIntPtr device, + unsigned int key_code, + int is_down) +{ + return; +} + +_X_EXPORT int +xf86SetIntOption(pointer 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, +#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 12 + const +#endif + 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, + pointer value, Bool sendevent) +{ + return 0; +} + +_X_EXPORT CARD32 +GetTimeInMillis (void) +{ + return 0; +} + + +_X_EXPORT int +NewInputDeviceRequest (InputOption *options, +#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 11 + InputAttributes *attrs, +#endif + DeviceIntPtr *pdev) +{ + return 0; +} + + +_X_EXPORT Bool +InitLedFeedbackClassDeviceStruct (DeviceIntPtr dev, LedCtrlProcPtr controlProc) +{ + return FALSE; +} + + +#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 11 +_X_EXPORT InputAttributes* +DuplicateInputAttributes(InputAttributes *attrs) +{ + return NULL; +} +#endif + +_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 (*DeleteProperty) (DeviceIntPtr dev, + Atom property)) +{ + return 0; +} + +_X_EXPORT int +InitProximityClassDeviceStruct(DeviceIntPtr dev) +{ + return 0; +} + + +_X_EXPORT void +xf86Msg(MessageType type, const char *format, ...) +{ + return; +} + +_X_EXPORT void +xf86MsgVerb(MessageType type, int verb, const char *format, ...) +{ + return; +} + + +_X_EXPORT void +xf86PostMotionEventP(DeviceIntPtr device, + int is_absolute, + int first_valuator, + int num_valuators, +#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 12 + const +#endif + int *valuators) +{ + return; +} + + +_X_EXPORT Bool +InitValuatorClassDeviceStruct(DeviceIntPtr dev, int numAxes, Atom *labels, + int numMotionEvents, int mode) +{ + return FALSE; +} + + +_X_EXPORT pointer +xf86ReplaceStrOption(pointer optlist, const char *name, const char* val) +{ + return NULL; +} + + +_X_EXPORT pointer +xf86NextOption(pointer 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, +#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 12 + const +#endif + int *valuators) +{ + return; +} + + +_X_EXPORT Bool +InitFocusClassDeviceStruct(DeviceIntPtr dev) +{ + return FALSE; +} + +#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) < 12 +void +xf86ProcessCommonOptions(InputInfoPtr pInfo, pointer list) +{ +} + +void +xf86CollectInputOptions(InputInfoPtr pInfo, + const char **defaultOpts, + pointer extraOpts) +{ +} + +InputInfoPtr xf86AllocateInput(InputDriverPtr drv, int flags) +{ + return NULL; +} + +#endif + +ClientPtr serverClient; + +Bool QueueWorkProc ( + Bool (*function)(ClientPtr /* pClient */, pointer /* closure */), + ClientPtr client, pointer closure) +{ + return FALSE; +} diff --git a/test/fake-symbols.h b/test/fake-symbols.h new file mode 100644 index 0000000..cc62679 --- /dev/null +++ b/test/fake-symbols.h @@ -0,0 +1,177 @@ +#include <xorg-server.h> +#include <xf86Xinput.h> + +extern int xf86ReadSerial (int fd, void *buf, int count); +extern int xf86WriteSerial (int fd, const void *buf, int count); +extern int xf86CloseSerial (int fd); +extern int xf86WaitForInput (int fd, int timeout); +extern int xf86OpenSerial (pointer options); +extern int xf86SetSerialSpeed (int fd, int speed); + +extern pointer xf86ReplaceIntOption(pointer optlist, const char *name, const int val); +extern pointer xf86AddNewOption(pointer head, const char *name, const char *val); +extern char* xf86OptionName(pointer opt); +extern char* xf86FindOptionValue(pointer options, const char *name); +extern int xf86NameCmp(const char *s1, const char *s2); +extern char* xf86CheckStrOption(pointer optlist, const char *name, char *deflt); + + +extern char * xf86SetStrOption(pointer optlist, const char *name, char *deflt); +extern int xf86SetBoolOption(pointer optlist, const char *name, int deflt); +extern pointer xf86AddNewOption(pointer head, const char *name, const char *val); +extern char* xf86FindOptionValue(pointer options, const char *name); +extern char* xf86OptionName(pointer opt); +extern char *xf86OptionValue(pointer opt); +extern int xf86NameCmp(const char *s1, const char *s2); +extern char * xf86CheckStrOption(pointer optlist, const char *name, char *deflt); +extern void xf86AddEnabledDevice(InputInfoPtr pInfo); +extern void xf86RemoveEnabledDevice(InputInfoPtr pInfo); +extern Atom XIGetKnownProperty(char *name); +extern void xf86AddInputDriver(InputDriverPtr driver, pointer module, int flags); +extern int +xf86ScaleAxis(int Cx, + int to_max, + int to_min, + int from_max, + int from_min ); + +extern void DeleteInputDeviceRequest(DeviceIntPtr pDev); +#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 11 +extern void FreeInputAttributes(InputAttributes *attrs); +#endif +extern void +xf86PostButtonEvent(DeviceIntPtr device, + int is_absolute, + int button, + int is_down, + int first_valuator, + int num_valuators, + ...); +extern int Xasprintf(char ** ret, const char *format, ...); +extern int +XISetDevicePropertyDeletable(DeviceIntPtr dev, Atom property, Bool deletable); + +extern InputInfoPtr xf86FirstLocalDevice(void); +extern void xf86DeleteInput(InputInfoPtr pInp, int flags); +extern pointer xf86OptionListDuplicate(pointer options); +extern Bool +InitButtonClassDeviceStruct(DeviceIntPtr dev, int numButtons, Atom* labels, + CARD8 *map); +extern void +InitValuatorAxisStruct(DeviceIntPtr dev, int axnum, Atom label, int minval, int maxval, + int resolution, int min_res, int max_res, int mode); +extern void +xf86PostKeyboardEvent(DeviceIntPtr device, + unsigned int key_code, + int is_down); +extern int +xf86SetIntOption(pointer optlist, const char *name, int deflt); +extern void +xf86PostButtonEventP(DeviceIntPtr device, + int is_absolute, + int button, + int is_down, + int first_valuator, + int num_valuators, +#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 12 + const +#endif + int *valuators); +extern Bool +InitPtrFeedbackClassDeviceStruct(DeviceIntPtr dev, PtrCtrlProcPtr controlProc); + +extern int +XIChangeDeviceProperty (DeviceIntPtr dev, Atom property, Atom type, + int format, int mode, unsigned long len, + pointer value, Bool sendevent); +extern CARD32 GetTimeInMillis (void); + +extern int +NewInputDeviceRequest (InputOption *options, +#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 11 + InputAttributes *attrs, +#endif + DeviceIntPtr *pdev); + +extern Bool +InitLedFeedbackClassDeviceStruct (DeviceIntPtr dev, LedCtrlProcPtr controlProc); + +#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 11 +extern InputAttributes* DuplicateInputAttributes(InputAttributes *attrs); +#endif +extern int ValidAtom(Atom atom); +extern Bool +InitKeyboardDeviceStruct(DeviceIntPtr dev, XkbRMLVOSet *rmlvo, + BellProcPtr bell_func, KbdCtrlProcPtr ctrl_func); +extern long +XIRegisterPropertyHandler(DeviceIntPtr dev, + int (*SetProperty) (DeviceIntPtr dev, + Atom property, + XIPropertyValuePtr prop, + BOOL checkonly), + int (*GetProperty) (DeviceIntPtr dev, + Atom property), + int (*DeleteProperty) (DeviceIntPtr dev, + Atom property)); +extern int InitProximityClassDeviceStruct(DeviceIntPtr dev); +extern void xf86Msg(MessageType type, const char *format, ...); +extern void xf86MsgVerb(MessageType type, int verb, const char *format, ...); + +extern void +xf86PostMotionEventP(DeviceIntPtr device, + int is_absolute, + int first_valuator, + int num_valuators, +#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 12 + const +#endif + int *valuators); + +extern Bool +InitValuatorClassDeviceStruct(DeviceIntPtr dev, int numAxes, Atom *labels, + int numMotionEvents, int mode); + +extern pointer +xf86ReplaceStrOption(pointer optlist, const char *name, const char* val); + +extern pointer xf86NextOption(pointer list); + +extern int +XIGetDeviceProperty (DeviceIntPtr dev, Atom property, XIPropertyValuePtr *value); + +extern Atom MakeAtom(const char *string, unsigned len, Bool makeit); + +extern int GetMotionHistorySize(void); + +extern void +xf86PostProximityEventP(DeviceIntPtr device, + int is_in, + int first_valuator, + int num_valuators, +#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 12 + const +#endif + int *valuators); + +extern Bool InitFocusClassDeviceStruct(DeviceIntPtr dev); + + +#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) < 12 +extern void +xf86ProcessCommonOptions(InputInfoPtr pInfo, pointer list); + +extern void +xf86CollectInputOptions(InputInfoPtr pInfo, + const char **defaultOpts, + pointer extraOpts); + +extern InputInfoPtr +xf86AllocateInput(InputDriverPtr drv, int flags); + + +extern ClientPtr serverClient; + +extern Bool QueueWorkProc ( + Bool (*function)(ClientPtr /* pClient */, pointer /* closure */), + ClientPtr client, pointer closure); +#endif |