diff --git a/setup-test-dirs.sh b/setup-test-dirs.sh old mode 100644 new mode 100755 index 8b61e78394..c4db61ec16 --- a/setup-test-dirs.sh +++ b/setup-test-dirs.sh @@ -1,27 +1,27 @@ -#!/bin/bash +#!/usr/bin/env bash # Create symlinks from ~/mitx_all/data or $ROOT/data, with root passed as first arg # to all the test courses in mitx/common/test/data/ -ROOT=$HOME/mitx_all - -# If there is a parameter, and it's a dir, assuming that's the path to -# the edX root dir, with data and mitx inside it -if [ -d "$1" ]; then - ROOT=$1 +# posix compliant sanity check +if [ -z $BASH ] || [ $BASH = "/bin/sh" ]; then +echo "Please use the bash interpreter to run this script" +exit 1 fi -if [ ! -d "$ROOT" ]; then +ROOT="${1:-$HOME/mitx_all}" + +if [[ ! -d "$ROOT" ]]; then echo "'$ROOT' is not a directory" exit 1 fi -if [ ! -d "$ROOT/mitx" ]; then +if [[ ! -d "$ROOT/mitx" ]]; then echo "'$ROOT' is not the root mitx_all directory" exit 1 fi -if [ ! -d "$ROOT/data" ]; then +if [[ ! -d "$ROOT/data" ]]; then echo "'$ROOT' is not the root mitx_all directory" exit 1 fi @@ -29,11 +29,15 @@ fi echo "ROOT is $ROOT" cd $ROOT/data -for course in `ls ../mitx/common/test/data/` + +for course in $(/bin/ls ../mitx/common/test/data/) do # Get rid of the symlink if it already exists + if [[ -L "$course" ]]; then + echo "Removing link to '$course'" + rm -f $course + fi echo "Make link to '$course'" - rm -f "$course" # Create it ln -s "../mitx/common/test/data/$course" done