xref: /netbsd-src/tests/lib/libc/gen/t_syslog.c (revision 04c087f8238faa6c2e0e72e359f36109135b83ed)
1*04c087f8Sjruoho /*	$NetBSD: t_syslog.c,v 1.3 2020/07/03 03:13:10 jruoho Exp $ */
21b9f2dc9Sjruoho 
31b9f2dc9Sjruoho /*-
4*04c087f8Sjruoho  * Copyright (c) 2010, 2020 The NetBSD Foundation, Inc.
51b9f2dc9Sjruoho  * All rights reserved.
61b9f2dc9Sjruoho  *
71b9f2dc9Sjruoho  * Redistribution and use in source and binary forms, with or without
81b9f2dc9Sjruoho  * modification, are permitted provided that the following conditions
91b9f2dc9Sjruoho  * are met:
101b9f2dc9Sjruoho  * 1. Redistributions of source code must retain the above copyright
111b9f2dc9Sjruoho  *    notice, this list of conditions and the following disclaimer.
121b9f2dc9Sjruoho  * 2. Redistributions in binary form must reproduce the above copyright
131b9f2dc9Sjruoho  *    notice, this list of conditions and the following disclaimer in
141b9f2dc9Sjruoho  *    the documentation and/or other materials provided with the
151b9f2dc9Sjruoho  *    distribution.
161b9f2dc9Sjruoho  *
171b9f2dc9Sjruoho  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
181b9f2dc9Sjruoho  * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
191b9f2dc9Sjruoho  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
201b9f2dc9Sjruoho  * FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE
211b9f2dc9Sjruoho  * COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
221b9f2dc9Sjruoho  * INCIDENTAL, SPECIAL, EXEMPLARY OR CONSEQUENTIAL DAMAGES (INCLUDING,
231b9f2dc9Sjruoho  * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
241b9f2dc9Sjruoho  * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
251b9f2dc9Sjruoho  * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
261b9f2dc9Sjruoho  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
271b9f2dc9Sjruoho  * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
281b9f2dc9Sjruoho  * SUCH DAMAGE.
291b9f2dc9Sjruoho  */
301b9f2dc9Sjruoho 
311b9f2dc9Sjruoho #include <sys/types.h>
321b9f2dc9Sjruoho 
331b9f2dc9Sjruoho #include <atf-c.h>
341b9f2dc9Sjruoho #include <syslog.h>
351b9f2dc9Sjruoho 
361b9f2dc9Sjruoho ATF_TC(syslog_pthread);
ATF_TC_HEAD(syslog_pthread,tc)371b9f2dc9Sjruoho ATF_TC_HEAD(syslog_pthread, tc)
381b9f2dc9Sjruoho {
398b18a8bfSjruoho 	atf_tc_set_md_var(tc, "descr", "Test that syslog(3) "
408b18a8bfSjruoho 	    "works when linked to pthread(3) (PR lib/44248)");
411b9f2dc9Sjruoho 	atf_tc_set_md_var(tc, "timeout", "2");
421b9f2dc9Sjruoho }
431b9f2dc9Sjruoho 
ATF_TC_BODY(syslog_pthread,tc)441b9f2dc9Sjruoho ATF_TC_BODY(syslog_pthread, tc)
451b9f2dc9Sjruoho {
461b9f2dc9Sjruoho 	syslog(LOG_DEBUG, "from tests/lib/libc/gen/t_syslog");
471b9f2dc9Sjruoho }
481b9f2dc9Sjruoho 
49*04c087f8Sjruoho ATF_TC(syslog_invalid_priority);
ATF_TC_HEAD(syslog_invalid_priority,tc)50*04c087f8Sjruoho ATF_TC_HEAD(syslog_invalid_priority, tc)
51*04c087f8Sjruoho {
52*04c087f8Sjruoho 	atf_tc_set_md_var(tc, "descr", "Test that syslog(3) does "
53*04c087f8Sjruoho 	    "not segfault from an invalid priority (PR lib/55041)");
54*04c087f8Sjruoho }
55*04c087f8Sjruoho 
ATF_TC_BODY(syslog_invalid_priority,tc)56*04c087f8Sjruoho ATF_TC_BODY(syslog_invalid_priority, tc)
57*04c087f8Sjruoho {
58*04c087f8Sjruoho 	syslog(-1, "from tests/lib/libc/gen/t_syslog");
59*04c087f8Sjruoho }
60*04c087f8Sjruoho 
ATF_TP_ADD_TCS(tp)611b9f2dc9Sjruoho ATF_TP_ADD_TCS(tp)
621b9f2dc9Sjruoho {
631b9f2dc9Sjruoho 
641b9f2dc9Sjruoho 	ATF_TP_ADD_TC(tp, syslog_pthread);
65*04c087f8Sjruoho 	ATF_TP_ADD_TC(tp, syslog_invalid_priority);
661b9f2dc9Sjruoho 
671b9f2dc9Sjruoho 	return atf_no_error();
681b9f2dc9Sjruoho }
69