github.com/xhghs/rclone@v1.51.1-0.20200430155106-e186a28cced8/cmd/info/test.sh (about)

     1  #!/usr/bin/env zsh
     2  #
     3  # example usage: 
     4  # $GOPATH/src/github.com/rclone/rclone/cmd/info/test.sh --list | \
     5  #   parallel -P20 $GOPATH/src/github.com/rclone/rclone/cmd/info/test.sh
     6  
     7  export PATH=$GOPATH/src/github.com/rclone/rclone:$PATH
     8  
     9  typeset -A allRemotes
    10  allRemotes=(
    11    TestAmazonCloudDrive '--low-level-retries=2 --checkers=5 --upload-wait=5s'
    12    TestB2 ''
    13    TestBox ''
    14    TestDrive '--tpslimit=5'
    15    TestCrypt ''
    16    TestDropbox '--checkers=1'
    17    TestGCS ''
    18    TestJottacloud ''
    19    TestKoofr ''
    20    TestMega ''
    21    TestOneDrive ''
    22    TestOpenDrive '--low-level-retries=4 --checkers=5'
    23    TestPcloud '--low-level-retries=2 --timeout=15s'
    24    TestS3 ''
    25    Local ''
    26  )
    27  
    28  set -euo pipefail
    29  
    30  if [[ $# -eq 0 ]]; then
    31    set -- ${(k)allRemotes[@]}
    32  elif [[ $1 = --list ]]; then
    33    printf '%s\n' ${(k)allRemotes[@]}
    34    exit 0
    35  fi
    36  
    37  for remote; do
    38    case $remote in
    39      Local)
    40        l=Local$(uname)
    41        export RCLONE_CONFIG_${l:u}_TYPE=local
    42        dir=$l:infotest;;
    43      TestGCS)
    44        dir=$remote:$GCS_BUCKET/infotest;;
    45      *)
    46        dir=$remote:infotest;;
    47    esac
    48  
    49    rclone purge    $dir || :
    50    rclone info -vv $dir --write-json=info-$remote.json ${=allRemotes[$remote]:-} &> info-$remote.log
    51    rclone ls   -vv $dir &> info-$remote.list
    52  done