%{_mandir}/man1/libinput-analyze-touch-down-state.1*
%files test
+%{_libexecdir}/libinput/libinput-test
%{_libexecdir}/libinput/libinput-test-suite
+%{_mandir}/man1/libinput-test.1*
%{_mandir}/man1/libinput-test-suite.1*
%changelog
config_h.set('PTRACE_DETACH', 'PT_DETACH')
endif
+config_h.set10('HAVE_INSTALLED_TESTS', get_option('install-tests'))
+
# Dependencies
pkgconfig = import('pkgconfig')
dep_udev = dependency('libudev')
install : false)
endif
+libinput_test_sources = [ 'tools/libinput-test.c' ]
+executable('libinput-test',
+ libinput_test_sources,
+ dependencies : deps_tools,
+ include_directories : [includes_src, includes_include],
+ install_dir : libinput_tool_path,
+ install : true,
+ )
+
# This is the test suite runner, we allow disabling that one because of
# dependencies
if get_option('tests')
man_config = configuration_data()
man_config.set('LIBINPUT_VERSION', meson.project_version())
man_config.set('LIBINPUT_DATA_DIR', dir_data)
+if get_option('install-tests')
+ man_config.set('HAVE_INSTALLED_TESTS', '.\"')
+else
+ man_config.set('HAVE_INSTALLED_TESTS', '')
+endif
src_man += files(
'tools/libinput.man',
'tools/libinput-analyze.man',
'tools/libinput-quirks.man',
'tools/libinput-record.man',
'tools/libinput-replay.man',
+ 'tools/libinput-test.man',
)
foreach m : src_man
--- /dev/null
+/*
+ * Copyright © 2017 Red Hat, Inc.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice (including the next
+ * paragraph) shall be included in all copies or substantial portions of the
+ * Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER 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.
+ */
+
+#include "config.h"
+
+#include <getopt.h>
+#include <stdio.h>
+
+#include "shared.h"
+
+static inline void
+usage(void)
+{
+#if HAVE_INSTALLED_TESTS
+ printf("Usage: libinput test [--help] <feature>\n");
+#else
+ fprintf(stderr, "libinput test was disabled in the build configuration\n");
+#endif
+}
+
+int
+main(int argc, char **argv)
+{
+ int option_index = 0;
+
+ while (1) {
+ int c;
+ static struct option opts[] = {
+ { "help", no_argument, 0, 'h' },
+ { 0, 0, 0, 0}
+ };
+
+ c = getopt_long(argc, argv, "+h", opts, &option_index);
+ if (c == -1)
+ break;
+
+ switch(c) {
+ case 'h':
+ usage();
+ return EXIT_SUCCESS;
+ default:
+ usage();
+ return EXIT_FAILURE;
+ }
+ }
+
+ if (optind >= argc) {
+ usage();
+ return EXIT_FAILURE;
+ }
+
+ argc--;
+ argv++;
+
+ return tools_exec_command("libinput-test", argc, argv);
+}
--- /dev/null
+
+.TH libinput-test "1" "" "libinput @LIBINPUT_VERSION@" "libinput Manual"
+.SH NAME
+libinput\-test \- test various components of libinput itself
+.SH SYNOPSIS
+.B libinput test [\-\-help] \fI<feature> [<args>]\fR
+.SH DESCRIPTION
+.PP
+The
+.B "libinput test"
+tool runs tests against libinput itself. There is usually no need for a user
+to use this tool, it is provided for distribution vendors.
+@HAVE_INSTALLED_TESTS@.B This tool was disabled at build time!
+.PP
+This is a testing tool only, its output may change at any time. Do not
+rely on the output.
+.PP
+This tool may need to be run as root to have access to the
+/dev/input/eventX nodes and/or create /dev/uinput devices.
+.SH OPTIONS
+.TP 8
+.B \-\-help
+Print help
+.SH FEATURES
+Tests that can be run are
+.TP 8
+.B libinput\-test\-suite(1)
+Run the full test suite. This is the most complete set of tests to run in
+libinput.
+.SH LIBINPUT
+Part of the
+.B libinput(1)
+suite
.TP 8
.B libinput\-analyze(1)
Analyze events from a device
+.TP 8
+.B libinput\-test(1)
+Test libinput itself.
.SH LIBINPUT
Part of the
.B libinput(1)