#!/bin/bash
# Test that corrupted archives actually fail validation

SUT=$(realpath $(dirname $0)/../makeself.sh)
SOURCE=$(realpath ..)

setupTests() {
  temp=`mktemp -d -t appendtest.XXXXX`
  cd "$temp"
  mkdir archive
  cp -a $SOURCE archive/
  $SUT $* archive makeself-test.run "Test $*" echo Testing --tar-extra="--exclude .git" 
}

testExtraBytes() {
    setupTests --sha256

    ./makeself-test.run --check
    assertEqual $? 0

    echo "Adding a bunch of random characters at the end!!" >> makeself-test.run

    ./makeself-test.run --check
    assertNotEqual $? 0
}

testTruncated() {
    setupTests --sha256

    ./makeself-test.run --check
    assertEqual $? 0

    dd if=makeself-test.run of=truncated.run bs=1 count=34303
    bash truncated.run --check
    assertNotEqual $? 0
}

source bashunit/bashunit.bash
