mirror of
https://gitlab.xiph.org/xiph/icecast-server.git
synced 2024-12-04 14:46:30 -05:00
Feature: Added a basic test suite for testing parts of the C code
This commit is contained in:
parent
1d4ce33c1b
commit
9134c5553b
@ -5,10 +5,16 @@ TEST_LOG_DRIVER = env AM_TAP_AWK='$(AWK)' $(SHELL) \
|
||||
|
||||
TESTS = \
|
||||
startup.test \
|
||||
admin.test
|
||||
admin.test \
|
||||
ctest_suite.test
|
||||
|
||||
EXTRA_DIST = $(TESTS)
|
||||
|
||||
EXTRA_DIST += \
|
||||
icecast.xml \
|
||||
on-connect.sh
|
||||
|
||||
check_PROGRAMS = ctest_suite.test
|
||||
noinst_HEADERS = ctest_lib.h
|
||||
|
||||
ctest_suite_test_SOURCES=ctest_suite.c ctest_lib.c
|
||||
|
71
tests/ctest_lib.c
Normal file
71
tests/ctest_lib.c
Normal file
@ -0,0 +1,71 @@
|
||||
/* Icecast
|
||||
*
|
||||
* This program is distributed under the GNU General Public License, version 2.
|
||||
* A copy of this license is included with this source.
|
||||
*
|
||||
* Copyright 2018, Philipp "ph3-der-loewe" Schafft <lion@lion.leolix.org>,
|
||||
*/
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
#include <config.h>
|
||||
#endif
|
||||
|
||||
#include <stdio.h>
|
||||
|
||||
#include "ctest_lib.h"
|
||||
|
||||
static size_t ctest_g_test_num;
|
||||
static int ctest_g_bailed_out;
|
||||
|
||||
void ctest_init(void)
|
||||
{
|
||||
ctest_g_test_num = 0;
|
||||
ctest_g_bailed_out = 0;
|
||||
}
|
||||
|
||||
void ctest_fin(void)
|
||||
{
|
||||
printf("1..%zu\n", ctest_g_test_num);
|
||||
}
|
||||
|
||||
void ctest_test(const char *desc, int res)
|
||||
{
|
||||
const char *prefix = NULL;
|
||||
|
||||
if (ctest_bailed_out())
|
||||
return;
|
||||
|
||||
ctest_g_test_num++;
|
||||
|
||||
if (res) {
|
||||
prefix = "ok";
|
||||
} else {
|
||||
prefix = "not ok";
|
||||
}
|
||||
|
||||
if (desc) {
|
||||
printf("%s %zu %s\n", prefix, ctest_g_test_num, desc);
|
||||
} else {
|
||||
printf("%s %zu\n", prefix, ctest_g_test_num);
|
||||
}
|
||||
}
|
||||
|
||||
void ctest_diagnostic(const char *line)
|
||||
{
|
||||
printf("# %s\n", line);
|
||||
}
|
||||
|
||||
void ctest_bail_out(const char *reason)
|
||||
{
|
||||
ctest_g_bailed_out = 1;
|
||||
if (reason) {
|
||||
printf("Bail out! %s\n", reason);
|
||||
} else {
|
||||
printf("Bail out!\n");
|
||||
}
|
||||
}
|
||||
|
||||
int ctest_bailed_out(void)
|
||||
{
|
||||
return ctest_g_bailed_out;
|
||||
}
|
20
tests/ctest_lib.h
Normal file
20
tests/ctest_lib.h
Normal file
@ -0,0 +1,20 @@
|
||||
/* Icecast
|
||||
*
|
||||
* This program is distributed under the GNU General Public License, version 2.
|
||||
* A copy of this license is included with this source.
|
||||
*
|
||||
* Copyright 2014, Philipp "ph3-der-loewe" Schafft <lion@lion.leolix.org>,
|
||||
*/
|
||||
|
||||
#ifndef __CTEST_LIB_H__
|
||||
#define __CTEST_LIB_H__
|
||||
|
||||
void ctest_init(void);
|
||||
void ctest_fin(void);
|
||||
|
||||
void ctest_test(const char *desc, int res);
|
||||
void ctest_diagnostic(const char *line);
|
||||
void ctest_bail_out(const char *reason);
|
||||
int ctest_bailed_out(void);
|
||||
|
||||
#endif
|
20
tests/ctest_suite.c
Normal file
20
tests/ctest_suite.c
Normal file
@ -0,0 +1,20 @@
|
||||
/* Icecast
|
||||
*
|
||||
* This program is distributed under the GNU General Public License, version 2.
|
||||
* A copy of this license is included with this source.
|
||||
*
|
||||
* Copyright 2018, Philipp "ph3-der-loewe" Schafft <lion@lion.leolix.org>,
|
||||
*/
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
#include <config.h>
|
||||
#endif
|
||||
|
||||
#include "ctest_lib.h"
|
||||
|
||||
int main (void) {
|
||||
ctest_init();
|
||||
ctest_test("suite working", 1);
|
||||
ctest_fin();
|
||||
return 0;
|
||||
}
|
Loading…
Reference in New Issue
Block a user