#!/bin/bash

cvmfs_test_name="cvmfs_config fsck"
cvmfs_test_suites="quick"

cvmfs_run_test() {
  logfile=$1

  sudo sh -c "echo CVMFS_SHARED_CACHE=no > /etc/cvmfs/config.d/cms.cern.ch.local"
  cvmfs_mount atlas.cern.ch,lhcb.cern.ch,cms.cern.ch || return 1
  sudo cvmfs_config fsck -j8 || return 2
  # run quick check for empty files
  sudo cvmfs_config fsck -q || return 3

  cvmfs_umount atlas.cern.ch,lhcb.cern.ch,cms.cern.ch || return 10

  echo "Destroying data integrity in $cms_cachedir"
  cms_cachedir=$(get_cvmfs_cachedir cms.cern.ch)
  [ "x$cms_cachedir" = "x" ] && return 11
  for f in $(sudo find $cms_cachedir -mindepth 2 -type f); do
    sudo sh -c "cat /dev/null > $f"
  done
  sudo cvmfs_config fsck -j8 -p
  if [ $? -ne 1 ]; then
    return 12
  fi
  sudo mkdir -p $cms_cachedir/aa
  sudo touch $cms_cachedir/aa/aaaaaaaa # made-up, too short hash
  sudo cvmfs_config fsck -q && return 13

  return 0
}
