1*92925e85Srillig# $NetBSD: t_error.sh,v 1.1 2023/08/26 10:06:16 rillig Exp $ 2*92925e85Srillig# 3*92925e85Srillig# Copyright (c) 2023 The NetBSD Foundation, Inc. 4*92925e85Srillig# All rights reserved. 5*92925e85Srillig# 6*92925e85Srillig# This code is derived from software contributed to The NetBSD Foundation 7*92925e85Srillig# by Roland Illig. 8*92925e85Srillig# 9*92925e85Srillig# Redistribution and use in source and binary forms, with or without 10*92925e85Srillig# modification, are permitted provided that the following conditions 11*92925e85Srillig# are met: 12*92925e85Srillig# 1. Redistributions of source code must retain the above copyright 13*92925e85Srillig# notice, this list of conditions and the following disclaimer. 14*92925e85Srillig# 2. Redistributions in binary form must reproduce the above copyright 15*92925e85Srillig# notice, this list of conditions and the following disclaimer in the 16*92925e85Srillig# documentation and/or other materials provided with the distribution. 17*92925e85Srillig# 18*92925e85Srillig# THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS 19*92925e85Srillig# ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED 20*92925e85Srillig# TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 21*92925e85Srillig# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS 22*92925e85Srillig# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 23*92925e85Srillig# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 24*92925e85Srillig# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 25*92925e85Srillig# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 26*92925e85Srillig# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 27*92925e85Srillig# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 28*92925e85Srillig# POSSIBILITY OF SUCH DAMAGE. 29*92925e85Srillig# 30*92925e85Srillig 31*92925e85Srilligcreate_file() { 32*92925e85Srillig local fn="$1"; shift 33*92925e85Srillig printf '%s\n' "$@" > "$fn" 34*92925e85Srillig} 35*92925e85Srillig 36*92925e85Srilligatf_test_case cc 37*92925e85Srilligcc_body() { 38*92925e85Srillig create_file code.c \ 39*92925e85Srillig 'goto error' 40*92925e85Srillig create_file err \ 41*92925e85Srillig 'code.c:1: error: syntax error' 42*92925e85Srillig create_file expected \ 43*92925e85Srillig '/*###1 [cc] error: syntax error%%%*/' \ 44*92925e85Srillig 'goto error' 45*92925e85Srillig 46*92925e85Srillig atf_check -o ignore \ 47*92925e85Srillig error err 48*92925e85Srillig atf_check -o 'file:expected' cat code.c 49*92925e85Srillig} 50*92925e85Srillig 51*92925e85Srilligatf_test_case f77 52*92925e85Srilligf77_body() { 53*92925e85Srillig create_file code.f \ 54*92925e85Srillig 'doi=1,1,1' 55*92925e85Srillig create_file err \ 56*92925e85Srillig 'Compiler error line 1 of code.f: syntax error' 57*92925e85Srillig create_file expected \ 58*92925e85Srillig 'C###1 [f77] Compiler error line 1 of code.f syntax error%%%' \ 59*92925e85Srillig 'doi=1,1,1' 60*92925e85Srillig 61*92925e85Srillig atf_check -o ignore \ 62*92925e85Srillig error err 63*92925e85Srillig atf_check -o 'file:expected' cat code.f 64*92925e85Srillig} 65*92925e85Srillig 66*92925e85Srilligatf_test_case lint 67*92925e85Srilliglint_body() { 68*92925e85Srillig create_file code.c \ 69*92925e85Srillig 'goto error' 70*92925e85Srillig create_file err \ 71*92925e85Srillig 'code.c(1): syntax error' 72*92925e85Srillig create_file expected \ 73*92925e85Srillig '/*###1 [lint] syntax error%%%*/' \ 74*92925e85Srillig 'goto error' 75*92925e85Srillig 76*92925e85Srillig atf_check -o ignore \ 77*92925e85Srillig error err 78*92925e85Srillig atf_check -o 'file:expected' cat code.c 79*92925e85Srillig} 80*92925e85Srillig 81*92925e85Srilligatf_test_case mod2 82*92925e85Srilligmod2_body() { 83*92925e85Srillig create_file code.m2 \ 84*92925e85Srillig 'END.' 85*92925e85Srillig create_file err \ 86*92925e85Srillig 'File code.m2, line 1: missing BEGIN' 87*92925e85Srillig create_file expected \ 88*92925e85Srillig '(*###1 [mod2] missing BEGIN%%%*)' \ 89*92925e85Srillig 'END.' 90*92925e85Srillig 91*92925e85Srillig atf_check -o ignore \ 92*92925e85Srillig error err 93*92925e85Srillig atf_check -o 'file:expected' cat code.m2 94*92925e85Srillig} 95*92925e85Srillig 96*92925e85Srilligatf_init_test_cases() { 97*92925e85Srillig atf_add_test_case cc 98*92925e85Srillig atf_add_test_case f77 99*92925e85Srillig atf_add_test_case lint 100*92925e85Srillig atf_add_test_case mod2 101*92925e85Srillig} 102