Fix: lttng UI failed to report error 19

Fixes #437

Signed-off-by: David Goulet <dgoulet@efficios.com>
Fix: session name max length was not handled correctly

Fixes #435

Signed-off-by: David Goulet <dgoulet@efficios.com>
Fix: typo in the create command help and man page

Fixes #436

Signed-off-by: David Goulet <dgoulet@efficios.com>
Add unsupported error code to lttng cmd line

Fixes #438

Signed-off-by: David Goulet <dgoulet@efficios.com>
Fix: kernel function event was listed as probe

Fixes #442

Signed-off-by: David Goulet <dgoulet@efficios.com>
Fix: minor errors in lttng.1 man page

Fixes #448

Signed-off-by: David Goulet <dgoulet@efficios.com>
Fix: add missing error output

Signed-off-by: David Goulet <dgoulet@efficios.com>
Fix: lttng create default name check

Fixes #449

Signed-off-by: David Goulet <dgoulet@efficios.com>
Fix: UST context activation

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
Tests: Add Python test_utils module

Basic Python test framework based on the lttng-tools Python bindings
that facilitates the creation of a tracing session saving its trace in
a temporary location, the activation of events in the UST domain and
clean teardown of the test session.

Also provides basic TAP output facilities.

Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
Tests: Add "linking" ust regression test

Based on the "demo" test formerly part of lttng-ust. Tests userspace
tracing with directly, statically and dynamically linked providers. Also
meant as an exemple of building and tracing an application with all
types of provider linking.

Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
Tests: Add "daemon" ust regression test

Based on the "daemon" test formerly part of lttng-ust.

Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
Tests: Add "exit-fast" ust regression test

Based on the "exit-fast" test formerly part of lttng-ust.

Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
Tests: Add "fork" ust regression test

Based on the "fork" test formerly part of lttng-ust.

Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
Tests: Add "libc-wrapper" ust regression test

Based on the "test-libustinstr-malloc" test formerly part of lttng-ust.

Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
Add optional Python >= 3.0 dependency to README

Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
Fix: Run tests requiring the python bindings only when they are enabled

Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
Fix: Add test scripts and lists to the distribution package

Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
Tests: Fix nprocesses applications shutdown

The nprocesses test is using the SIGPIPE signal to shutdown the spawned
child applications. This is done in order to silence the shell message
such as this one:

"nprocesses/test_nprocesses: line 79: 26458 Terminated"

This mechanism is broken on systems where the SIGPIPE default handler is
overriden (thus no application shutdown occurs) in the executing
environment. This could lead to stale applications polluting the system
and causing heratic behavior in subsequent tests.

This commit add a loop and check that all the spawned applications have
been successfully killed.

Signed-off-by: Christian Babeux <christian.babeux@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
UST periodical metadata flush

Add a socket between the sessiond and the ust-consumer to allow
periodical flush of the metadata channel.

If enabled (by specifying the --switch-timer option on the metadata
channel), a new timer thread in the consumer asks the session daemon for
new metadata for a specific session.

All the metadata collected is written into a metadata cache in the
consumer, this mechanism is useful for synchronisation (to avoid race
conditions between two metadata updates) and will also be useful when we
implement the snapshots.

Acked-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Signed-off-by: Julien Desfossez <jdesfossez@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>