#!/bin/sh

set -e

BACKEND=$1

cd "$ADTTMP"

cat <<TEST_END > create-destroy.c
#include <erasurecode.h>

int main()
{
    struct ec_args args = {0};
    args.k = 2;
    args.m = 1;

    // Create
    int e = liberasurecode_instance_create($BACKEND, &args);
    if (e <= 0) {
        printf("ERROR: liberasurecode_instance_create: %d\n", e);
        return 1;
    }

    // Destroy
    int ret = liberasurecode_instance_destroy(e);
    if (ret) {
        printf("ERROR: liberasurecode_instance_destroy: %d\n", ret);
        return 1;
    }

    printf("run: OK\n");

    return 0;
}
TEST_END

gcc -o create-destroy.bin create-destroy.c -lerasurecode -ldl
echo "build: OK"
./create-destroy.bin
rm create-destroy.c create-destroy.bin
