From 822cb516a1348622f1f69383eabf5b846caa8c7a Mon Sep 17 00:00:00 2001
From: Simon Marchi <simon.marchi@efficios.com>
Date: Mon, 25 Nov 2019 16:25:52 -0500
Subject: [PATCH] Add declarations for functions in health_fail.c

Silences a bunch of -Wmissing-declarations warnings.

Signed-off-by: Simon Marchi <simon.marchi@efficios.com>
Change-Id: If909cb5552aa9a8c9602410cbc608dd57a152e9f
---

diff --git a/tests/regression/tools/health/health_fail.c b/tests/regression/tools/health/health_fail.c
index b3ebced..ca2bc34 100644
--- a/tests/regression/tools/health/health_fail.c
+++ b/tests/regression/tools/health/health_fail.c
@@ -30,6 +30,7 @@
 
 /* Session daemon */
 
+int __testpoint_sessiond_thread_manage_clients(void);
 int __testpoint_sessiond_thread_manage_clients(void)
 {
 	const char *var = "LTTNG_SESSIOND_THREAD_MANAGE_CLIENTS_TP_FAIL";
@@ -41,6 +42,7 @@
 	return 0;
 }
 
+int __testpoint_sessiond_thread_registration_apps(void);
 int __testpoint_sessiond_thread_registration_apps(void)
 {
 	const char *var = "LTTNG_SESSIOND_THREAD_REG_APPS_TP_FAIL";
@@ -52,6 +54,7 @@
 	return 0;
 }
 
+int __testpoint_sessiond_thread_manage_apps(void);
 int __testpoint_sessiond_thread_manage_apps(void)
 {
 	const char *var = "LTTNG_SESSIOND_THREAD_MANAGE_APPS_TP_FAIL";
@@ -63,6 +66,7 @@
 	return 0;
 }
 
+int __testpoint_sessiond_thread_manage_kernel(void);
 int __testpoint_sessiond_thread_manage_kernel(void)
 {
 	const char *var = "LTTNG_SESSIOND_THREAD_MANAGE_KERNEL_TP_FAIL";
@@ -74,6 +78,7 @@
 	return 0;
 }
 
+int __testpoint_sessiond_thread_manage_consumer(void);
 int __testpoint_sessiond_thread_manage_consumer(void)
 {
 	const char *var = "LTTNG_SESSIOND_THREAD_MANAGE_CONSUMER_TP_FAIL";
@@ -85,6 +90,7 @@
 	return 0;
 }
 
+int __testpoint_sessiond_thread_ht_cleanup(void);
 int __testpoint_sessiond_thread_ht_cleanup(void)
 {
 	const char *var = "LTTNG_SESSIOND_THREAD_HT_CLEANUP_TP_FAIL";
@@ -96,6 +102,7 @@
 	return 0;
 }
 
+int __testpoint_sessiond_thread_app_manage_notify(void);
 int __testpoint_sessiond_thread_app_manage_notify(void)
 {
 	const char *var = "LTTNG_SESSIOND_THREAD_APP_MANAGE_NOTIFY_TP_FAIL";
@@ -107,6 +114,7 @@
 	return 0;
 }
 
+int __testpoint_sessiond_thread_app_reg_dispatch(void);
 int __testpoint_sessiond_thread_app_reg_dispatch(void)
 {
 	const char *var = "LTTNG_SESSIOND_THREAD_APP_REG_DISPATCH_TP_FAIL";
@@ -120,6 +128,7 @@
 
 /* Consumer daemon */
 
+int __testpoint_consumerd_thread_channel(void);
 int __testpoint_consumerd_thread_channel(void)
 {
 	const char *var = "LTTNG_CONSUMERD_THREAD_CHANNEL_TP_FAIL";
@@ -131,6 +140,7 @@
 	return 0;
 }
 
+int __testpoint_consumerd_thread_metadata(void);
 int __testpoint_consumerd_thread_metadata(void)
 {
 	const char *var = "LTTNG_CONSUMERD_THREAD_METADATA_TP_FAIL";
@@ -142,6 +152,7 @@
 	return 0;
 }
 
+int __testpoint_consumerd_thread_data(void);
 int __testpoint_consumerd_thread_data(void)
 {
 	const char *var = "LTTNG_CONSUMERD_THREAD_DATA_TP_FAIL";
@@ -153,6 +164,7 @@
 	return 0;
 }
 
+int __testpoint_consumerd_thread_sessiond(void);
 int __testpoint_consumerd_thread_sessiond(void)
 {
 	const char *var = "LTTNG_CONSUMERD_THREAD_SESSIOND_TP_FAIL";
@@ -164,6 +176,7 @@
 	return 0;
 }
 
+int __testpoint_consumerd_thread_metadata_timer(void);
 int __testpoint_consumerd_thread_metadata_timer(void)
 {
 	const char *var = "LTTNG_CONSUMERD_THREAD_METADATA_TIMER_TP_FAIL";
@@ -177,6 +190,7 @@
 
 /* Relay daemon */
 
+int __testpoint_relayd_thread_dispatcher(void);
 int __testpoint_relayd_thread_dispatcher(void)
 {
 	const char *var = "LTTNG_RELAYD_THREAD_DISPATCHER_TP_FAIL";
@@ -188,6 +202,7 @@
 	return 0;
 }
 
+int __testpoint_relayd_thread_worker(void);
 int __testpoint_relayd_thread_worker(void)
 {
 	const char *var = "LTTNG_RELAYD_THREAD_WORKER_TP_FAIL";
@@ -199,6 +214,7 @@
 	return 0;
 }
 
+int __testpoint_relayd_thread_listener(void);
 int __testpoint_relayd_thread_listener(void)
 {
 	const char *var = "LTTNG_RELAYD_THREAD_LISTENER_TP_FAIL";
@@ -210,6 +226,7 @@
 	return 0;
 }
 
+int __testpoint_relayd_thread_live_dispatcher(void);
 int __testpoint_relayd_thread_live_dispatcher(void)
 {
 	const char *var = "LTTNG_RELAYD_THREAD_LIVE_DISPATCHER_TP_FAIL";
@@ -221,6 +238,7 @@
 	return 0;
 }
 
+int __testpoint_relayd_thread_live_worker(void);
 int __testpoint_relayd_thread_live_worker(void)
 {
 	const char *var = "LTTNG_RELAYD_THREAD_LIVE_WORKER_TP_FAIL";
@@ -232,6 +250,7 @@
 	return 0;
 }
 
+int __testpoint_relayd_thread_live_listener(void);
 int __testpoint_relayd_thread_live_listener(void)
 {
 	const char *var = "LTTNG_RELAYD_THREAD_LIVE_LISTENER_TP_FAIL";
