#!/bin/sh
# autopkgtest check: Build and run a program against pygobject, to verify that
# the headers and pkg-config file are installed correctly
# (C) 2012 Canonical Ltd.
# Author: Martin Pitt <martin.pitt@ubuntu.com>

set -e

WORKDIR=$(mktemp -d)
trap "rm -rf $WORKDIR" 0 INT QUIT ABRT PIPE TERM
cd $WORKDIR
cat <<EOF > pytest.c
#include <Python.h>
#include <pygobject.h>
#include <assert.h>

int main()
{
    PyObject *gobject;

    Py_InitializeEx (FALSE);
    gobject = pygobject_init (-1, -1, -1);
    assert (gobject != NULL);
    return 0;
}
EOF

for version in $(py3versions -sv); do
    for tail in "" "-dbg"; do
        v="${version}${tail}"

        case "$version" in
            (3.[0-7])
                pkg="python-$v"
                ;;

            (*)
                case "$tail" in
                    (-dbg)
                        # There is no python-3.8-dbg-embed.pc yet (#944852)
                        pkg="python-${version}d-embed"
                        ;;
                    (*)
                        pkg="python-${v}-embed"
                        ;;
                esac
                ;;
        esac

        gcc -o "pytest$v" pytest.c `pkg-config --cflags --libs "$pkg" pygobject-3.0`
        echo "build ($v): OK"
        [ -x "pytest$v" ]
        ./"pytest$v"
        echo "run ($v): OK"
    done
done
