diff --git a/tests/pkg_minmea/Makefile b/tests/pkg_minmea/Makefile
index 59334a3d2e88cd8cf80393c8246d1982f8968f18..058405d6437935a49f4fd94031f0c09f262010c7 100644
--- a/tests/pkg_minmea/Makefile
+++ b/tests/pkg_minmea/Makefile
@@ -7,3 +7,6 @@ USEPKG += minmea
 BOARD_BLACKLIST := chronos msb-430 msb-430h telosb wsn430-v1_3b wsn430-v1_4 z1
 
 include $(RIOTBASE)/Makefile.include
+
+test:
+	tests/01-run.py
diff --git a/tests/pkg_minmea/main.c b/tests/pkg_minmea/main.c
index e85cee042663a5847f0fb0d128dd986b1f60a970..5381bfb8220f7b9eefd2fddb7c371b9ca0d28e37 100644
--- a/tests/pkg_minmea/main.c
+++ b/tests/pkg_minmea/main.c
@@ -26,16 +26,18 @@ static const char *_gll = "$GNGLL,5229.0178,N,01326.7605,E,114350.000,A,A*45";
 
 int main(void)
 {
+    puts("START");
     struct minmea_sentence_gll frame;
 
     int res = minmea_parse_gll(&frame, _gll);
     if (!res) {
-        puts("error parsing GPS sentence");
+        puts("FAILURE: error parsing GPS sentence");
     }
     else {
         printf("parsed coordinates: lat=%f lon=%f\n",
                 minmea_tocoord(&frame.latitude),
                 minmea_tocoord(&frame.longitude));
+        puts("SUCCESS");
     }
 
     return 0;
diff --git a/tests/pkg_minmea/tests/01-run.py b/tests/pkg_minmea/tests/01-run.py
new file mode 100755
index 0000000000000000000000000000000000000000..8166afeab7363fb2cfa0bbb86562c5eae2d0396a
--- /dev/null
+++ b/tests/pkg_minmea/tests/01-run.py
@@ -0,0 +1,16 @@
+#!/usr/bin/env python3
+
+import os
+import sys
+import math
+
+sys.path.append(os.path.join(os.environ['RIOTBASE'], 'dist/tools/testrunner'))
+import testrunner
+
+
+def testfunc(child):
+    child.expect_exact('START')
+    child.expect_exact('SUCCESS')
+
+if __name__ == "__main__":
+    sys.exit(testrunner.run(testfunc))