[PATCH 16/19] build-perf-test-wrapper.sh: parse args with getopts

Markus Lehtonen
2016-08-24T07:13:35Z

Use getopts for parsing the command line. This changes the usage so that
if a commit (to-be-tested) is defined it must be given by using '-c',
instead of a positional argument.

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
---
scripts/contrib/build-perf-test-wrapper.sh | 30 +++++++++++++++++++++++-------
1 file changed, 23 insertions(+), 7 deletions(-)

diff --git a/scripts/contrib/build-perf-test-wrapper.sh b/scripts/contrib/build-perf-test-wrapper.sh
index e8e8021..8eb4fdb 100755
--- a/scripts/contrib/build-perf-test-wrapper.sh
+++ b/scripts/contrib/build-perf-test-wrapper.sh
@@ -20,17 +20,33 @@

script=`basename $0`
usage () {
- echo "Usage: $script [COMMITISH]"
+cat << EOF
+Usage: $script [-h] [-c COMMITISH] [-C GIT_REPO]
+
+Optional arguments:
+ -h show this help and exit.
+ -c COMMITISH test (checkout) this commit
+EOF
}

-if [ $# -gt 1 ]; then
- usage
- exit 1
-fi
-commitish=$1

-echo "Running on `uname -n`"
+# Parse command line arguments
+commitish=""
+while getopts "hc:" opt; do
+ case $opt in
+ h) usage
+ exit 0
+ ;;
+ c) commitish=$OPTARG
+ ;;
+ *) usage
+ exit 1
+ ;;
+ esac
+done
+

+echo "Running on `uname -n`"
if ! git_topdir=$(git rev-parse --show-toplevel); then
echo "The current working dir doesn't seem to be a git clone. Please cd there before running `basename $0`"
exit 1
--
2.6.6