Source: gmime
Version: 3.2.1-1
Severity: wishlist
Tags: patch

I've recently been adding superficial autopkgtests for -dev packages
in GNOME and GNOME-adjacent libraries. These tests check that the
-dev package is usable, and in particular often detect missing -dev
dependencies like #939222 in gcab (although gmime does not seem to have
that problem).

Please consider the attached patch.

Thanks,
    smcv
>From f66dced886616031deed2af1a3b6c63f8c460f75 Mon Sep 17 00:00:00 2001
From: Simon McVittie <s...@debian.org>
Date: Tue, 10 Sep 2019 09:05:16 +0100
Subject: [PATCH] d/tests/libgmime-3.0-dev: Add a superficial test for the -dev
 package

Tests like this one check that the -dev package is usable, and in
particular often detect missing -dev dependencies like #939222 in gcab.
---
 debian/tests/control          |  5 +++++
 debian/tests/libgmime-3.0-dev | 29 +++++++++++++++++++++++++++++
 2 files changed, 34 insertions(+)
 create mode 100755 debian/tests/libgmime-3.0-dev

diff --git a/debian/tests/control b/debian/tests/control
index dce76310..4f0b0a1a 100644
--- a/debian/tests/control
+++ b/debian/tests/control
@@ -1,2 +1,7 @@
 Tests: gir
 Depends: diffutils, gir1.2-gmime-3.0, python3-gi
+
+Tests: libgmime-3.0-dev
+Depends: build-essential,
+         libgmime-3.0-dev
+Restrictions: allow-stderr superficial
diff --git a/debian/tests/libgmime-3.0-dev b/debian/tests/libgmime-3.0-dev
new file mode 100755
index 00000000..43d1670d
--- /dev/null
+++ b/debian/tests/libgmime-3.0-dev
@@ -0,0 +1,29 @@
+#!/bin/sh
+# autopkgtest check: Build and run a program against gmime, to verify
+# that the headers and pkg-config file are installed correctly
+# (C) 2012 Canonical Ltd.
+# (C) 2018-2019 Simon McVittie
+# Authors: Martin Pitt, Simon McVittie
+
+set -eux
+
+WORKDIR=$(mktemp -d)
+trap 'rm -rf "$WORKDIR"' 0 INT QUIT ABRT PIPE TERM
+cd "$WORKDIR"
+cat <<'EOF' > trivial.c
+#include <gmime/gmime.h>
+
+int main(void)
+{
+    g_assert_true(g_mime_check_version(3, 0, 0));
+    return 0;
+}
+EOF
+
+# Deliberately word-splitting pkg-config's output:
+# shellcheck disable=SC2046
+gcc -o trivial trivial.c $(pkg-config --cflags --libs gmime-3.0)
+echo "build: OK"
+[ -x trivial ]
+./trivial
+echo "run: OK"
-- 
2.23.0

Reply via email to