#!/usr/bin/env zsh # # example usage: # $GOPATH/src/github.com/rclone/rclone/cmd/info/test.sh --list | \ # parallel -P20 $GOPATH/src/github.com/rclone/rclone/cmd/info/test.sh export PATH=$GOPATH/src/github.com/rclone/rclone:$PATH typeset -A allRemotes allRemotes=( TestAmazonCloudDrive '--low-level-retries=2 --checkers=5 --upload-wait=5s' TestB2 '' TestBox '' TestDrive '--tpslimit=5' TestCrypt '' TestDropbox '--checkers=1' TestGCS '' TestJottacloud '' TestKoofr '' TestMega '' TestOneDrive '' TestOpenDrive '--low-level-retries=4 --checkers=5' TestPcloud '--low-level-retries=2 --timeout=15s' TestS3 '' Local '' ) set -euo pipefail if [[ $# -eq 0 ]]; then set -- ${(k)allRemotes[@]} elif [[ $1 = --list ]]; then printf '%s\n' ${(k)allRemotes[@]} exit 0 fi for remote; do case $remote in Local) l=Local$(uname) export RCLONE_CONFIG_${l:u}_TYPE=local dir=$l:infotest;; TestGCS) dir=$remote:$GCS_BUCKET/infotest;; *) dir=$remote:infotest;; esac rclone purge $dir || : rclone info -vv $dir --write-json=info-$remote.json ${=allRemotes[$remote]:-} &> info-$remote.log rclone ls -vv $dir &> info-$remote.list done