Author: brane
Date: Tue Nov 11 18:37:07 2014
New Revision: 1638240

URL: http://svn.apache.org/r1638240
Log:
Add build and test scripts for the svn-x64-macosx build slave.

[in tools/buildbot/slaves/svn-x64-macosx]
* mkramdisk.sh, rmramdisk.sh, setenv.sh,
  svnclean.sh, svnbuild.sh, svncheck.sh: New files.

Added:
    subversion/trunk/tools/buildbot/slaves/svn-x64-macosx/mkramdisk.sh   (with 
props)
    subversion/trunk/tools/buildbot/slaves/svn-x64-macosx/rmramdisk.sh   (with 
props)
    subversion/trunk/tools/buildbot/slaves/svn-x64-macosx/setenv.sh
    subversion/trunk/tools/buildbot/slaves/svn-x64-macosx/svnbuild.sh   (with 
props)
    subversion/trunk/tools/buildbot/slaves/svn-x64-macosx/svncheck.sh   (with 
props)
    subversion/trunk/tools/buildbot/slaves/svn-x64-macosx/svnclean.sh   (with 
props)
Modified:
    subversion/trunk/tools/buildbot/slaves/svn-x64-macosx/   (props changed)

Propchange: subversion/trunk/tools/buildbot/slaves/svn-x64-macosx/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Tue Nov 11 18:37:07 2014
@@ -0,0 +1,2 @@
+ramdisk
+svn-wc-*

Added: subversion/trunk/tools/buildbot/slaves/svn-x64-macosx/mkramdisk.sh
URL: 
http://svn.apache.org/viewvc/subversion/trunk/tools/buildbot/slaves/svn-x64-macosx/mkramdisk.sh?rev=1638240&view=auto
==============================================================================
--- subversion/trunk/tools/buildbot/slaves/svn-x64-macosx/mkramdisk.sh (added)
+++ subversion/trunk/tools/buildbot/slaves/svn-x64-macosx/mkramdisk.sh Tue Nov 
11 18:37:07 2014
@@ -0,0 +1,34 @@
+#!/bin/bash
+
+#  Licensed to the Apache Software Foundation (ASF) under one
+#  or more contributor license agreements.  See the NOTICE file
+#  distributed with this work for additional information
+#  regarding copyright ownership.  The ASF licenses this file
+#  to you under the Apache License, Version 2.0 (the
+#  "License"); you may not use this file except in compliance
+#  with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+#  Unless required by applicable law or agreed to in writing,
+#  software distributed under the License is distributed on an
+#  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+#  KIND, either express or implied.  See the License for the
+#  specific language governing permissions and limitations
+#  under the License.
+
+set -e
+set -x
+
+if [ -z "$1" ]; then
+    echo "Missing parameter: volume name"
+    exit 1
+fi
+
+volume="/Volumes/$1"
+
+mount | fgrep "${volume}" >/dev/null || {
+    device=$(hdiutil attach -nomount ram://1200000)
+    newfs_hfs -M 0700 -v "$1" "${device}"
+    hdiutil mountvol "${device}"
+}

Propchange: subversion/trunk/tools/buildbot/slaves/svn-x64-macosx/mkramdisk.sh
------------------------------------------------------------------------------
    svn:executable = *

Added: subversion/trunk/tools/buildbot/slaves/svn-x64-macosx/rmramdisk.sh
URL: 
http://svn.apache.org/viewvc/subversion/trunk/tools/buildbot/slaves/svn-x64-macosx/rmramdisk.sh?rev=1638240&view=auto
==============================================================================
--- subversion/trunk/tools/buildbot/slaves/svn-x64-macosx/rmramdisk.sh (added)
+++ subversion/trunk/tools/buildbot/slaves/svn-x64-macosx/rmramdisk.sh Tue Nov 
11 18:37:07 2014
@@ -0,0 +1,32 @@
+#!/bin/bash
+
+#  Licensed to the Apache Software Foundation (ASF) under one
+#  or more contributor license agreements.  See the NOTICE file
+#  distributed with this work for additional information
+#  regarding copyright ownership.  The ASF licenses this file
+#  to you under the Apache License, Version 2.0 (the
+#  "License"); you may not use this file except in compliance
+#  with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+#  Unless required by applicable law or agreed to in writing,
+#  software distributed under the License is distributed on an
+#  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+#  KIND, either express or implied.  See the License for the
+#  specific language governing permissions and limitations
+#  under the License.
+
+set -e
+set -x
+
+if [ -z "$1" ]; then
+    echo "Missing parameter: volume name"
+    exit 1
+fi
+
+volume="/Volumes/$1"
+
+mount | fgrep "${volume}" >/dev/null && {
+    hdiutil detach "${volume}" -force
+}

Propchange: subversion/trunk/tools/buildbot/slaves/svn-x64-macosx/rmramdisk.sh
------------------------------------------------------------------------------
    svn:executable = *

Added: subversion/trunk/tools/buildbot/slaves/svn-x64-macosx/setenv.sh
URL: 
http://svn.apache.org/viewvc/subversion/trunk/tools/buildbot/slaves/svn-x64-macosx/setenv.sh?rev=1638240&view=auto
==============================================================================
--- subversion/trunk/tools/buildbot/slaves/svn-x64-macosx/setenv.sh (added)
+++ subversion/trunk/tools/buildbot/slaves/svn-x64-macosx/setenv.sh Tue Nov 11 
18:37:07 2014
@@ -0,0 +1,66 @@
+#  Licensed to the Apache Software Foundation (ASF) under one
+#  or more contributor license agreements.  See the NOTICE file
+#  distributed with this work for additional information
+#  regarding copyright ownership.  The ASF licenses this file
+#  to you under the Apache License, Version 2.0 (the
+#  "License"); you may not use this file except in compliance
+#  with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+#  Unless required by applicable law or agreed to in writing,
+#  software distributed under the License is distributed on an
+#  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+#  KIND, either express or implied.  See the License for the
+#  specific language governing permissions and limitations
+#  under the License.
+
+## This script calls a helper that provides the folloing environemnt
+## variables:
+##
+##     PATH                     The search path
+##     SVNBB_OPENSSL            OpenSSL installation prefix
+##     SVNBB_BDB                Berkeley DB installation prefix
+##     SVNBB_SWIG               Swig installation prefix
+##     SVNBB_SERF               Serf installation prefix
+##                              Note: Serf should be built only
+##                                    with the system APR/-Util.
+##     SVNBB_APR_13_NOTHREAD    Path of APR-1.3 with threading disabled
+##     SVNBB_APR_15             Path of APR-1.5
+##     SVNBB_APR_20_DEV         Path of APR-2.0
+##     SVNBB_JUNIT              The path of the junit.jar
+##
+## The invoking script will set local variable named ${scripts} that
+## is the absolute path the parent of this file.
+
+# Modify this to suit your deployment
+environment=$(cd "${scripts}/../tools" && pwd)/environment.sh
+
+eval $(${environment})
+export PATH
+export SVNBB_BDB
+export SVNBB_SWIG
+export SVNBB_SERF
+export SVNBB_APR_13_NOTHREAD
+export SVNBB_APR_15
+export SVNBB_APR_20_DEV
+export SVNBB_JUNIT
+
+
+# A file named 'ramdisk' containing the uniqe RAM disk volume name
+# used by the build slave must be present in the same directory as the
+# scripts.
+
+if [ ! -f "${scripts}/ramdisk" ]; then
+    echo "Missing config file: 'ramdisk'"
+    exit 1
+fi
+
+# Set the name of the RAMdisk volume
+volume_name=$(head -1 "${scripts}/ramdisk")
+
+# Set the absolute source path
+abssrc=$(pwd)
+
+# Set the absolute build path
+absbld="/Volumes/${volume_name}"

Added: subversion/trunk/tools/buildbot/slaves/svn-x64-macosx/svnbuild.sh
URL: 
http://svn.apache.org/viewvc/subversion/trunk/tools/buildbot/slaves/svn-x64-macosx/svnbuild.sh?rev=1638240&view=auto
==============================================================================
--- subversion/trunk/tools/buildbot/slaves/svn-x64-macosx/svnbuild.sh (added)
+++ subversion/trunk/tools/buildbot/slaves/svn-x64-macosx/svnbuild.sh Tue Nov 
11 18:37:07 2014
@@ -0,0 +1,84 @@
+#!/bin/bash
+
+#  Licensed to the Apache Software Foundation (ASF) under one
+#  or more contributor license agreements.  See the NOTICE file
+#  distributed with this work for additional information
+#  regarding copyright ownership.  The ASF licenses this file
+#  to you under the Apache License, Version 2.0 (the
+#  "License"); you may not use this file except in compliance
+#  with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+#  Unless required by applicable law or agreed to in writing,
+#  software distributed under the License is distributed on an
+#  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+#  KIND, either express or implied.  See the License for the
+#  specific language governing permissions and limitations
+#  under the License.
+
+set -e
+set -x
+
+scripts=$(cd $(dirname "$0") && pwd)
+
+. ${scripts}/setenv.sh
+
+${scripts}/mkramdisk.sh ${volume_name}
+
+# These are the default APR and Serf config options
+serfconfig="--with-serf=${SVNBB_SERF} --with-apxs=/usr/sbin/apxs"
+
+# An optional parameter tells build scripts which version of APR to use
+if [ ! -z "$1" ]; then
+    aprdir=$(eval 'echo $SVNBB_'"$1")
+fi
+if [ ! -z "${aprdir}" -a  -d "${aprdir}" ]; then
+    aprconfig="--with-apr=${aprdir} --with-apr-util=${aprdir}"
+    serfconfig=" --without-serf --without-apxs"
+fi
+
+#
+# Step 1: get the latest and greatest amalgamanted SQLite
+#
+
+echo "============ get-deps.sh sqlite"
+cd ${abssrc}
+rm -fr sqlite-amalgamation
+./get-deps.sh sqlite
+
+#
+# Step 2: Regenerate build scripts
+#
+
+echo "\n============ autogen.sh\n"
+cd ${abssrc}
+./autogen.sh
+
+#
+# Step 3: Configure
+#
+
+echo "============ configure"
+cd ${absbld}
+env CC=clang CXX=clang++ \
+${abssrc}/configure \
+    --prefix="${absbld}/.install-prefix" \
+    --disable-debug \
+    --enable-optimize \
+    --disable-nls \
+    --disable-mod-activation \
+    ${aprconfig}${serfconfig} \
+    --with-swig="${SVNBB_SWIG}" \
+    --with-berkeley-db=db.h:"${SVNBB_BDB}/include":${SVNBB_BDB}/lib:db \
+    --enable-javahl \
+    --without-jikes \
+    --with-junit="${SVNBB_JUNIT}"
+
+#
+# Step 4: build
+#
+
+echo "============ make"
+cd ${absbld}
+make -j4

Propchange: subversion/trunk/tools/buildbot/slaves/svn-x64-macosx/svnbuild.sh
------------------------------------------------------------------------------
    svn:executable = *

Added: subversion/trunk/tools/buildbot/slaves/svn-x64-macosx/svncheck.sh
URL: 
http://svn.apache.org/viewvc/subversion/trunk/tools/buildbot/slaves/svn-x64-macosx/svncheck.sh?rev=1638240&view=auto
==============================================================================
--- subversion/trunk/tools/buildbot/slaves/svn-x64-macosx/svncheck.sh (added)
+++ subversion/trunk/tools/buildbot/slaves/svn-x64-macosx/svncheck.sh Tue Nov 
11 18:37:07 2014
@@ -0,0 +1,88 @@
+#!/bin/bash
+
+#  Licensed to the Apache Software Foundation (ASF) under one
+#  or more contributor license agreements.  See the NOTICE file
+#  distributed with this work for additional information
+#  regarding copyright ownership.  The ASF licenses this file
+#  to you under the Apache License, Version 2.0 (the
+#  "License"); you may not use this file except in compliance
+#  with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+#  Unless required by applicable law or agreed to in writing,
+#  software distributed under the License is distributed on an
+#  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+#  KIND, either express or implied.  See the License for the
+#  specific language governing permissions and limitations
+#  under the License.
+
+
+run_tests() {
+    ra="$1"
+    fs="$2"
+
+    case "${ra}" in
+        local) check=check;             skipC=;;
+        svn)   check=svnserveautocheck; skipC="SKIP_C_TESTS=1";;
+        dav)   check=davautocheck;      skipC="SKIP_C_TESTS=1";;
+        *)     exit 1;;
+    esac
+
+    echo "============ make check ${ra}+${fs}"
+    cd ${absbld}
+    make ${check} FS_TYPE=${fs} PARALLEL=2 CLEANUP=1 ${skipC}
+
+    # The tests.log file must exist
+    test -f tests.log || exit 1
+    mv tests.log tests-${ra}-${fs}.log
+
+    # If a fails.log file exists, the tests failed.
+    test -f fails.log && {
+        mv fails.log fails-${ra}-${fs}.log
+        exit 1
+    }
+}
+
+
+set -x
+
+scripts=$(cd $(dirname "$0") && pwd)
+
+. ${scripts}/setenv.sh
+
+# Parse arguments to find out which tests we should run
+check_local=false
+check_svn=false
+check_dav=false
+check_fsfs=false
+check_bdb=false
+
+while [ ! -z "$1" ]; do
+    case "$1" in
+        local) check_local=true;;
+        svn)   check_svn=true;;
+        dav)   check_dav=true;;
+        fsfs)  check_fsfs=true;;
+        bdb)   check_bdb=true;;
+        *)     exit 1;;
+    esac
+    shift
+done
+
+${check_local} && {
+    ${check_fsfs} && run_tests local fsfs
+    ${check_bdb} && run_tests local bdb
+}
+
+${check_svn} && {
+    ${check_fsfs} && run_tests svn fsfs
+    ${check_bdb} && run_tests svn bdb
+}
+
+${check_dav} && {
+    ${check_fsfs} && run_tests dav fsfs
+    ${check_bdb} && run_tests dav bdb
+}
+
+exit 0

Propchange: subversion/trunk/tools/buildbot/slaves/svn-x64-macosx/svncheck.sh
------------------------------------------------------------------------------
    svn:executable = *

Added: subversion/trunk/tools/buildbot/slaves/svn-x64-macosx/svnclean.sh
URL: 
http://svn.apache.org/viewvc/subversion/trunk/tools/buildbot/slaves/svn-x64-macosx/svnclean.sh?rev=1638240&view=auto
==============================================================================
--- subversion/trunk/tools/buildbot/slaves/svn-x64-macosx/svnclean.sh (added)
+++ subversion/trunk/tools/buildbot/slaves/svn-x64-macosx/svnclean.sh Tue Nov 
11 18:37:07 2014
@@ -0,0 +1,27 @@
+#!/bin/bash
+
+#  Licensed to the Apache Software Foundation (ASF) under one
+#  or more contributor license agreements.  See the NOTICE file
+#  distributed with this work for additional information
+#  regarding copyright ownership.  The ASF licenses this file
+#  to you under the Apache License, Version 2.0 (the
+#  "License"); you may not use this file except in compliance
+#  with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+#  Unless required by applicable law or agreed to in writing,
+#  software distributed under the License is distributed on an
+#  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+#  KIND, either express or implied.  See the License for the
+#  specific language governing permissions and limitations
+#  under the License.
+
+set -e
+set -x
+
+scripts=$(cd $(dirname "$0") && pwd)
+
+. ${scripts}/setenv.sh
+
+${scripts}/rmramdisk.sh ${volume_name}

Propchange: subversion/trunk/tools/buildbot/slaves/svn-x64-macosx/svnclean.sh
------------------------------------------------------------------------------
    svn:executable = *


Reply via email to