OwlCyberSecurity - MANAGER
Edit File: test
#!/bin/sh # -*- sh-basic-offset: 2 -*- ## # Copyright (c) 2005-2017 Apple Inc. All rights reserved. # # Licensed 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 -u; # # Initialize build support # wd="$(cd "$(dirname "$0")/.." && pwd -L)"; . "${wd}/bin/_build.sh"; init_build > /dev/null; # # Options # do_setup="false"; do_get="false"; viewlog="false"; random="--random=$(date "+%s")"; no_color=""; until_fail=""; coverage=""; numjobs=""; reactor=""; if [ "$(uname -s)" = "Darwin" ]; then reactor="--reactor=kqueue"; fi; usage () { program="$(basename "$0")"; if [ "${1--}" != "-" ]; then echo "$@"; echo; fi; echo "Usage: ${program} [options]"; echo "Options:"; echo " -h Print this help and exit"; echo " -n Do not use color"; echo " -o Do not run tests in random order."; echo " -r <seed> Use specified seed to determine order."; echo " -u Run until the tests fail."; echo " -c Generate coverage reports."; echo " -L Show logging output in a separate view."; if [ "${1-}" = "-" ]; then return 0; fi; exit 64; } while getopts "hor:nucj:L" option; do case "${option}" in '?') usage; ;; 'h') usage -; exit 0; ;; 'o') random=""; ;; 'r') random="--random=$OPTARG"; ;; 'n') no_color="--reporter=bwverbose"; ;; 'u') until_fail="--until-failure"; ;; 'c') coverage="--coverage"; ;; 'j') numjobs="-j $OPTARG"; ;; 'L') viewlog="true"; esac; done; shift $((${OPTIND} - 1)); # # Dependencies # develop > /dev/null "${dev_home}/setup.log"; echo "Using ${python} as Python:"; "${python}" -V; echo ""; # # Clean up # find "${wd}" -name \*.pyc -print0 | xargs -0 rm; # # Do keychain unlock on OS X # if [ -z "${USE_OPENSSL-}" ]; then case "$(uname -s)" in Darwin) bin/python bin/keychain_unlock.py ;; esac; fi; # # Unit tests # trial_temp="${dev_home}/trial"; if "${viewlog}"; then if [ "${TERM_PROGRAM}" = "Apple_Terminal" ]; then if [ ! -d "${trial_temp}" ]; then mkdir "${trial_temp}"; fi; touch "${trial_temp}/_trial_marker"; cp /dev/null "${trial_temp}/test.log"; open -a Console "${trial_temp}/test.log"; else echo "Unable to view log."; fi; fi; error=0; if [ $# -eq 0 ]; then lint="true"; # Test these modules with a single invocation of trial set - calendarserver twistedcaldav txdav txweb2 contrib cd "${wd}" && \ "${wd}/bin/trial" \ --temp-directory="${dev_home}/trial" \ --rterrors \ ${reactor} \ ${random} \ ${until_fail} \ ${no_color} \ ${coverage} \ ${numjobs} \ "$@" \ || error=$?; else lint="false"; # Loop over the passed-in modules for module in "$@"; do if [ -f "${module}" ]; then module="--testmodule=${module}"; fi; cd "${wd}" && \ "${wd}/bin/trial" \ --temp-directory="${dev_home}/trial" \ --rterrors \ ${reactor} \ ${random} \ ${until_fail} \ ${no_color} \ ${coverage} \ ${numjobs} \ "${module}" \ || error=$? ; done; fi; if [ ${error} -ne 0 ]; then exit ${error}; fi; # # Linting # if ! "${lint}"; then exit 0; fi; echo ""; echo "Running pyflakes..."; "${python}" -m pip install pyflakes --upgrade >> "${dev_home}/setup.log"; tmp="$(mktemp -t "twext_flakes.XXXXX")"; cd "${wd}" && "${python}" -m pyflakes "$@" | tee "${tmp}" 2>&1; if [ -s "${tmp}" ]; then echo "**** Pyflakes says you have some code to clean up. ****"; exit 1; fi; rm -f "${tmp}"; # # Empty files # echo ""; echo "Checking for empty files..."; tmp="$(mktemp -t "twext_test_empty.XXXXX")"; find "${wd}" \ '!' '(' \ -type d \ '(' -path '*/.*' -or -name data -or -name build ')' \ -prune \ ')' \ -type f -size 0 \ > "${tmp}"; if [ -s "${tmp}" ]; then echo "**** Empty files: ****"; cat "${tmp}"; exit 1; fi; rm -f "${tmp}";