From fff85dbe15475c35fed2af66fabef3bdfb94f389 Mon Sep 17 00:00:00 2001
From: Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Date: Thu, 11 Feb 2016 09:18:32 -0500
Subject: test-dns-packet: allow running without arguments

---
 src/resolve/test-dns-packet.c | 27 +++++++++++++++++++++------
 1 file changed, 21 insertions(+), 6 deletions(-)

(limited to 'src')

diff --git a/src/resolve/test-dns-packet.c b/src/resolve/test-dns-packet.c
index d8a5d9bbef..1abbd3fa2e 100644
--- a/src/resolve/test-dns-packet.c
+++ b/src/resolve/test-dns-packet.c
@@ -18,14 +18,17 @@
 ***/
 
 #include <net/if.h>
+#include <glob.h>
 
 #include "alloc-util.h"
 #include "fileio.h"
-#include "macro.h"
+#include "glob-util.h"
 #include "log.h"
+#include "macro.h"
 #include "resolved-dns-packet.h"
 #include "resolved-dns-rr.h"
 #include "string-util.h"
+#include "strv.h"
 
 #define HASH_KEY SD_ID128_MAKE(d3,1e,48,90,4b,fa,4c,fe,af,9d,d5,a1,d7,2e,8a,b1)
 
@@ -84,15 +87,27 @@ static void test_packet_from_file(const char* filename, bool canonical) {
 }
 
 int main(int argc, char **argv) {
-        int i;
+        int i, N;
+        _cleanup_globfree_ glob_t g = {};
+        _cleanup_strv_free_ char **globs = NULL;
+        char **fnames;
 
         log_parse_environment();
 
-        for (i = 1; i < argc; i++) {
-                test_packet_from_file(argv[i], false);
+        if (argc >= 2) {
+                N = argc - 1;
+                fnames = argv + 1;
+        } else {
+                assert_se(glob(RESOLVE_TEST_DIR "/*.pkts", GLOB_NOSORT, NULL, &g) == 0);
+                N = g.gl_pathc;
+                fnames = g.gl_pathv;
+        }
+
+        for (i = 0; i < N; i++) {
+                test_packet_from_file(fnames[i], false);
                 puts("");
-                test_packet_from_file(argv[i], true);
-                if (i + 1 < argc)
+                test_packet_from_file(fnames[i], true);
+                if (i + 1 < N)
                         puts("");
         }
 
-- 
cgit v1.2.3-54-g00ecf