Eine aufbereitete Darstellung der Quelle

 
     
 
 
Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 

Benutzer

Quelle  run-gtests.sh

  Sprache: Shell
 

#! /bin/bash
#
# Copyright (C) 2019 The Android Open Source Project
#
# 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

"$(dirname $0)/buildbot-utils.sh"

if [[ $1 = -h ]]; then
  cat <<EOF
Usage: $0 [<gtest>...] [--] [<gtest-option>...]

Script to run gtests located in the ART (Testing) APEX.

If called with arguments, only those tests are run, as specified by their
absolute paths (starting with /apex). All gtests are run otherwise.

Options after \`--\` are passed verbatim to each gtest binary.
EOF
  exit
fi

if [[ -z "$ART_TEST_CHROOT" ]]; then
  echo 'ART_TEST_CHROOT environment variable is empty; please set it before running this script.'
  exit 1
fi

adb="${ADB:-adb}"

android_i18n_root=/apex/com.android.i18n
android_art_root=/apex/com.android.art
android_tzdata_root=/apex/com.android.tzdata

if [[ $1 = -j* ]]; then
  # TODO(b/129930445): Implement support for parallel execution.
  shift
fi

tests=()

while [[ $# -gt 0 ]]; do
  if [[ "$1" == "--" ]]; then
    shift
    break
  fi
  tests+=("$1")
  shift
done

options="$@"

run_in_chroot() {
  if [ -n "$ART_TEST_ON_VM" ] || [ -n "$ART_TEST_ON_SBC" ]; then
    $ART_SSH_CMD $ART_CHROOT_CMD env ANDROID_ROOT=/system $@
  else
    "$adb" shell chroot "$ART_TEST_CHROOT" $@
  fi
}

if [[ ${#tests[@]} -eq 0 ]]; then
  # Search for executables under the `bin/art` directory of the ART APEX.
  readarray -t tests <<<$(run_in_chroot \
    find "$android_art_root/bin/art" -type f -perm /ugo+x | sort)
fi

maybe_get_fake_dex2oatbootclasspath() {
  if [ -n "$ART_TEST_ON_VM" ] || [ -n "$ART_TEST_ON_SBC" ]; then
    return
  fi
  dex2oatbootclasspath=$("$adb" shell echo \$DEX2OATBOOTCLASSPATH)
  if [ -n "$dex2oatbootclasspath" ]; then
    # The device has a real DEX2OATBOOTCLASSPATH.
    # This is the usual case.
    return
  fi
  bootclasspath=$("$adb" shell echo \$BOOTCLASSPATH)
  # Construct a fake DEX2OATBOOTCLASSPATH from the elements in BOOTCLASSPATH except the last one.
  # BOOTCLASSPATH cannot be used by the runtime in chroot anyway, so it doesn't hurt to construct a
  # fake DEX2OATBOOTCLASSPATH just to make the runtime happy.
  # This is only needed on old Android platforms such as Android P.
  echo "DEX2OATBOOTCLASSPATH=${bootclasspath%:*}"
}

failing_tests=()

for t in ${tests[@]}; do
  echo "$t"
  run_in_chroot \
    env ANDROID_ART_ROOT="$android_art_root" \
        ANDROID_I18N_ROOT="$android_i18n_root" \
        ANDROID_TZDATA_ROOT="$android_tzdata_root" \
        ART_TEST_ON_VM="$ART_TEST_ON_VM" \
        ART_TEST_ON_SBC="$ART_TEST_ON_SBC" \
        $(maybe_get_fake_dex2oatbootclasspath) \
        $t $options \
    || failing_tests+=("$t")
done

if [[ -n "$failing_tests" ]]; then
  for t in "${failing_tests[@]}"do
    echo "Failed test: $t"
  done
  exit 1
fi

Messung V0.5 in Prozent
C=81 H=88 G=84

¤ Dauer der Verarbeitung: 0.10 Sekunden  (vorverarbeitet am  2026-06-29) ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

PVS Prover

Isabelle Prover

NIST Cobol Testsuite

Cephes Mathematical Library

Vienna Development Method

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.






                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Software

     Quellcodebibliothek
     Eigene Quellcodes
     Fremde Quellcodes
     Suchen

Aktivitäten

     Artikel über Sicherheit
     Anleitung zur Aktivierung von SSL

Muße

     Gedichte
     Musik
     Bilder

Jenseits des Üblichen ....
    

Besucherstatistik

Besucherstatistik