#!/bin/sh
set -e

cd $AUTOPKGTEST_TMP

# create the crashing program
cat > coredump.c << 'EOF'
#include <stdio.h>

static char *p;

int main(void)
{
	printf("%c\n", *p);
	return 0;
}
EOF

# compile it
gcc coredump.c -ocoredump

# activate minicoredumper
/etc/init.d/minicoredumper start

# make sure the core directory is empty
if [ -n "`ls /var/crash/minicoredumper`" ]; then
	rm -rf /var/crash/minicoredumper/*
fi

# crash
./coredump || true

# unpack the dropped core file
find /var/crash/minicoredumper/ -type f | \
	xargs ls -t | head -n 1 | xargs tar xSzvf

# check if it is an ELF core file
readelf -a core | grep Type: | grep CORE

# deactivate minicoredumper
/etc/init.d/minicoredumper stop
