xref: /minix3/tests/lib/libc/t_gdtoa.c (revision 11be35a165022172ed3cea20f2b5df0307540b0e)
1*11be35a1SLionel Sambuc /*-
2*11be35a1SLionel Sambuc  * Copyright (c) 2009 The NetBSD Foundation, Inc.
3*11be35a1SLionel Sambuc  * All rights reserved.
4*11be35a1SLionel Sambuc  *
5*11be35a1SLionel Sambuc  * This code is derived from software contributed to The NetBSD Foundation
6*11be35a1SLionel Sambuc  * by Christos Zoulas.
7*11be35a1SLionel Sambuc  *
8*11be35a1SLionel Sambuc  * Redistribution and use in source and binary forms, with or without
9*11be35a1SLionel Sambuc  * modification, are permitted provided that the following conditions
10*11be35a1SLionel Sambuc  * are met:
11*11be35a1SLionel Sambuc  * 1. Redistributions of source code must retain the above copyright
12*11be35a1SLionel Sambuc  *    notice, this list of conditions and the following disclaimer.
13*11be35a1SLionel Sambuc  * 2. Redistributions in binary form must reproduce the above copyright
14*11be35a1SLionel Sambuc  *    notice, this list of conditions and the following disclaimer in the
15*11be35a1SLionel Sambuc  *    documentation and/or other materials provided with the distribution.
16*11be35a1SLionel Sambuc  * 3. All advertising materials mentioning features or use of this software
17*11be35a1SLionel Sambuc  *    must display the following acknowledgement:
18*11be35a1SLionel Sambuc  *        This product includes software developed by the NetBSD
19*11be35a1SLionel Sambuc  *        Foundation, Inc. and its contributors.
20*11be35a1SLionel Sambuc  * 4. Neither the name of The NetBSD Foundation nor the names of its
21*11be35a1SLionel Sambuc  *    contributors may be used to endorse or promote products derived
22*11be35a1SLionel Sambuc  *    from this software without specific prior written permission.
23*11be35a1SLionel Sambuc  *
24*11be35a1SLionel Sambuc  * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
25*11be35a1SLionel Sambuc  * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
26*11be35a1SLionel Sambuc  * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
27*11be35a1SLionel Sambuc  * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
28*11be35a1SLionel Sambuc  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
29*11be35a1SLionel Sambuc  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
30*11be35a1SLionel Sambuc  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
31*11be35a1SLionel Sambuc  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
32*11be35a1SLionel Sambuc  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
33*11be35a1SLionel Sambuc  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
34*11be35a1SLionel Sambuc  * POSSIBILITY OF SUCH DAMAGE.
35*11be35a1SLionel Sambuc  */
36*11be35a1SLionel Sambuc #include <sys/cdefs.h>
37*11be35a1SLionel Sambuc __RCSID("$NetBSD: t_gdtoa.c,v 1.4 2012/09/27 08:19:18 martin Exp $");
38*11be35a1SLionel Sambuc 
39*11be35a1SLionel Sambuc #include <atf-c.h>
40*11be35a1SLionel Sambuc 
41*11be35a1SLionel Sambuc #include <stdio.h>
42*11be35a1SLionel Sambuc #include <stdlib.h>
43*11be35a1SLionel Sambuc 
44*11be35a1SLionel Sambuc /* reported by Maksymilian Arciemowicz */
45*11be35a1SLionel Sambuc 
46*11be35a1SLionel Sambuc ATF_TC(long_format);
47*11be35a1SLionel Sambuc 
ATF_TC_HEAD(long_format,tc)48*11be35a1SLionel Sambuc ATF_TC_HEAD(long_format, tc)
49*11be35a1SLionel Sambuc {
50*11be35a1SLionel Sambuc 
51*11be35a1SLionel Sambuc 	atf_tc_set_md_var(tc, "descr", "Test printf with %%1.262159f format");
52*11be35a1SLionel Sambuc }
53*11be35a1SLionel Sambuc 
ATF_TC_BODY(long_format,tc)54*11be35a1SLionel Sambuc ATF_TC_BODY(long_format, tc)
55*11be35a1SLionel Sambuc {
56*11be35a1SLionel Sambuc 	char *buf;
57*11be35a1SLionel Sambuc 	ATF_REQUIRE_EQ(262161, asprintf(&buf, "%1.262159f", 1.1));
58*11be35a1SLionel Sambuc 	free(buf);
59*11be35a1SLionel Sambuc }
60*11be35a1SLionel Sambuc 
ATF_TP_ADD_TCS(tp)61*11be35a1SLionel Sambuc ATF_TP_ADD_TCS(tp)
62*11be35a1SLionel Sambuc {
63*11be35a1SLionel Sambuc 
64*11be35a1SLionel Sambuc 	ATF_TP_ADD_TC(tp, long_format);
65*11be35a1SLionel Sambuc 
66*11be35a1SLionel Sambuc 	return atf_no_error();
67*11be35a1SLionel Sambuc }
68