1#!/usr/bin/perl -w 2 3# Copyright (c) 2002-2003, Intel Corporation. All rights reserved. 4# Created by: rusty.lynch REMOVE-THIS AT intel DOT com 5# This file is licensed under the GPL license. For the full content 6# of this license, see the COPYING file at the top level of this 7# source tree. 8 9 10 11my (@signals) = ("SIGABRT", "SIGALRM", "SIGBUS", "SIGCHLD", "SIGCONT", 12 "SIGFPE", "SIGHUP", "SIGILL", "SIGINT", "SIGPIPE", 13 "SIGQUIT", "SIGSEGV", "SIGTERM", "SIGTSTP", "SIGTTIN", 14 "SIGTTOU", "SIGUSR1", "SIGUSR2", "SIGPOLL", "SIGPROF", 15 "SIGSYS", "SIGTRAP", "SIGURG", "SIGVTALRM", "SIGXCPU", 16 "SIGXFSZ"); 17 18my (%testcases, $prev); 19 20$prev = "SIGALRM"; 21 22open (LIST, "ls ./templates/*.in|") or die "Could not get listing"; 23while (<LIST>) { 24 my ($fname) = $_; 25 chomp $fname; 26 27 if ($fname =~ /template_([0-9]*)-.*\.in/) { 28 my ($assertion) = $1; 29 30 open (TEMPLATE, "$fname") or die "Could not open $fname"; 31 my (@t) = <TEMPLATE>; 32 close TEMPLATE; 33 34 print "Building source based on $fname\n"; 35 foreach (@signals) { 36 my ($signal) = $_; 37 38 $testcases{$assertion}++; 39 open (OUT, ">$assertion-" . $testcases{$assertion} . ".c") 40 or die "Could not open source file"; 41 foreach (@t) { 42 my ($line) = $_; 43 $line =~ s/%%MYSIG%%/$signal/; 44 $line =~ s/%%MYSIG2%%/$prev/; 45 print OUT $line; 46 } 47 close OUT; 48 49 $prev = $signal; 50 } 51 } 52} 53 54 55