Unverified Commit 900c7c16 authored by godofredoc's avatar godofredoc Committed by GitHub

Optimize fuchsia test script. (#55401)

parent e74fedcb
...@@ -15,11 +15,17 @@ ...@@ -15,11 +15,17 @@
# #
# This script expects `pm`, `device-finder`, and `fuchsia_ctl` to all be in the # This script expects `pm`, `device-finder`, and `fuchsia_ctl` to all be in the
# same directory as the script. # same directory as the script.
#
# This script also expects a private key available at:
# "/etc/botanist/keys/id_rsa_infra".
set -Eex set -Eex
script_dir=$(dirname "$(readlink -f "$0")") script_dir=$(dirname "$(readlink -f "$0")")
# Bot key to pave and ssh the device.
pkey="/etc/botanist/keys/id_rsa_infra"
# The nodes are named blah-blah--four-word-fuchsia-id # The nodes are named blah-blah--four-word-fuchsia-id
device_name=${SWARMING_BOT_ID#*--} device_name=${SWARMING_BOT_ID#*--}
...@@ -33,16 +39,22 @@ fi ...@@ -33,16 +39,22 @@ fi
reboot() { reboot() {
# note: this will set an exit code of 255, which we can ignore. # note: this will set an exit code of 255, which we can ignore.
$script_dir/fuchsia_ctl -d $device_name --dev-finder-path $script_dir/dev_finder ssh --identity-file $script_dir/.ssh/pkey -c "dm reboot-recovery" || true echo "$(date) START:REBOOT ------------------------------------------"
$script_dir/fuchsia_ctl -d $device_name --dev-finder-path $script_dir/dev_finder ssh --identity-file $pkey -c "dm reboot-recovery" || true
echo "$(date) END:REBOOT --------------------------------------------"
} }
trap reboot EXIT trap reboot EXIT
$script_dir/fuchsia_ctl -d $device_name pave -i $1 echo "$(date) START:PAVING ------------------------------------------"
$script_dir/fuchsia_ctl push-packages -d $device_name --repoArchive generic-x64.tar.gz -p tiles -p tiles_ctl ssh-keygen -y -f $pkey > key.pub
$script_dir/fuchsia_ctl -d $device_name pave -i $1 --public-key "key.pub"
echo "$(date) END:PAVING --------------------------------------------"
$script_dir/fuchsia_ctl push-packages -d $device_name --identity-file $pkey --repoArchive generic-x64.tar.gz -p tiles -p tiles_ctl
# set fuchsia ssh config # set fuchsia ssh config
export FUCHSIA_SSH_PKEY=$script_dir/.ssh/pkey
cat > $script_dir/fuchsia_ssh_config << EOF cat > $script_dir/fuchsia_ssh_config << EOF
Host * Host *
CheckHostIP no CheckHostIP no
...@@ -53,7 +65,7 @@ Host * ...@@ -53,7 +65,7 @@ Host *
UserKnownHostsFile /dev/null UserKnownHostsFile /dev/null
User fuchsia User fuchsia
IdentitiesOnly yes IdentitiesOnly yes
IdentityFile $FUCHSIA_SSH_PKEY IdentityFile $pkey
ControlPersist yes ControlPersist yes
ControlMaster auto ControlMaster auto
ControlPath /tmp/fuchsia--%r@%h:%p ControlPath /tmp/fuchsia--%r@%h:%p
...@@ -66,13 +78,13 @@ EOF ...@@ -66,13 +78,13 @@ EOF
export FUCHSIA_SSH_CONFIG=$script_dir/fuchsia_ssh_config export FUCHSIA_SSH_CONFIG=$script_dir/fuchsia_ssh_config
# Run the driver test # Run the driver test
echo "$(date) START:DRIVER_TEST -------------------------------------"
flutter_dir=$script_dir/flutter flutter_dir=$script_dir/flutter
flutter_bin=$flutter_dir/bin/flutter flutter_bin=$flutter_dir/bin/flutter
# remove all out dated .packages references # remove all out dated .packages references
find $flutter_dir -name ".packages" | xargs rm find $flutter_dir -name ".packages" | xargs rm
cd $flutter_dir/dev/benchmarks/test_apps/stocks/ cd $flutter_dir/dev/benchmarks/test_apps/stocks/
$flutter_bin pub get $flutter_bin pub get
$flutter_bin drive -v -d $device_name --target=test_driver/stock_view.dart $flutter_bin drive -v -d $device_name --target=test_driver/stock_view.dart
echo "$(date) END:DRIVER_TEST ---------------------------------------"
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment