#!/bin/bash

cvmfs_test_name="Setup Davinci"

cvmfs_run_test() {
  logfile=$1

  cvmfs_mount lhcb || return 1

  . /cvmfs/lhcb.cern.ch/etc/login.sh || return 1
  local latest_davinci="$(lb-run -l DaVinci | head -n 1 | awk '{print $1}')"
  echo "*** Latest DaVinci version: $latest_davinci"
  ( time lb-run DaVinci $latest_davinci /bin/true ) || return 2
  sync
  sudo sh -c "echo 3 > /proc/sys/vm/drop_caches" || return 3

  start_time=$(date -u +%s)
  ( time lb-run DaVinci $latest_davinci /bin/true ) || return 4
  end_time=`date -u +%s`
  check_time $start_time $end_time 180

  all_catalogs=$(sudo cvmfs_talk -i lhcb.cern.ch open catalogs | awk '{print $2}' | sort) || return 6
  uniq_catalogs=$(echo "$all_catalogs" | uniq) || return 7

  if [ "$all_catalogs" != "$uniq_catalogs" ]; then
    echo "Catalog mismatch!" >&2
    echo "All catalogs: $all_catalogs"
    echo "Unique catalogs: $uniq_catalogs"
    return 8
  fi
  echo "All catalogs: $all_catalogs"
  sudo cvmfs_talk -i lhcb.cern.ch internal affairs || return 9

  check_memory lhcb.cern.ch 50000

  return 0
}

