| 
									
										
										
										
											2005-06-09 00:08:13 +00:00
										 |  |  | #!/bin/bash
 | 
					
						
							|  |  |  | echo "$1 ($2, $3)..." | 
					
						
							| 
									
										
										
										
											2014-05-01 18:13:21 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2005-06-09 00:08:13 +00:00
										 |  |  | make clean 1>/dev/null 2>/dev/null | 
					
						
							| 
									
										
										
										
											2014-05-01 18:13:21 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2005-06-09 00:08:13 +00:00
										 |  |  | echo -n "building..." | 
					
						
							| 
									
										
										
										
											2014-05-01 18:13:21 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  | CFLAGS="$2 $CFLAGS $4" EXTRALIBS="$5" make -f $3 test tv_gen 1>gcc_1.txt 2>gcc_2.txt | 
					
						
							|  |  |  | mret=$? | 
					
						
							|  |  |  | cnt=$(wc -l < gcc_2.txt) | 
					
						
							|  |  |  | # ignore 2 lines since ar prints to stderr instead of stdout and ar is called for  | 
					
						
							|  |  |  | # $(LIBNAME) and testprof/$(LIBTEST_S) | 
					
						
							|  |  |  | if [[ $mret -ne 0 ]] || [[ $cnt -gt 2 ]]; then | 
					
						
							|  |  |  |    echo "build $1 failed! printing gcc_2.txt now for convenience" | 
					
						
							|  |  |  |    cat gcc_2.txt | 
					
						
							|  |  |  |    exit 1 | 
					
						
							|  |  |  | fi | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2005-06-09 00:08:13 +00:00
										 |  |  | echo -n "testing..." | 
					
						
							| 
									
										
										
										
											2014-05-01 18:13:21 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2005-06-09 00:08:13 +00:00
										 |  |  | if [ -a test ] && [ -f test ] && [ -x test ]; then | 
					
						
							| 
									
										
										
										
											2011-03-21 21:10:23 +01:00
										 |  |  |    ((./test >test_std.txt 2>test_err.txt && ./tv_gen > tv.txt) && echo "$1 test passed." && echo "y" > testok.txt) || (echo "$1 test failed, look at test_err.txt" && exit 1) | 
					
						
							| 
									
										
										
										
											2005-06-09 00:08:13 +00:00
										 |  |  |    if find *_tv.txt -type f 1>/dev/null 2>/dev/null ; then | 
					
						
							| 
									
										
										
										
											2013-04-18 16:40:56 +02:00
										 |  |  |       for f in *_tv.txt; do if (diff -i -w -B $f notes/$f) then true; else (echo "tv_gen $f failed" && rm -f testok.txt && exit 1); fi; done | 
					
						
							| 
									
										
										
										
											2005-06-09 00:08:13 +00:00
										 |  |  |    fi | 
					
						
							|  |  |  | fi | 
					
						
							|  |  |  | if [ -a testok.txt ] && [ -f testok.txt ]; then | 
					
						
							|  |  |  |    exit 0 | 
					
						
							|  |  |  | fi | 
					
						
							|  |  |  | exit 1 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-04-29 21:13:49 +02:00
										 |  |  | # $Source$ | 
					
						
							|  |  |  | # $Revision$ | 
					
						
							|  |  |  | # $Date$ |