Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/mono.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'mcs/class/System.Drawing/Samples/run-samples.sh')
-rwxr-xr-xmcs/class/System.Drawing/Samples/run-samples.sh148
1 files changed, 148 insertions, 0 deletions
diff --git a/mcs/class/System.Drawing/Samples/run-samples.sh b/mcs/class/System.Drawing/Samples/run-samples.sh
new file mode 100755
index 00000000000..3f8af55f0ce
--- /dev/null
+++ b/mcs/class/System.Drawing/Samples/run-samples.sh
@@ -0,0 +1,148 @@
+#!/bin/sh
+################## System.Drawing: run-samples.sh #######################
+# #
+# This script compiles and runs samples from each directory in #
+# System.Drawing.Samples directory. Compiled exes and output #
+# images, if any, are saved to respective directories. #
+# Compile time logs are saved to compile-log.txt and runtime logs are #
+# saved to runtime-log.txt. Both log files are saved at the same #
+# location where this script is run. #
+# #
+# Following are the two ways to run this script, #
+# $ run-samples.sh #
+# OR #
+# $ run-samples.sh [option] #
+# #
+# NOTE: Possible options are (m)ake, (c)lean, (r)un, (a)ll #
+# --run is default option, when no option is specified. #
+# Only one option can be specified at a time. #
+# -m, --make - compiles all the samples #
+# -c, --clean - deletes all the exes generated #
+# -r, --run - compiles and runs all the samples. [Default] #
+# -a, --all - runs all the samples and also cleans #
+# #
+# **** This script would hang, if any sample hangs!!! #
+# #
+# Authors: #
+# Sachin <skumar1@novell.com> #
+# Ravindra <rkumar@novell.com> #
+# #
+# Copyright (C) 2004, Novell, Inc. http://www.novell.com #
+# #
+#########################################################################
+
+# Prints the script usage
+print_usage ()
+{
+ echo "Usage: run-samples [option]"
+ echo "Only one option is processed at a time."
+ echo "Possible options are: (m)ake, (c)lean, (r)un, (a)ll"
+ echo " -m, --make: Just compiles all the samples."
+ echo " -c, --clean: Just removes all the exes."
+ echo " -r, --run: makes and runs all the samples. [Default]"
+ echo " -a, --all: same as run and clean combined."
+ echo " --run option is assumed, if no option is specified."
+ exit 1
+}
+
+# Compiles all the samples
+compile ()
+{
+ echo === Compiling samples in $dir ===
+
+ for src in *.cs
+ do
+ echo " $src"
+ echo -n " $src:: " >> $CLOG
+ $MCS $COMPILE_OPS $src >> $CLOG 2>&1
+ done
+}
+
+# Deletes all the exes
+clean ()
+{
+ echo === Cleaning $dir ===
+ rm *.exe
+}
+
+# Compiles and runs all the samples
+run ()
+{
+ compile
+ echo === Running samples in $dir ===
+ for exe in *.exe
+ do
+ echo " $exe"
+ echo >> $RLOG
+ echo "$dir: $exe :: " >> $RLOG
+ echo >> $RLOG
+ $MONO $RUN_OPS $exe >> $RLOG 2>&1
+ done
+}
+
+# Compliles, runs and deletes all the exes
+all ()
+{
+ run
+ clean
+}
+
+# Environment setup
+
+ROOT=$PWD
+CLOG=$ROOT/compile-log.txt
+RLOG=$ROOT/runtime-log.txt
+MCS=mcs
+MONO=mono
+LIB=System.Drawing
+COMPILE_OPS="-g -r:$LIB"
+RUN_OPS=--debug
+
+# Uncomment the following line, if you are running this script on MS
+#MSNet=yes
+
+# We don't process more than one command line arguments
+if [ $# -gt 1 ]; then
+ print_usage
+fi
+
+# Default option is run, if no command line argument is present
+if [ -z $1 ]; then
+ arg=--run
+else
+ arg=$1
+fi
+
+# Creates the log files
+echo '*** LOG FILE for compile-time messages for System.Drawing Samples ***' > $CLOG
+echo '*** LOG FILE for run-time output messages for System.Drawing Samples ***' > $RLOG
+
+# All directories are processed under Samples.
+for dir in `ls -d System.Drawing*`
+ do
+ echo >> $CLOG
+ echo ===== $dir ===== >> $CLOG
+
+ echo >> $RLOG
+ echo ===== $dir ===== >> $RLOG
+
+ # Change dir if it exists
+ if [ -d $ROOT/$dir ]; then
+ cd $ROOT/$dir
+ case $arg in
+ "-m") compile ;;
+ "--make") compile ;;
+ "-r") run ;;
+ "--run") run ;;
+ "-a") all ;;
+ "--all") all ;;
+ "-c") clean ;;
+ "--clean") clean ;;
+ *) print_usage ;;
+ esac
+ cd ..
+ else
+ echo "$dir not found." >> $CLOG
+ echo "$dir not found." >> $RLOG
+ fi
+done