| 
									
										
										
										
											2009-04-06 15:53:22 +01:00
										 |  |  | #!/bin/bash
 | 
					
						
							| 
									
										
										
										
											2006-11-23 00:18:43 +00:00
										 |  |  | # libCStreamedXML/test.sh | 
					
						
							|  |  |  | # | 
					
						
							| 
									
										
										
										
											2009-01-13 13:37:47 +00:00
										 |  |  | #  (c)2009, Laurence Withers, <l@lwithers.me.uk>. | 
					
						
							|  |  |  | #  Released under the GNU GPLv3. See file COPYING or | 
					
						
							| 
									
										
										
										
											2006-11-23 00:18:43 +00:00
										 |  |  | #  http://www.gnu.org/copyleft/gpl.html for details. | 
					
						
							|  |  |  | # | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # Running this script on its own will display a summary of all the | 
					
						
							|  |  |  | # available tests; running it with arguments runs the relevant test. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # This runs a test, setting the correct library path. | 
					
						
							|  |  |  | run_test() { | 
					
						
							|  |  |  |     EXE=obj/tests/$1 | 
					
						
							|  |  |  |     shift | 
					
						
							|  |  |  |     if [ ! -x ${EXE} ] | 
					
						
							|  |  |  |     then | 
					
						
							|  |  |  |         echo "No such test '${EXE}'" | 
					
						
							|  |  |  |         return 1 | 
					
						
							|  |  |  |     fi | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-01-13 13:37:47 +00:00
										 |  |  |     LD_LIBRARY_PATH="obj" "${EXE}" "$@" || return 1 | 
					
						
							| 
									
										
										
										
											2006-11-23 00:18:43 +00:00
										 |  |  |     return 0 | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # This prints summary output from each test app. | 
					
						
							|  |  |  | print_tests() { | 
					
						
							|  |  |  |     echo "Available tests" | 
					
						
							|  |  |  |     echo "---------------------------------------------------------------------" | 
					
						
							|  |  |  |     for EXE in obj/tests/* | 
					
						
							|  |  |  |     do | 
					
						
							| 
									
										
										
										
											2009-04-06 15:53:22 +01:00
										 |  |  |         [ -x "${EXE}" ] || continue | 
					
						
							|  |  |  |         NAME="$(echo "${EXE}" | sed 's,obj/tests/,,')" | 
					
						
							| 
									
										
										
										
											2006-11-23 00:18:43 +00:00
										 |  |  |         echo -ne "${NAME}\t" | 
					
						
							| 
									
										
										
										
											2009-04-06 15:53:22 +01:00
										 |  |  |         LD_LIBRARY_PATH="obj" "${EXE}" --print-summary | 
					
						
							| 
									
										
										
										
											2006-11-23 00:18:43 +00:00
										 |  |  |     done | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # Main script | 
					
						
							|  |  |  | if [ $# -eq 0 ] | 
					
						
							|  |  |  | then | 
					
						
							|  |  |  |     print_tests | 
					
						
							|  |  |  |     exit 0 | 
					
						
							|  |  |  | fi | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | run_test $* | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # kate: replace-trailing-space-save true; space-indent true; tab-width 4; | 
					
						
							|  |  |  | # vim: expandtab:ts=4:sw=4 |