Repository: lucy
Updated Branches:
  refs/heads/master a738254b6 -> 614b68f4b


Update test_all.sh script

This script must now be run from a parent directory containing both
the Clownfish and Lucy repos.

Install Clownfish artifacts in a temp dir.

Also build and test the Go bindings.


Project: http://git-wip-us.apache.org/repos/asf/lucy/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucy/commit/614b68f4
Tree: http://git-wip-us.apache.org/repos/asf/lucy/tree/614b68f4
Diff: http://git-wip-us.apache.org/repos/asf/lucy/diff/614b68f4

Branch: refs/heads/master
Commit: 614b68f4bf7c9753101311eb8c984d5aac701e20
Parents: 8d58931
Author: Nick Wellnhofer <wellnho...@aevum.de>
Authored: Fri Mar 4 13:36:28 2016 +0100
Committer: Nick Wellnhofer <wellnho...@aevum.de>
Committed: Fri Mar 4 13:41:23 2016 +0100

----------------------------------------------------------------------
 devel/bin/test_all.sh | 134 +++++++++++++++++++++++++++++++++------------
 1 file changed, 98 insertions(+), 36 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/lucy/blob/614b68f4/devel/bin/test_all.sh
----------------------------------------------------------------------
diff --git a/devel/bin/test_all.sh b/devel/bin/test_all.sh
index c3ffa2e..c5c94b6 100755
--- a/devel/bin/test_all.sh
+++ b/devel/bin/test_all.sh
@@ -15,45 +15,107 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-if test ! -f devel/bin/test_all.sh
-then
-    echo Error: can only run from root dir of repository
+set -e
+
+usage() {
+    cat <<EOF
+
+Run this script from a directory containing the Lucy Git repository in
+subdir "lucy" and the Clownfish repo in subdir "clownfish". You can fetch
+the repos with:
+
+git clone https://git-wip-us.apache.org/repos/asf/lucy-clownfish.git \\
+    clownfish
+git clone https://git-wip-us.apache.org/repos/asf/lucy.git
+EOF
+}
+
+root="$(pwd)"
+cfish_dir="$root/clownfish"
+lucy_dir="$root/lucy"
+tmp_dir="$lucy_dir/test_tmp"
+
+if [ ! -f "$cfish_dir/runtime/core/Clownfish.cfp" ]; then
+    echo "Clownfish not found in $cfish_dir"
+    usage
     exit 1
 fi
 
-# C
-cd clownfish/compiler/c
-./configure && make -j && make -j test
-C_CFC_RESULT=$?
-cd ../../runtime/c
-./configure && make -j && make -j test
-C_CFISH_RUNTIME_RESULT=$?
-cd ../../../c
-./configure && make -j && make -j test
-C_LUCY_RESULT=$?
-make distclean
-
-# Perl
-cd ../clownfish/compiler/perl
-perl Build.PL && ./Build test
-PERL_CFC_RESULT=$?
-cd ../../runtime/perl
-perl Build.PL && ./Build test
-PERL_CFISH_RUNTIME_RESULT=$?
-cd ../../../perl
-perl Build.PL && ./Build test
-PERL_LUCY_RESULT=$?
-./Build realclean
-
-# Exit with a failing value if any test failed.
-if     [ $C_CFC_RESULT -ne 0 ] \
-    || [ $C_CFISH_RUNTIME_RESULT -ne 0 ] \
-    || [ $C_LUCY_RESULT -ne 0 ] \
-    || [ $PERL_CFC_RESULT -ne 0 ] \
-    || [ $PERL_CFISH_RUNTIME_RESULT -ne 0 ] \
-    || [ $PERL_LUCY_RESULT -ne 0 ]
-then
+if [ ! -f "$lucy_dir/core/Lucy.cfp" ]; then
+    echo "Lucy not found in $lucy_dir"
+    usage
     exit 1
 fi
-exit 0
+
+set -x
+
+rm -rf "$tmp_dir"
+
+if [ -z "$1" -o "$1" = go ]; then
+    export GOPATH="$tmp_dir/go:$GOPATH"
+    mkdir -p "$tmp_dir/go/src/git-wip-us.apache.org/repos/asf"
+    ln -s "$cfish_dir" \
+        "$tmp_dir/go/src/git-wip-us.apache.org/repos/asf/lucy-clownfish.git"
+    ln -s "$lucy_dir" \
+        "$tmp_dir/go/src/git-wip-us.apache.org/repos/asf/lucy.git"
+
+    cd "$cfish_dir/compiler/go"
+    go run build.go test
+    go run build.go install
+    go run build.go clean
+
+    cd ../../runtime/go
+    go run build.go test
+    go run build.go install
+    go run build.go clean
+
+    cd "$lucy_dir/go"
+    go run build.go test
+    go run build.go clean
+
+    cd "$root"
+fi
+
+if [ -z "$1" -o "$1" = perl ]; then
+    export PERL5LIB="$tmp_dir/perl/lib/perl5:$PERL5LIB"
+
+    cd "$cfish_dir/compiler/perl"
+    perl Build.PL
+    ./Build test
+    ./Build install --install-base "$tmp_dir/perl"
+
+    cd ../../runtime/perl
+    perl Build.PL
+    ./Build test
+    ./Build install --install-base "$tmp_dir/perl"
+    ./Build realclean
+
+    cd "$lucy_dir/perl"
+    perl Build.PL
+    ./Build test
+    ./Build realclean
+
+    cd "$root"
+fi
+
+if [ -z "$1" -o "$1" = c ]; then
+    cd "$cfish_dir/compiler/c"
+    ./configure
+    make -j test
+
+    cd ../../runtime/c
+    ./configure
+    make -j test
+    ./install.sh --prefix "$tmp_dir/c"
+    make distclean
+
+    cd "$lucy_dir/c"
+    ./configure --clownfish-prefix "$tmp_dir/c"
+    make -j test
+    make distclean
+
+    cd "$root"
+fi
+
+rm -rf "$tmp_dir"
 

Reply via email to