#!/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 cachedir"
  cms_cachedir=$(get_cvmfs_cachedir cms.cern.ch)
  [[ "$cms_cachedir" == "" ]] && return 11
  for f in $(sudo find "$cms_cachedir" -mindepth 2 -type f); do
    sudo truncate -s0 "$f"
  done
  expect_exit_code 1 sudo cvmfs_config fsck -j8 -p || return 12
  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
}
