181e874d2SHans Rosenfeld#! /usr/bin/ksh 281e874d2SHans Rosenfeld# 381e874d2SHans Rosenfeld# This file and its contents are supplied under the terms of the 481e874d2SHans Rosenfeld# Common Development and Distribution License ("CDDL"), version 1.0. 581e874d2SHans Rosenfeld# You may only use this file in accordance with the terms of version 681e874d2SHans Rosenfeld# 1.0 of the CDDL. 781e874d2SHans Rosenfeld# 881e874d2SHans Rosenfeld# A full copy of the text of the CDDL should have accompanied this 981e874d2SHans Rosenfeld# source. A copy of the CDDL is also available via the Internet at 1081e874d2SHans Rosenfeld# http://www.illumos.org/license/CDDL. 1181e874d2SHans Rosenfeld# 1281e874d2SHans Rosenfeld 1381e874d2SHans Rosenfeld# 1481e874d2SHans Rosenfeld# Copyright 2025 Hans Rosenfeld 1581e874d2SHans Rosenfeld# 1681e874d2SHans Rosenfeld 1781e874d2SHans Rosenfeldunalias -a 1881e874d2SHans Rosenfeldexport LANG=C.UTF-8 1981e874d2SHans Rosenfeldexport LC_ALL=C.UTF-8 2081e874d2SHans Rosenfeld 2181e874d2SHans RosenfeldFAILED=0 2281e874d2SHans Rosenfeld 2381e874d2SHans Rosenfeldcleanup () 2481e874d2SHans Rosenfeld{ 2581e874d2SHans Rosenfeld rm -f ${TEMP}/c{89,99}.exp 2681e874d2SHans Rosenfeld rm -f ${TEMP}/c99.{32,64} 2781e874d2SHans Rosenfeld rm -f ${TEMP}/c89 2881e874d2SHans Rosenfeld rmdir ${TEMP} 2981e874d2SHans Rosenfeld} 3081e874d2SHans Rosenfeld 3181e874d2SHans Rosenfeldcompare () 3281e874d2SHans Rosenfeld{ 3381e874d2SHans Rosenfeld if cmp -s ${TEMP}/$1 ${TEMP}/$2; then 3481e874d2SHans Rosenfeld echo "$2 test passed" 3581e874d2SHans Rosenfeld else 3681e874d2SHans Rosenfeld FAILED=1 3781e874d2SHans Rosenfeld echo "$2 test failed" >2 3881e874d2SHans Rosenfeld diff -u ${TEMP}/$1 ${TEMP}/$2 3981e874d2SHans Rosenfeld fi 4081e874d2SHans Rosenfeld} 4181e874d2SHans Rosenfeld 4281e874d2SHans RosenfeldTESTS=/opt/libc-tests/tests 4381e874d2SHans RosenfeldTEMP=$(mktemp -d -t intmax) 4481e874d2SHans Rosenfeld 4581e874d2SHans Rosenfeld[[ -z "${TEMP}" ]] && exit 1 4681e874d2SHans Rosenfeld 4781e874d2SHans Rosenfeldtrap cleanup EXIT 4881e874d2SHans Rosenfeld 4981e874d2SHans Rosenfeldcat >${TEMP}/c89.exp <<EOF 5081e874d2SHans Rosenfeldlong long: 0xffffffffffffffff 5181e874d2SHans Rosenfeldintmax_t: 0xffffffff 5281e874d2SHans RosenfeldEOF 5381e874d2SHans Rosenfeld 5481e874d2SHans Rosenfeld(( $? != 0 )) && exit 1 5581e874d2SHans Rosenfeld 5681e874d2SHans Rosenfeldcat >${TEMP}/c99.exp <<EOF 5781e874d2SHans Rosenfeldlong long: 0xffffffffffffffff 5881e874d2SHans Rosenfeldintmax_t: 0xffffffffffffffff 5981e874d2SHans RosenfeldEOF 6081e874d2SHans Rosenfeld 6181e874d2SHans Rosenfeld(( $? != 0 )) && exit 1 6281e874d2SHans Rosenfeld 6381e874d2SHans Rosenfeld${TESTS}/printf-intmax.32 >${TEMP}/c99.32 6481e874d2SHans Rosenfeld${TESTS}/printf-intmax.64 >${TEMP}/c99.64 6581e874d2SHans Rosenfeld${TESTS}/printf-intmax.c89 >${TEMP}/c89 6681e874d2SHans Rosenfeld 6781e874d2SHans Rosenfeldcompare c89.exp c89 6881e874d2SHans Rosenfeldcompare c99.exp c99.32 6981e874d2SHans Rosenfeldcompare c99.exp c99.64 7081e874d2SHans Rosenfeld 7181e874d2SHans Rosenfeld(( FAILED != 0 )) && exit 1 7281e874d2SHans Rosenfeld 73*15bc9d2eSDan McDonaldexit 0 74