#!/usr/bin/env bash

set -x
set -o pipefail
set -eu

#dd bs=1024k count=$((2**23)) < /dev/zero | ./gprog --size-estimate $((2**43)) > /dev/null # --quit-when-done > /dev/null

size=$((2**30))

./'input-source' "$size" > unprocessed-input
./gprog --size-estimate $size --quit-when-done < unprocessed-input > processed-input

cmp unprocessed-input processed-input

rm unprocessed-input processed-input

#dd bs=1024k count=$((2**18)) < /dev/zero | ./gprog --size-estimate $((2**38)) > /dev/null # --quit-when-done > /dev/null
#dd bs=1024k count=$((2**14)) < /dev/zero | ./gprog --size-estimate $((2**38)) > /dev/null # --quit-when-done > /dev/null
#dd bs=1024k count=$((2**13)) < /dev/zero | ./gprog --size-estimate $((2**33)) --initial-storage-units iec --initial-rate-units iec > /dev/null # --quit-when-done > /dev/null
#seq 10000000 | ./gprog --size-estimate 78888897 > /dev/null # --min-blocksize $((2**10)) --max-blocksize $((2**18)) > /dev/null

#dd bs=1024k count=$((2**13)) < /dev/zero | ./gprog > /dev/null

#./gprog < /dev/null > /dev/null
#./gprog < /dev/zero > /dev/null
#./gprog < /etc/passwd > /dev/null

#echo "$?"