浏览代码

Make madns xtest arguments configurable

Benjamin Sago 3 年之前
父节点
当前提交
d96cd61cbe

+ 6 - 0
Justfile

@@ -73,6 +73,12 @@ export DOG_DEBUG := ""
     specsheet xtests/options/*.toml xtests/live/{basics,tcp}.toml -shide {{args}} \
         -O cmd.target.dog="${CARGO_TARGET_DIR:-../../target}/debug/dog"
 
+# run extended tests against a local madns instance
+@xtests-madns-local *args:
+    env MADNS_ARGS="@localhost:5301 --tcp" \
+        specsheet xtests/madns/*.toml -shide {{args}} \
+            -O cmd.target.dog="${CARGO_TARGET_DIR:-../../target}/debug/dog"
+
 # display the number of extended tests that get run
 @count-xtests:
     grep -F '[[cmd]]' -R xtests | wc -l

+ 6 - 6
xtests/madns/a-records.toml

@@ -2,7 +2,7 @@
 
 [[cmd]]
 name = "Running with ‘a.example’ prints the correct A record"
-shell = "dog --colour=always --tcp @madns.binarystar.systems:5301 A a.example"
+shell = "dog --colour=always ${MADNS_ARGS:-@madns.binarystar.systems:5301 --tcp} A a.example"
 stdout = { file = "outputs/a.example.ansitxt" }
 stderr = { empty = true }
 status = 0
@@ -13,7 +13,7 @@ tags = [ "a", "madns" ]
 
 [[cmd]]
 name = "Running with ‘a.example’ prints the correct A record structure"
-shell = "dog --colour=always --tcp @madns.binarystar.systems:5301 A a.example --json | jq"
+shell = "dog --colour=always ${MADNS_ARGS:-@madns.binarystar.systems:5301 --tcp} A a.example --json | jq"
 stdout = { file = "outputs/a.example.json" }
 stderr = { empty = true }
 status = 0
@@ -24,7 +24,7 @@ tags = [ "a", "madns", "json" ]
 
 [[cmd]]
 name = "Running with ‘too-long.a.invalid’ displays a record length error"
-shell = "dog --colour=always --tcp @madns.binarystar.systems:5301 A too-long.a.invalid"
+shell = "dog --colour=always ${MADNS_ARGS:-@madns.binarystar.systems:5301 --tcp} A too-long.a.invalid"
 stdout = { empty = true }
 stderr = { string = "Error [protocol]: Malformed packet: record length should be 4, got 5" }
 status = 1
@@ -32,7 +32,7 @@ tags = [ "a", "madns" ]
 
 [[cmd]]
 name = "Running with ‘too-short.a.invalid’ displays a record length error"
-shell = "dog --colour=always --tcp @madns.binarystar.systems:5301 A too-short.a.invalid"
+shell = "dog --colour=always ${MADNS_ARGS:-@madns.binarystar.systems:5301 --tcp} A too-short.a.invalid"
 stdout = { empty = true }
 stderr = { string = "Error [protocol]: Malformed packet: record length should be 4, got 3" }
 status = 1
@@ -40,7 +40,7 @@ tags = [ "a", "madns" ]
 
 [[cmd]]
 name = "Running with ‘empty.a.invalid’ displays a record length error"
-shell = "dog --colour=always --tcp @madns.binarystar.systems:5301 A empty.a.invalid"
+shell = "dog --colour=always ${MADNS_ARGS:-@madns.binarystar.systems:5301 --tcp} A empty.a.invalid"
 stdout = { empty = true }
 stderr = { string = "Error [protocol]: Malformed packet: record length should be 4, got 0" }
 status = 1
@@ -48,7 +48,7 @@ tags = [ "a", "madns" ]
 
 [[cmd]]
 name = "Running with ‘incomplete.a.invalid’ displays a protocol error"
-shell = "dog --colour=always --tcp @madns.binarystar.systems:5301 A incomplete.a.invalid"
+shell = "dog --colour=always ${MADNS_ARGS:-@madns.binarystar.systems:5301 --tcp} A incomplete.a.invalid"
 stdout = { empty = true }
 stderr = { string = "Error [protocol]: Malformed packet: insufficient data" }
 status = 1

+ 6 - 6
xtests/madns/aaaa-records.toml

@@ -2,7 +2,7 @@
 
 [[cmd]]
 name = "Running with ‘aaaa.example’ prints the correct AAAA record"
-shell = "dog --colour=always --tcp @madns.binarystar.systems:5301 AAAA aaaa.example"
+shell = "dog --colour=always ${MADNS_ARGS:-@madns.binarystar.systems:5301 --tcp} AAAA aaaa.example"
 stdout = { file = "outputs/aaaa.example.ansitxt" }
 stderr = { empty = true }
 status = 0
@@ -13,7 +13,7 @@ tags = [ "aaaa", "madns" ]
 
 [[cmd]]
 name = "Running with ‘aaaa.example’ prints the correct AAAA record structure"
-shell = "dog --colour=always --tcp @madns.binarystar.systems:5301 AAAA aaaa.example --json | jq"
+shell = "dog --colour=always ${MADNS_ARGS:-@madns.binarystar.systems:5301 --tcp} AAAA aaaa.example --json | jq"
 stdout = { file = "outputs/aaaa.example.json" }
 stderr = { empty = true }
 status = 0
@@ -24,7 +24,7 @@ tags = [ "aaaa", "madns", "json" ]
 
 [[cmd]]
 name = "Running with ‘too-long.aaaa.invalid’ displays a record length error"
-shell = "dog --colour=always --tcp @madns.binarystar.systems:5301 AAAA too-long.aaaa.invalid"
+shell = "dog --colour=always ${MADNS_ARGS:-@madns.binarystar.systems:5301 --tcp} AAAA too-long.aaaa.invalid"
 stdout = { empty = true }
 stderr = { string = "Error [protocol]: Malformed packet: record length should be 16, got 17" }
 status = 1
@@ -32,7 +32,7 @@ tags = [ "aaaa", "madns" ]
 
 [[cmd]]
 name = "Running with ‘too-short.aaaa.invalid’ displays a record length error"
-shell = "dog --colour=always --tcp @madns.binarystar.systems:5301 AAAA too-short.aaaa.invalid"
+shell = "dog --colour=always ${MADNS_ARGS:-@madns.binarystar.systems:5301 --tcp} AAAA too-short.aaaa.invalid"
 stdout = { empty = true }
 stderr = { string = "Error [protocol]: Malformed packet: record length should be 16, got 8" }
 status = 1
@@ -40,7 +40,7 @@ tags = [ "aaaa", "madns" ]
 
 [[cmd]]
 name = "Running with ‘empty.aaaa.invalid’ displays a record length error"
-shell = "dog --colour=always --tcp @madns.binarystar.systems:5301 AAAA empty.aaaa.invalid"
+shell = "dog --colour=always ${MADNS_ARGS:-@madns.binarystar.systems:5301 --tcp} AAAA empty.aaaa.invalid"
 stdout = { empty = true }
 stderr = { string = "Error [protocol]: Malformed packet: record length should be 16, got 0" }
 status = 1
@@ -48,7 +48,7 @@ tags = [ "aaaa", "madns" ]
 
 [[cmd]]
 name = "Running with ‘incomplete.aaaa.invalid’ displays a protocol error"
-shell = "dog --colour=always --tcp @madns.binarystar.systems:5301 AAAA incomplete.aaaa.invalid"
+shell = "dog --colour=always ${MADNS_ARGS:-@madns.binarystar.systems:5301 --tcp} AAAA incomplete.aaaa.invalid"
 stdout = { empty = true }
 stderr = { string = "Error [protocol]: Malformed packet: insufficient data" }
 status = 1

+ 8 - 8
xtests/madns/caa-records.toml

@@ -2,7 +2,7 @@
 
 [[cmd]]
 name = "Running with ‘caa.example’ prints the correct CAA record"
-shell = "dog --colour=always --tcp @madns.binarystar.systems:5301 CAA caa.example"
+shell = "dog --colour=always ${MADNS_ARGS:-@madns.binarystar.systems:5301 --tcp} CAA caa.example"
 stdout = { file = "outputs/caa.example.ansitxt" }
 stderr = { empty = true }
 status = 0
@@ -10,7 +10,7 @@ tags = [ "caa", "madns" ]
 
 [[cmd]]
 name = "Running with ‘critical.caa.example’ prints the correct CAA record with the flag"
-shell = "dog --colour=always --tcp @madns.binarystar.systems:5301 CAA critical.caa.example"
+shell = "dog --colour=always ${MADNS_ARGS:-@madns.binarystar.systems:5301 --tcp} CAA critical.caa.example"
 stdout = { file = "outputs/critical.caa.example.ansitxt" }
 stderr = { empty = true }
 status = 0
@@ -18,7 +18,7 @@ tags = [ "caa", "madns" ]
 
 [[cmd]]
 name = "Running with ‘others.caa.example’ prints the correct CAA record and ignores the flags"
-shell = "dog --colour=always --tcp @madns.binarystar.systems:5301 CAA others.caa.example"
+shell = "dog --colour=always ${MADNS_ARGS:-@madns.binarystar.systems:5301 --tcp} CAA others.caa.example"
 stdout = { file = "outputs/others.caa.example.ansitxt" }
 stderr = { empty = true }
 status = 0
@@ -29,7 +29,7 @@ tags = [ "caa", "madns" ]
 
 [[cmd]]
 name = "Running with ‘caa.example’ prints the correct CAA record structure"
-shell = "dog --colour=always --tcp @madns.binarystar.systems:5301 CAA caa.example --json | jq"
+shell = "dog --colour=always ${MADNS_ARGS:-@madns.binarystar.systems:5301 --tcp} CAA caa.example --json | jq"
 stdout = { file = "outputs/caa.example.json" }
 stderr = { empty = true }
 status = 0
@@ -37,7 +37,7 @@ tags = [ "caa", "madns", "json" ]
 
 [[cmd]]
 name = "Running with ‘critical.caa.example’ prints the correct CAA record structurewith the flag"
-shell = "dog --colour=always --tcp @madns.binarystar.systems:5301 CAA critical.caa.example --json | jq"
+shell = "dog --colour=always ${MADNS_ARGS:-@madns.binarystar.systems:5301 --tcp} CAA critical.caa.example --json | jq"
 stdout = { file = "outputs/critical.caa.example.json" }
 stderr = { empty = true }
 status = 0
@@ -45,7 +45,7 @@ tags = [ "caa", "madns", "json" ]
 
 [[cmd]]
 name = "Running with ‘others.caa.example’ prints the correct CAA record structure and ignores the flags"
-shell = "dog --colour=always --tcp @madns.binarystar.systems:5301 CAA others.caa.example --json | jq"
+shell = "dog --colour=always ${MADNS_ARGS:-@madns.binarystar.systems:5301 --tcp} CAA others.caa.example --json | jq"
 stdout = { file = "outputs/others.caa.example.json" }
 stderr = { empty = true }
 status = 0
@@ -56,7 +56,7 @@ tags = [ "caa", "madns", "json" ]
 
 [[cmd]]
 name = "Running with ‘empty.caa.invalid’ displays a protocol error"
-shell = "dog --colour=always --tcp @madns.binarystar.systems:5301 CAA empty.caa.invalid"
+shell = "dog --colour=always ${MADNS_ARGS:-@madns.binarystar.systems:5301 --tcp} CAA empty.caa.invalid"
 stdout = { empty = true }
 stderr = { string = "Error [protocol]: Malformed packet: insufficient data" }
 status = 1
@@ -64,7 +64,7 @@ tags = [ "caa", "madns" ]
 
 [[cmd]]
 name = "Running with ‘incomplete.caa.invalid’ displays a protocol error"
-shell = "dog --colour=always --tcp @madns.binarystar.systems:5301 CAA incomplete.caa.invalid"
+shell = "dog --colour=always ${MADNS_ARGS:-@madns.binarystar.systems:5301 --tcp} CAA incomplete.caa.invalid"
 stdout = { empty = true }
 stderr = { string = "Error [protocol]: Malformed packet: insufficient data" }
 status = 1

+ 4 - 4
xtests/madns/cname-records.toml

@@ -2,7 +2,7 @@
 
 [[cmd]]
 name = "Running with ‘cname.example’ prints the correct CNAME record"
-shell = "dog --colour=always --tcp @madns.binarystar.systems:5301 CNAME cname.example"
+shell = "dog --colour=always ${MADNS_ARGS:-@madns.binarystar.systems:5301 --tcp} CNAME cname.example"
 stdout = { file = "outputs/cname.example.ansitxt" }
 stderr = { empty = true }
 status = 0
@@ -13,7 +13,7 @@ tags = [ "cname", "madns" ]
 
 [[cmd]]
 name = "Running with ‘cname.example’ prints the correct CNAME record structure"
-shell = "dog --colour=always --tcp @madns.binarystar.systems:5301 CNAME cname.example --json | jq"
+shell = "dog --colour=always ${MADNS_ARGS:-@madns.binarystar.systems:5301 --tcp} CNAME cname.example --json | jq"
 stdout = { file = "outputs/cname.example.json" }
 stderr = { empty = true }
 status = 0
@@ -24,7 +24,7 @@ tags = [ "cname", "madns", "json" ]
 
 [[cmd]]
 name = "Running with ‘empty.cname.invalid’ displays a protocol error"
-shell = "dog --colour=always --tcp @madns.binarystar.systems:5301 CNAME empty.cname.invalid"
+shell = "dog --colour=always ${MADNS_ARGS:-@madns.binarystar.systems:5301 --tcp} CNAME empty.cname.invalid"
 stdout = { empty = true }
 stderr = { string = "Error [protocol]: Malformed packet: insufficient data" }
 status = 1
@@ -32,7 +32,7 @@ tags = [ "cname", "madns" ]
 
 [[cmd]]
 name = "Running with ‘incomplete.cname.invalid’ displays a protocol error"
-shell = "dog --colour=always --tcp @madns.binarystar.systems:5301 CNAME incomplete.cname.invalid"
+shell = "dog --colour=always ${MADNS_ARGS:-@madns.binarystar.systems:5301 --tcp} CNAME incomplete.cname.invalid"
 stdout = { empty = true }
 stderr = { string = "Error [protocol]: Malformed packet: insufficient data" }
 status = 1

+ 6 - 6
xtests/madns/eui48-records.toml

@@ -2,7 +2,7 @@
 
 [[cmd]]
 name = "Running with ‘eui48.example’ prints the correct EUI48 record"
-shell = "dog --colour=always --tcp @madns.binarystar.systems:5301 EUI48 eui48.example"
+shell = "dog --colour=always ${MADNS_ARGS:-@madns.binarystar.systems:5301 --tcp} EUI48 eui48.example"
 stdout = { file = "outputs/eui48.example.ansitxt" }
 stderr = { empty = true }
 status = 0
@@ -13,7 +13,7 @@ tags = [ "eui48", "madns" ]
 
 [[cmd]]
 name = "Running with ‘eui48.example’ prints the correct EUI48 record structure"
-shell = "dog --colour=always --tcp @madns.binarystar.systems:5301 EUI48 eui48.example --json | jq"
+shell = "dog --colour=always ${MADNS_ARGS:-@madns.binarystar.systems:5301 --tcp} EUI48 eui48.example --json | jq"
 stdout = { file = "outputs/eui48.example.json" }
 stderr = { empty = true }
 status = 0
@@ -24,7 +24,7 @@ tags = [ "eui48", "madns", "json" ]
 
 [[cmd]]
 name = "Running with ‘too-long.eui48.invalid’ displays a record length error"
-shell = "dog --colour=always --tcp @madns.binarystar.systems:5301 EUI48 too-long.eui48.invalid"
+shell = "dog --colour=always ${MADNS_ARGS:-@madns.binarystar.systems:5301 --tcp} EUI48 too-long.eui48.invalid"
 stdout = { empty = true }
 stderr = { string = "Error [protocol]: Malformed packet: record length should be 6, got 7" }
 status = 1
@@ -32,7 +32,7 @@ tags = [ "eui48", "madns" ]
 
 [[cmd]]
 name = "Running with ‘too-short.eui48.invalid’ displays a record length error"
-shell = "dog --colour=always --tcp @madns.binarystar.systems:5301 EUI48 too-short.eui48.invalid"
+shell = "dog --colour=always ${MADNS_ARGS:-@madns.binarystar.systems:5301 --tcp} EUI48 too-short.eui48.invalid"
 stdout = { empty = true }
 stderr = { string = "Error [protocol]: Malformed packet: record length should be 6, got 5" }
 status = 1
@@ -40,7 +40,7 @@ tags = [ "eui48", "madns" ]
 
 [[cmd]]
 name = "Running with ‘empty.eui48.invalid’ displays a record length error"
-shell = "dog --colour=always --tcp @madns.binarystar.systems:5301 EUI48 empty.eui48.invalid"
+shell = "dog --colour=always ${MADNS_ARGS:-@madns.binarystar.systems:5301 --tcp} EUI48 empty.eui48.invalid"
 stdout = { empty = true }
 stderr = { string = "Error [protocol]: Malformed packet: record length should be 6, got 0" }
 status = 1
@@ -48,7 +48,7 @@ tags = [ "eui48", "madns" ]
 
 [[cmd]]
 name = "Running with ‘incomplete.eui48.invalid’ displays a protocol error"
-shell = "dog --colour=always --tcp @madns.binarystar.systems:5301 EUI48 incomplete.eui48.invalid"
+shell = "dog --colour=always ${MADNS_ARGS:-@madns.binarystar.systems:5301 --tcp} EUI48 incomplete.eui48.invalid"
 stdout = { empty = true }
 stderr = { string = "Error [protocol]: Malformed packet: insufficient data" }
 status = 1

+ 6 - 6
xtests/madns/eui64-records.toml

@@ -2,7 +2,7 @@
 
 [[cmd]]
 name = "Running with ‘eui64.example’ prints the correct EUI64 record"
-shell = "dog --colour=always --tcp @madns.binarystar.systems:5301 EUI64 eui64.example"
+shell = "dog --colour=always ${MADNS_ARGS:-@madns.binarystar.systems:5301 --tcp} EUI64 eui64.example"
 stdout = { file = "outputs/eui64.example.ansitxt" }
 stderr = { empty = true }
 status = 0
@@ -13,7 +13,7 @@ tags = [ "eui64", "madns" ]
 
 [[cmd]]
 name = "Running with ‘eui64.example’ prints the correct EUI64 record structure"
-shell = "dog --colour=always --tcp @madns.binarystar.systems:5301 EUI64 eui64.example --json | jq"
+shell = "dog --colour=always ${MADNS_ARGS:-@madns.binarystar.systems:5301 --tcp} EUI64 eui64.example --json | jq"
 stdout = { file = "outputs/eui64.example.json" }
 stderr = { empty = true }
 status = 0
@@ -24,7 +24,7 @@ tags = [ "eui64", "madns", "json" ]
 
 [[cmd]]
 name = "Running with ‘too-long.eui64.invalid’ displays a record length error"
-shell = "dog --colour=always --tcp @madns.binarystar.systems:5301 EUI64 too-long.eui64.invalid"
+shell = "dog --colour=always ${MADNS_ARGS:-@madns.binarystar.systems:5301 --tcp} EUI64 too-long.eui64.invalid"
 stdout = { empty = true }
 stderr = { string = "Error [protocol]: Malformed packet: record length should be 8, got 9" }
 status = 1
@@ -32,7 +32,7 @@ tags = [ "eui64", "madns" ]
 
 [[cmd]]
 name = "Running with ‘too-short.eui64.invalid’ displays a record length error"
-shell = "dog --colour=always --tcp @madns.binarystar.systems:5301 EUI64 too-short.eui64.invalid"
+shell = "dog --colour=always ${MADNS_ARGS:-@madns.binarystar.systems:5301 --tcp} EUI64 too-short.eui64.invalid"
 stdout = { empty = true }
 stderr = { string = "Error [protocol]: Malformed packet: record length should be 8, got 7" }
 status = 1
@@ -40,7 +40,7 @@ tags = [ "eui64", "madns" ]
 
 [[cmd]]
 name = "Running with ‘empty.eui64.invalid’ displays a record length error"
-shell = "dog --colour=always --tcp @madns.binarystar.systems:5301 EUI64 empty.eui64.invalid"
+shell = "dog --colour=always ${MADNS_ARGS:-@madns.binarystar.systems:5301 --tcp} EUI64 empty.eui64.invalid"
 stdout = { empty = true }
 stderr = { string = "Error [protocol]: Malformed packet: record length should be 8, got 0" }
 status = 1
@@ -48,7 +48,7 @@ tags = [ "eui64", "madns" ]
 
 [[cmd]]
 name = "Running with ‘incomplete.eui64.invalid’ displays a protocol error"
-shell = "dog --colour=always --tcp @madns.binarystar.systems:5301 EUI64 incomplete.eui64.invalid"
+shell = "dog --colour=always ${MADNS_ARGS:-@madns.binarystar.systems:5301 --tcp} EUI64 incomplete.eui64.invalid"
 stdout = { empty = true }
 stderr = { string = "Error [protocol]: Malformed packet: insufficient data" }
 status = 1

+ 4 - 4
xtests/madns/hinfo-records.toml

@@ -2,7 +2,7 @@
 
 [[cmd]]
 name = "Running with ‘hinfo.example’ prints the correct HINFO record"
-shell = "dog --colour=always --tcp @madns.binarystar.systems:5301 HINFO hinfo.example"
+shell = "dog --colour=always ${MADNS_ARGS:-@madns.binarystar.systems:5301 --tcp} HINFO hinfo.example"
 stdout = { file = "outputs/hinfo.example.ansitxt" }
 stderr = { empty = true }
 status = 0
@@ -13,7 +13,7 @@ tags = [ "hinfo", "madns" ]
 
 [[cmd]]
 name = "Running with ‘hinfo.example’ prints the correct HINFO record structure"
-shell = "dog --colour=always --tcp @madns.binarystar.systems:5301 HINFO hinfo.example --json | jq"
+shell = "dog --colour=always ${MADNS_ARGS:-@madns.binarystar.systems:5301 --tcp} HINFO hinfo.example --json | jq"
 stdout = { file = "outputs/hinfo.example.json" }
 stderr = { empty = true }
 status = 0
@@ -24,7 +24,7 @@ tags = [ "hinfo", "madns", "json" ]
 
 [[cmd]]
 name = "Running with ‘empty.hinfo.invalid’ displays a protocol error"
-shell = "dog --colour=always --tcp @madns.binarystar.systems:5301 HINFO empty.hinfo.invalid"
+shell = "dog --colour=always ${MADNS_ARGS:-@madns.binarystar.systems:5301 --tcp} HINFO empty.hinfo.invalid"
 stdout = { empty = true }
 stderr = { string = "Error [protocol]: Malformed packet: insufficient data" }
 status = 1
@@ -32,7 +32,7 @@ tags = [ "hinfo", "madns" ]
 
 [[cmd]]
 name = "Running with ‘incomplete.hinfo.invalid’ displays a protocol error"
-shell = "dog --colour=always --tcp @madns.binarystar.systems:5301 HINFO incomplete.hinfo.invalid"
+shell = "dog --colour=always ${MADNS_ARGS:-@madns.binarystar.systems:5301 --tcp} HINFO incomplete.hinfo.invalid"
 stdout = { empty = true }
 stderr = { string = "Error [protocol]: Malformed packet: insufficient data" }
 status = 1

+ 15 - 15
xtests/madns/loc-records.toml

@@ -2,7 +2,7 @@
 
 [[cmd]]
 name = "Running with ‘loc.example’ prints the correct LOC record"
-shell = "dog --colour=always --tcp @madns.binarystar.systems:5301 LOC loc.example"
+shell = "dog --colour=always ${MADNS_ARGS:-@madns.binarystar.systems:5301 --tcp} LOC loc.example"
 stdout = { file = "outputs/loc.example.ansitxt" }
 stderr = { empty = true }
 status = 0
@@ -13,7 +13,7 @@ tags = [ "loc", "madns" ]
 
 [[cmd]]
 name = "Running with ‘loc.example’ prints the correct LOC record structure"
-shell = "dog --colour=always --tcp @madns.binarystar.systems:5301 LOC loc.example --json | jq"
+shell = "dog --colour=always ${MADNS_ARGS:-@madns.binarystar.systems:5301 --tcp} LOC loc.example --json | jq"
 stdout = { file = "outputs/loc.example.json" }
 stderr = { empty = true }
 status = 0
@@ -24,7 +24,7 @@ tags = [ "loc", "madns", "json" ]
 
 [[cmd]]
 name = "Running with ‘far-negative-longitude.loc.invalid’ displays a record with an out-of-range field"
-shell = "dog --colour=always --tcp @madns.binarystar.systems:5301 LOC far-negative-longitude.loc.invalid"
+shell = "dog --colour=always ${MADNS_ARGS:-@madns.binarystar.systems:5301 --tcp} LOC far-negative-longitude.loc.invalid"
 stdout = { file = "outputs/far-negative-longitude.loc.invalid.ansitxt" }
 stderr = { empty = true }
 status = 0
@@ -32,7 +32,7 @@ tags = [ "loc", "madns" ]
 
 [[cmd]]
 name = "Running with ‘far-positive-longitude.loc.invalid’ displays a record with an out-of-range field"
-shell = "dog --colour=always --tcp @madns.binarystar.systems:5301 LOC far-positive-longitude.loc.invalid"
+shell = "dog --colour=always ${MADNS_ARGS:-@madns.binarystar.systems:5301 --tcp} LOC far-positive-longitude.loc.invalid"
 stdout = { file = "outputs/far-positive-longitude.loc.invalid.ansitxt" }
 stderr = { empty = true }
 status = 0
@@ -40,7 +40,7 @@ tags = [ "loc", "madns" ]
 
 [[cmd]]
 name = "Running with ‘far-negative-latitude.loc.invalid’ displays a record with an out-of-range field"
-shell = "dog --colour=always --tcp @madns.binarystar.systems:5301 LOC far-negative-latitude.loc.invalid"
+shell = "dog --colour=always ${MADNS_ARGS:-@madns.binarystar.systems:5301 --tcp} LOC far-negative-latitude.loc.invalid"
 stdout = { file = "outputs/far-negative-latitude.loc.invalid.ansitxt" }
 stderr = { empty = true }
 status = 0
@@ -48,7 +48,7 @@ tags = [ "loc", "madns" ]
 
 [[cmd]]
 name = "Running with ‘far-positive-latitude.loc.invalid’ displays a record with an out-of-range field"
-shell = "dog --colour=always --tcp @madns.binarystar.systems:5301 LOC far-positive-latitude.loc.invalid"
+shell = "dog --colour=always ${MADNS_ARGS:-@madns.binarystar.systems:5301 --tcp} LOC far-positive-latitude.loc.invalid"
 stdout = { file = "outputs/far-positive-latitude.loc.invalid.ansitxt" }
 stderr = { empty = true }
 status = 0
@@ -59,7 +59,7 @@ tags = [ "loc", "madns" ]
 
 [[cmd]]
 name = "Running with ‘far-negative-longitude.loc.invalid’ displays a record structure with an out-of-range field"
-shell = "dog --colour=always --tcp @madns.binarystar.systems:5301 LOC far-negative-longitude.loc.invalid --json | jq"
+shell = "dog --colour=always ${MADNS_ARGS:-@madns.binarystar.systems:5301 --tcp} LOC far-negative-longitude.loc.invalid --json | jq"
 stdout = { file = "outputs/far-negative-longitude.loc.invalid.json" }
 stderr = { empty = true }
 status = 0
@@ -67,7 +67,7 @@ tags = [ "loc", "madns", "json" ]
 
 [[cmd]]
 name = "Running with ‘far-positive-longitude.loc.invalid’ displays a record structure with an out-of-range field"
-shell = "dog --colour=always --tcp @madns.binarystar.systems:5301 LOC far-positive-longitude.loc.invalid --json | jq"
+shell = "dog --colour=always ${MADNS_ARGS:-@madns.binarystar.systems:5301 --tcp} LOC far-positive-longitude.loc.invalid --json | jq"
 stdout = { file = "outputs/far-positive-longitude.loc.invalid.json" }
 stderr = { empty = true }
 status = 0
@@ -75,7 +75,7 @@ tags = [ "loc", "madns", "json" ]
 
 [[cmd]]
 name = "Running with ‘far-negative-latitude.loc.invalid’ displays a record structure with an out-of-range field"
-shell = "dog --colour=always --tcp @madns.binarystar.systems:5301 LOC far-negative-latitude.loc.invalid --json | jq"
+shell = "dog --colour=always ${MADNS_ARGS:-@madns.binarystar.systems:5301 --tcp} LOC far-negative-latitude.loc.invalid --json | jq"
 stdout = { file = "outputs/far-negative-latitude.loc.invalid.json" }
 stderr = { empty = true }
 status = 0
@@ -83,7 +83,7 @@ tags = [ "loc", "madns", "json" ]
 
 [[cmd]]
 name = "Running with ‘far-positive-latitude.loc.invalid’ displays a record structure with an out-of-range field"
-shell = "dog --colour=always --tcp @madns.binarystar.systems:5301 LOC far-positive-latitude.loc.invalid --json | jq"
+shell = "dog --colour=always ${MADNS_ARGS:-@madns.binarystar.systems:5301 --tcp} LOC far-positive-latitude.loc.invalid --json | jq"
 stdout = { file = "outputs/far-positive-latitude.loc.invalid.json" }
 stderr = { empty = true }
 status = 0
@@ -94,7 +94,7 @@ tags = [ "loc", "madns", "json" ]
 
 [[cmd]]
 name = "Running with ‘v1-conform.loc.invalid’ displays a version error"
-shell = "dog --colour=always --tcp @madns.binarystar.systems:5301 LOC v1-conform.loc.invalid"
+shell = "dog --colour=always ${MADNS_ARGS:-@madns.binarystar.systems:5301 --tcp} LOC v1-conform.loc.invalid"
 stdout = { empty = true }
 stderr = { string = "Error [protocol]: Malformed packet: record specifies version 1, expected up to 0" }
 status = 1
@@ -102,7 +102,7 @@ tags = [ "loc", "madns" ]
 
 [[cmd]]
 name = "Running with ‘v1-nonconform.loc.invalid’ displays a version error"
-shell = "dog --colour=always --tcp @madns.binarystar.systems:5301 LOC v1-nonconform.loc.invalid"
+shell = "dog --colour=always ${MADNS_ARGS:-@madns.binarystar.systems:5301 --tcp} LOC v1-nonconform.loc.invalid"
 stdout = { empty = true }
 stderr = { string = "Error [protocol]: Malformed packet: record specifies version 1, expected up to 0" }
 status = 1
@@ -110,7 +110,7 @@ tags = [ "loc", "madns" ]
 
 [[cmd]]
 name = "Running with ‘v1-empty.loc.invalid’ displays a version error"
-shell = "dog --colour=always --tcp @madns.binarystar.systems:5301 LOC v1-empty.loc.invalid"
+shell = "dog --colour=always ${MADNS_ARGS:-@madns.binarystar.systems:5301 --tcp} LOC v1-empty.loc.invalid"
 stdout = { empty = true }
 stderr = { string = "Error [protocol]: Malformed packet: record specifies version 1, expected up to 0" }
 status = 1
@@ -121,7 +121,7 @@ tags = [ "loc", "madns" ]
 
 [[cmd]]
 name = "Running with ‘empty.loc.invalid’ displays a record length error"
-shell = "dog --colour=always --tcp @madns.binarystar.systems:5301 LOC empty.loc.invalid"
+shell = "dog --colour=always ${MADNS_ARGS:-@madns.binarystar.systems:5301 --tcp} LOC empty.loc.invalid"
 stdout = { empty = true }
 stderr = { string = "Error [protocol]: Malformed packet: insufficient data" }
 status = 1
@@ -129,7 +129,7 @@ tags = [ "loc", "madns" ]
 
 [[cmd]]
 name = "Running with ‘incomplete.loc.invalid’ displays a record length error"
-shell = "dog --colour=always --tcp @madns.binarystar.systems:5301 LOC incomplete.loc.invalid"
+shell = "dog --colour=always ${MADNS_ARGS:-@madns.binarystar.systems:5301 --tcp} LOC incomplete.loc.invalid"
 stdout = { empty = true }
 stderr = { string = "Error [protocol]: Malformed packet: insufficient data" }
 status = 1

+ 4 - 4
xtests/madns/mx-records.toml

@@ -2,7 +2,7 @@
 
 [[cmd]]
 name = "Running with ‘mx.example’ prints the correct MX record"
-shell = "dog --colour=always --tcp @madns.binarystar.systems:5301 MX mx.example"
+shell = "dog --colour=always ${MADNS_ARGS:-@madns.binarystar.systems:5301 --tcp} MX mx.example"
 stdout = { file = "outputs/mx.example.ansitxt" }
 stderr = { empty = true }
 status = 0
@@ -13,7 +13,7 @@ tags = [ "mx", "madns" ]
 
 [[cmd]]
 name = "Running with ‘mx.example’ prints the correct MX record structure"
-shell = "dog --colour=always --tcp @madns.binarystar.systems:5301 MX mx.example --json | jq"
+shell = "dog --colour=always ${MADNS_ARGS:-@madns.binarystar.systems:5301 --tcp} MX mx.example --json | jq"
 stdout = { file = "outputs/mx.example.json" }
 stderr = { empty = true }
 status = 0
@@ -24,7 +24,7 @@ tags = [ "mx", "madns", "json" ]
 
 [[cmd]]
 name = "Running with ‘empty.mx.invalid’ displays a protocol error"
-shell = "dog --colour=always --tcp @madns.binarystar.systems:5301 MX empty.mx.invalid"
+shell = "dog --colour=always ${MADNS_ARGS:-@madns.binarystar.systems:5301 --tcp} MX empty.mx.invalid"
 stdout = { empty = true }
 stderr = { string = "Error [protocol]: Malformed packet: insufficient data" }
 status = 1
@@ -32,7 +32,7 @@ tags = [ "mx", "madns" ]
 
 [[cmd]]
 name = "Running with ‘incomplete.mx.invalid’ displays a protocol error"
-shell = "dog --colour=always --tcp @madns.binarystar.systems:5301 MX incomplete.mx.invalid"
+shell = "dog --colour=always ${MADNS_ARGS:-@madns.binarystar.systems:5301 --tcp} MX incomplete.mx.invalid"
 stdout = { empty = true }
 stderr = { string = "Error [protocol]: Malformed packet: insufficient data" }
 status = 1

+ 5 - 5
xtests/madns/naptr-records.toml

@@ -2,7 +2,7 @@
 
 [[cmd]]
 name = "Running with ‘naptr.example’ prints the correct NAPTR record"
-shell = "dog --colour=always --tcp @madns.binarystar.systems:5301 NAPTR naptr.example"
+shell = "dog --colour=always ${MADNS_ARGS:-@madns.binarystar.systems:5301 --tcp} NAPTR naptr.example"
 stdout = { file = "outputs/naptr.example.ansitxt" }
 stderr = { empty = true }
 status = 0
@@ -10,7 +10,7 @@ tags = [ "naptr", "madns" ]
 
 [[cmd]]
 name = "Running with ‘bad-regex.naptr.example’ still prints the correct NAPTR record"
-shell = "dog --colour=always --tcp @madns.binarystar.systems:5301 NAPTR bad-regex.naptr.example"
+shell = "dog --colour=always ${MADNS_ARGS:-@madns.binarystar.systems:5301 --tcp} NAPTR bad-regex.naptr.example"
 stdout = { file = "outputs/bad-regex.naptr.example.ansitxt" }
 stderr = { empty = true }
 status = 0
@@ -21,7 +21,7 @@ tags = [ "naptr", "madns" ]
 
 [[cmd]]
 name = "Running with ‘naptr.example’ prints the correct NAPTR record structure"
-shell = "dog --colour=always --tcp @madns.binarystar.systems:5301 NAPTR naptr.example --json | jq"
+shell = "dog --colour=always ${MADNS_ARGS:-@madns.binarystar.systems:5301 --tcp} NAPTR naptr.example --json | jq"
 stdout = { file = "outputs/naptr.example.json" }
 stderr = { empty = true }
 status = 0
@@ -32,7 +32,7 @@ tags = [ "naptr", "madns", "json" ]
 
 [[cmd]]
 name = "Running with ‘empty.naptr.invalid’ displays a protocol error"
-shell = "dog --colour=always --tcp @madns.binarystar.systems:5301 NAPTR empty.naptr.invalid"
+shell = "dog --colour=always ${MADNS_ARGS:-@madns.binarystar.systems:5301 --tcp} NAPTR empty.naptr.invalid"
 stdout = { empty = true }
 stderr = { string = "Error [protocol]: Malformed packet: insufficient data" }
 status = 1
@@ -40,7 +40,7 @@ tags = [ "naptr", "madns" ]
 
 [[cmd]]
 name = "Running with ‘incomplete.naptr.invalid’ displays a protocol error"
-shell = "dog --colour=always --tcp @madns.binarystar.systems:5301 NAPTR incomplete.naptr.invalid"
+shell = "dog --colour=always ${MADNS_ARGS:-@madns.binarystar.systems:5301 --tcp} NAPTR incomplete.naptr.invalid"
 stdout = { empty = true }
 stderr = { string = "Error [protocol]: Malformed packet: insufficient data" }
 status = 1

+ 4 - 4
xtests/madns/ns-records.toml

@@ -2,7 +2,7 @@
 
 [[cmd]]
 name = "Running with ‘ns.example’ prints the correct NS record"
-shell = "dog --colour=always --tcp @madns.binarystar.systems:5301 NS ns.example"
+shell = "dog --colour=always ${MADNS_ARGS:-@madns.binarystar.systems:5301 --tcp} NS ns.example"
 stdout = { file = "outputs/ns.example.ansitxt" }
 stderr = { empty = true }
 status = 0
@@ -13,7 +13,7 @@ tags = [ "ns", "madns" ]
 
 [[cmd]]
 name = "Running with ‘ns.example’ prints the correct NS record structure"
-shell = "dog --colour=always --tcp @madns.binarystar.systems:5301 NS ns.example --json | jq"
+shell = "dog --colour=always ${MADNS_ARGS:-@madns.binarystar.systems:5301 --tcp} NS ns.example --json | jq"
 stdout = { file = "outputs/ns.example.json" }
 stderr = { empty = true }
 status = 0
@@ -24,7 +24,7 @@ tags = [ "ns", "madns", "json" ]
 
 [[cmd]]
 name = "Running with ‘empty.ns.invalid’ displays a protocol error"
-shell = "dog --colour=always --tcp @madns.binarystar.systems:5301 NS empty.ns.invalid"
+shell = "dog --colour=always ${MADNS_ARGS:-@madns.binarystar.systems:5301 --tcp} NS empty.ns.invalid"
 stdout = { empty = true }
 stderr = { string = "Error [protocol]: Malformed packet: insufficient data" }
 status = 1
@@ -32,7 +32,7 @@ tags = [ "ns", "madns" ]
 
 [[cmd]]
 name = "Running with ‘incomplete.ns.invalid’ displays a protocol error"
-shell = "dog --colour=always --tcp @madns.binarystar.systems:5301 NS incomplete.ns.invalid"
+shell = "dog --colour=always ${MADNS_ARGS:-@madns.binarystar.systems:5301 --tcp} NS incomplete.ns.invalid"
 stdout = { empty = true }
 stderr = { string = "Error [protocol]: Malformed packet: insufficient data" }
 status = 1

+ 4 - 4
xtests/madns/openpgpkey-records.toml

@@ -2,7 +2,7 @@
 
 [[cmd]]
 name = "Running with ‘openpgpkey.example’ prints the correct OPENPGPKEY record"
-shell = "dog --colour=always --tcp @madns.binarystar.systems:5301 OPENPGPKEY openpgpkey.example"
+shell = "dog --colour=always ${MADNS_ARGS:-@madns.binarystar.systems:5301 --tcp} OPENPGPKEY openpgpkey.example"
 stdout = { file = "outputs/openpgpkey.example.ansitxt" }
 stderr = { empty = true }
 status = 0
@@ -13,7 +13,7 @@ tags = [ "openpgpkey", "madns" ]
 
 [[cmd]]
 name = "Running with ‘openpgpkey.example’ prints the correct OPENPGPKEY record structure"
-shell = "dog --colour=always --tcp @madns.binarystar.systems:5301 OPENPGPKEY openpgpkey.example --json | jq"
+shell = "dog --colour=always ${MADNS_ARGS:-@madns.binarystar.systems:5301 --tcp} OPENPGPKEY openpgpkey.example --json | jq"
 stdout = { file = "outputs/openpgpkey.example.json" }
 stderr = { empty = true }
 status = 0
@@ -24,7 +24,7 @@ tags = [ "openpgpkey", "madns", "json" ]
 
 [[cmd]]
 name = "Running with ‘empty.openpgpkey.invalid’ displays a record length error"
-shell = "dog --colour=always --tcp @madns.binarystar.systems:5301 OPENPGPKEY empty.openpgpkey.invalid"
+shell = "dog --colour=always ${MADNS_ARGS:-@madns.binarystar.systems:5301 --tcp} OPENPGPKEY empty.openpgpkey.invalid"
 stdout = { empty = true }
 stderr = { string = "Error [protocol]: Malformed packet: record length should be at least 1, got 0" }
 status = 1
@@ -32,7 +32,7 @@ tags = [ "openpgpkey", "madns" ]
 
 [[cmd]]
 name = "Running with ‘incomplete.openpgpkey.invalid’ displays a protocol error"
-shell = "dog --colour=always --tcp @madns.binarystar.systems:5301 OPENPGPKEY incomplete.openpgpkey.invalid"
+shell = "dog --colour=always ${MADNS_ARGS:-@madns.binarystar.systems:5301 --tcp} OPENPGPKEY incomplete.openpgpkey.invalid"
 stdout = { empty = true }
 stderr = { string = "Error [protocol]: Malformed packet: insufficient data" }
 status = 1

+ 9 - 9
xtests/madns/opt-records.toml

@@ -2,7 +2,7 @@
 
 [[cmd]]
 name = "Running with ‘opt.example’ prints the correct OPT record"
-shell = "dog --colour=always --tcp @madns.binarystar.systems:5301 A opt.example --edns=show"
+shell = "dog --colour=always ${MADNS_ARGS:-@madns.binarystar.systems:5301 --tcp} A opt.example --edns=show"
 stdout = { file = "outputs/opt.example.ansitxt" }
 stderr = { empty = true }
 status = 0
@@ -10,7 +10,7 @@ tags = [ "opt", "madns" ]
 
 [[cmd]]
 name = "Running with ‘do-flag.opt.example’ prints the correct OPT record"
-shell = "dog --colour=always --tcp @madns.binarystar.systems:5301 A do-flag.opt.example --edns=show"
+shell = "dog --colour=always ${MADNS_ARGS:-@madns.binarystar.systems:5301 --tcp} A do-flag.opt.example --edns=show"
 stdout = { file = "outputs/do-flag.opt.example.ansitxt" }
 stderr = { empty = true }
 status = 0
@@ -18,7 +18,7 @@ tags = [ "opt", "madns" ]
 
 [[cmd]]
 name = "Running with ‘other-flags.opt.example’ prints the correct OPT record"
-shell = "dog --colour=always --tcp @madns.binarystar.systems:5301 A other-flags.opt.example --edns=show"
+shell = "dog --colour=always ${MADNS_ARGS:-@madns.binarystar.systems:5301 --tcp} A other-flags.opt.example --edns=show"
 stdout = { file = "outputs/other-flags.opt.example.ansitxt" }
 stderr = { empty = true }
 status = 0
@@ -26,7 +26,7 @@ tags = [ "opt", "madns" ]
 
 [[cmd]]
 name = "Running with ‘named.opt.invalid’ prints the correct OPT record"
-shell = "dog --colour=always --tcp @madns.binarystar.systems:5301 A named.opt.invalid --edns=show"
+shell = "dog --colour=always ${MADNS_ARGS:-@madns.binarystar.systems:5301 --tcp} A named.opt.invalid --edns=show"
 stdout = { file = "outputs/named.opt.invalid.ansitxt" }
 stderr = { empty = true }
 status = 0
@@ -37,7 +37,7 @@ tags = [ "opt", "madns" ]
 
 [[cmd]]
 name = "Running with ‘opt.example’ prints the correct OPT record structure"
-shell = "dog --colour=always --tcp @madns.binarystar.systems:5301 A opt.example --edns=show --json | jq"
+shell = "dog --colour=always ${MADNS_ARGS:-@madns.binarystar.systems:5301 --tcp} A opt.example --edns=show --json | jq"
 stdout = { file = "outputs/opt.example.json" }
 stderr = { empty = true }
 status = 0
@@ -45,7 +45,7 @@ tags = [ "opt", "madns", "json" ]
 
 [[cmd]]
 name = "Running with ‘do-flag.opt.example’ prints the correct OPT record structure"
-shell = "dog --colour=always --tcp @madns.binarystar.systems:5301 A do-flag.opt.example --edns=show --json | jq"
+shell = "dog --colour=always ${MADNS_ARGS:-@madns.binarystar.systems:5301 --tcp} A do-flag.opt.example --edns=show --json | jq"
 stdout = { file = "outputs/do-flag.opt.example.json" }
 stderr = { empty = true }
 status = 0
@@ -53,7 +53,7 @@ tags = [ "opt", "madns", "json" ]
 
 [[cmd]]
 name = "Running with ‘other-flags.opt.example’ prints the correct OPT record structure"
-shell = "dog --colour=always --tcp @madns.binarystar.systems:5301 A other-flags.opt.example --edns=show --json | jq"
+shell = "dog --colour=always ${MADNS_ARGS:-@madns.binarystar.systems:5301 --tcp} A other-flags.opt.example --edns=show --json | jq"
 stdout = { file = "outputs/other-flags.opt.example.json" }
 stderr = { empty = true }
 status = 0
@@ -61,7 +61,7 @@ tags = [ "opt", "madns", "json" ]
 
 [[cmd]]
 name = "Running with ‘named.opt.invalid’ prints the correct OPT record structure"
-shell = "dog --colour=always --tcp @madns.binarystar.systems:5301 A named.opt.invalid --edns=show --json | jq"
+shell = "dog --colour=always ${MADNS_ARGS:-@madns.binarystar.systems:5301 --tcp} A named.opt.invalid --edns=show --json | jq"
 stdout = { file = "outputs/named.opt.invalid.json" }
 stderr = { empty = true }
 status = 0
@@ -72,7 +72,7 @@ tags = [ "opt", "madns", "json" ]
 
 [[cmd]]
 name = "Running with ‘incomplete.opt.invalid’ displays a record length error"
-shell = "dog --colour=always --tcp @madns.binarystar.systems:5301 A incomplete.opt.invalid"
+shell = "dog --colour=always ${MADNS_ARGS:-@madns.binarystar.systems:5301 --tcp} A incomplete.opt.invalid"
 stdout = { empty = true }
 stderr = { string = "Error [protocol]: Malformed packet: insufficient data" }
 status = 1

+ 10 - 10
xtests/madns/protocol-chars.toml

@@ -2,7 +2,7 @@
 
 [[cmd]]
 name = "Running with ‘ansi.str.example’ properly escapes the codes"
-shell = "dog --colour=always --tcp @madns.binarystar.systems:5301 CNAME ansi.str.example"
+shell = "dog --colour=always ${MADNS_ARGS:-@madns.binarystar.systems:5301 --tcp} CNAME ansi.str.example"
 stdout = { file = "outputs/ansi.str.example.ansitxt" }
 stderr = { empty = true }
 status = 0
@@ -10,7 +10,7 @@ tags = [ "protocol", "madns" ]
 
 [[cmd]]
 name = "Running with ‘newline.str.example’ properly escapes the newlines"
-shell = "dog --colour=always --tcp @madns.binarystar.systems:5301 CNAME newline.str.example"
+shell = "dog --colour=always ${MADNS_ARGS:-@madns.binarystar.systems:5301 --tcp} CNAME newline.str.example"
 stdout = { file = "outputs/newline.str.example.ansitxt" }
 stderr = { empty = true }
 status = 0
@@ -18,7 +18,7 @@ tags = [ "protocol", "madns" ]
 
 [[cmd]]
 name = "Running with ‘null.str.example’ properly handles the null bytes"
-shell = "dog --colour=always --tcp @madns.binarystar.systems:5301 CNAME null.str.example"
+shell = "dog --colour=always ${MADNS_ARGS:-@madns.binarystar.systems:5301 --tcp} CNAME null.str.example"
 stdout = { file = "outputs/null.str.example.ansitxt" }
 stderr = { empty = true }
 status = 0
@@ -26,7 +26,7 @@ tags = [ "protocol", "madns" ]
 
 [[cmd]]
 name = "Running with ‘tab.str.example’ properly escapes the tabs"
-shell = "dog --colour=always --tcp @madns.binarystar.systems:5301 CNAME tab.str.example"
+shell = "dog --colour=always ${MADNS_ARGS:-@madns.binarystar.systems:5301 --tcp} CNAME tab.str.example"
 stdout = { file = "outputs/tab.str.example.ansitxt" }
 stderr = { empty = true }
 status = 0
@@ -34,7 +34,7 @@ tags = [ "protocol", "madns" ]
 
 [[cmd]]
 name = "Running with ‘upperbit.str.example’ properly escapes the upper-bit characters"
-shell = "dog --colour=always --tcp @madns.binarystar.systems:5301 CNAME upperbit.str.example"
+shell = "dog --colour=always ${MADNS_ARGS:-@madns.binarystar.systems:5301 --tcp} CNAME upperbit.str.example"
 stdout = { file = "outputs/upperbit.str.example.ansitxt" }
 stderr = { empty = true }
 status = 0
@@ -45,7 +45,7 @@ tags = [ "protocol", "madns" ]
 
 [[cmd]]
 name = "Running with ‘ansi.str.example’ properly escapes the codes in the JSON string"
-shell = "dog --colour=always --tcp @madns.binarystar.systems:5301 CNAME ansi.str.example --json | jq"
+shell = "dog --colour=always ${MADNS_ARGS:-@madns.binarystar.systems:5301 --tcp} CNAME ansi.str.example --json | jq"
 stdout = { file = "outputs/ansi.str.example.json" }
 stderr = { empty = true }
 status = 0
@@ -53,7 +53,7 @@ tags = [ "protocol", "madns", "json" ]
 
 [[cmd]]
 name = "Running with ‘newline.str.example’ properly escapes the newlines in the JSON string"
-shell = "dog --colour=always --tcp @madns.binarystar.systems:5301 CNAME newline.str.example --json | jq"
+shell = "dog --colour=always ${MADNS_ARGS:-@madns.binarystar.systems:5301 --tcp} CNAME newline.str.example --json | jq"
 stdout = { file = "outputs/newline.str.example.json" }
 stderr = { empty = true }
 status = 0
@@ -61,7 +61,7 @@ tags = [ "protocol", "madns", "json" ]
 
 [[cmd]]
 name = "Running with ‘null.str.example’ properly handles the null bytes in the JSON string"
-shell = "dog --colour=always --tcp @madns.binarystar.systems:5301 CNAME null.str.example --json | jq"
+shell = "dog --colour=always ${MADNS_ARGS:-@madns.binarystar.systems:5301 --tcp} CNAME null.str.example --json | jq"
 stdout = { file = "outputs/null.str.example.json" }
 stderr = { empty = true }
 status = 0
@@ -69,7 +69,7 @@ tags = [ "protocol", "madns", "json" ]
 
 [[cmd]]
 name = "Running with ‘tab.str.example’ properly escapes the tabs in the JSON string"
-shell = "dog --colour=always --tcp @madns.binarystar.systems:5301 CNAME tab.str.example --json | jq"
+shell = "dog --colour=always ${MADNS_ARGS:-@madns.binarystar.systems:5301 --tcp} CNAME tab.str.example --json | jq"
 stdout = { file = "outputs/tab.str.example.json" }
 stderr = { empty = true }
 status = 0
@@ -77,7 +77,7 @@ tags = [ "protocol", "madns", "json" ]
 
 [[cmd]]
 name = "Running with ‘upperbit.str.example’ properly escapes the upper-bit characters in the JSON string"
-shell = "dog --colour=always --tcp @madns.binarystar.systems:5301 CNAME upperbit.str.example --json | jq"
+shell = "dog --colour=always ${MADNS_ARGS:-@madns.binarystar.systems:5301 --tcp} CNAME upperbit.str.example --json | jq"
 stdout = { file = "outputs/upperbit.str.example.json" }
 stderr = { empty = true }
 status = 0

+ 3 - 3
xtests/madns/protocol-compression.toml

@@ -1,6 +1,6 @@
 [[cmd]]
 name = "Running with ‘out-of-range.invalid’ displays a protocol error"
-shell = "dog --colour=always --tcp @madns.binarystar.systems:5301 A out-of-range.invalid"
+shell = "dog --colour=always ${MADNS_ARGS:-@madns.binarystar.systems:5301 --tcp} A out-of-range.invalid"
 stdout = { empty = true }
 stderr = { string = "Error [protocol]: Malformed packet: insufficient data" }
 status = 1
@@ -8,7 +8,7 @@ tags = [ "protocol", "madns" ]
 
 [[cmd]]
 name = "Running with ‘recursive-1.invalid’ displays a recursion error"
-shell = "dog --colour=always --tcp @madns.binarystar.systems:5301 A recursive-1.invalid"
+shell = "dog --colour=always ${MADNS_ARGS:-@madns.binarystar.systems:5301 --tcp} A recursive-1.invalid"
 stdout = { empty = true }
 stderr = { string = "Error [protocol]: Malformed packet: too much recursion: [37]" }
 status = 1
@@ -16,7 +16,7 @@ tags = [ "protocol", "madns" ]
 
 [[cmd]]
 name = "Running with ‘recursive-2.invalid’ displays a recursion error"
-shell = "dog --colour=always --tcp @madns.binarystar.systems:5301 A recursive-2.invalid"
+shell = "dog --colour=always ${MADNS_ARGS:-@madns.binarystar.systems:5301 --tcp} A recursive-2.invalid"
 stdout = { empty = true }
 stderr = { string = "Error [protocol]: Malformed packet: too much recursion: [53, 37]" }
 status = 1

+ 5 - 5
xtests/madns/protocol-error-codes.toml

@@ -1,6 +1,6 @@
 [[cmd]]
 name = "Running with ‘formerr.invalid’ displays the error code"
-shell = "dog --colour=always --tcp @madns.binarystar.systems:5301 A formerr.invalid"
+shell = "dog --colour=always ${MADNS_ARGS:-@madns.binarystar.systems:5301 --tcp} A formerr.invalid"
 stdout = { string = "Status: Format Error" }
 stderr = { empty = true }
 status = 0
@@ -8,7 +8,7 @@ tags = [ "protocol", "madns" ]
 
 [[cmd]]
 name = "Running with ‘servfail.invalid’ displays the error code"
-shell = "dog --colour=always --tcp @madns.binarystar.systems:5301 A servfail.invalid"
+shell = "dog --colour=always ${MADNS_ARGS:-@madns.binarystar.systems:5301 --tcp} A servfail.invalid"
 stdout = { string = "Status: Server Failure" }
 stderr = { empty = true }
 status = 0
@@ -16,7 +16,7 @@ tags = [ "protocol", "madns" ]
 
 [[cmd]]
 name = "Running with ‘nxdomain.invalid’ displays the error code"
-shell = "dog --colour=always --tcp @madns.binarystar.systems:5301 A nxdomain.invalid"
+shell = "dog --colour=always ${MADNS_ARGS:-@madns.binarystar.systems:5301 --tcp} A nxdomain.invalid"
 stdout = { string = "Status: NXDomain" }
 stderr = { empty = true }
 status = 0
@@ -24,7 +24,7 @@ tags = [ "protocol", "madns" ]
 
 [[cmd]]
 name = "Running with ‘notimp.invalid’ displays the error code"
-shell = "dog --colour=always --tcp @madns.binarystar.systems:5301 A notimp.invalid"
+shell = "dog --colour=always ${MADNS_ARGS:-@madns.binarystar.systems:5301 --tcp} A notimp.invalid"
 stdout = { string = "Status: Not Implemented" }
 stderr = { empty = true }
 status = 0
@@ -32,7 +32,7 @@ tags = [ "protocol", "madns" ]
 
 [[cmd]]
 name = "Running with ‘refused.invalid’ displays the error code"
-shell = "dog --colour=always --tcp @madns.binarystar.systems:5301 A refused.invalid"
+shell = "dog --colour=always ${MADNS_ARGS:-@madns.binarystar.systems:5301 --tcp} A refused.invalid"
 stdout = { string = "Status: Query Refused" }
 stderr = { empty = true }
 status = 0

+ 4 - 4
xtests/madns/ptr-records.toml

@@ -2,7 +2,7 @@
 
 [[cmd]]
 name = "Running with ‘ptr.example’ prints the correct PTR record"
-shell = "dog --colour=always --tcp @madns.binarystar.systems:5301 PTR ptr.example"
+shell = "dog --colour=always ${MADNS_ARGS:-@madns.binarystar.systems:5301 --tcp} PTR ptr.example"
 stdout = { file = "outputs/ptr.example.ansitxt" }
 stderr = { empty = true }
 status = 0
@@ -13,7 +13,7 @@ tags = [ "ptr", "madns" ]
 
 [[cmd]]
 name = "Running with ‘ptr.example’ prints the correct PTR record structure"
-shell = "dog --colour=always --tcp @madns.binarystar.systems:5301 PTR ptr.example --json | jq"
+shell = "dog --colour=always ${MADNS_ARGS:-@madns.binarystar.systems:5301 --tcp} PTR ptr.example --json | jq"
 stdout = { file = "outputs/ptr.example.json" }
 stderr = { empty = true }
 status = 0
@@ -24,7 +24,7 @@ tags = [ "ptr", "madns", "json" ]
 
 [[cmd]]
 name = "Running with ‘empty.ptr.invalid’ displays a protocol error"
-shell = "dog --colour=always --tcp @madns.binarystar.systems:5301 PTR empty.ptr.invalid"
+shell = "dog --colour=always ${MADNS_ARGS:-@madns.binarystar.systems:5301 --tcp} PTR empty.ptr.invalid"
 stdout = { empty = true }
 stderr = { string = "Error [protocol]: Malformed packet: insufficient data" }
 status = 1
@@ -32,7 +32,7 @@ tags = [ "ptr", "madns" ]
 
 [[cmd]]
 name = "Running with ‘incomplete.ptr.invalid’ displays a protocol error"
-shell = "dog --colour=always --tcp @madns.binarystar.systems:5301 PTR incomplete.ptr.invalid"
+shell = "dog --colour=always ${MADNS_ARGS:-@madns.binarystar.systems:5301 --tcp} PTR incomplete.ptr.invalid"
 stdout = { empty = true }
 stderr = { string = "Error [protocol]: Malformed packet: insufficient data" }
 status = 1

+ 4 - 4
xtests/madns/soa-records.toml

@@ -2,7 +2,7 @@
 
 [[cmd]]
 name = "Running with ‘soa.example’ prints the correct SOA record"
-shell = "dog --colour=always --tcp @madns.binarystar.systems:5301 SOA soa.example"
+shell = "dog --colour=always ${MADNS_ARGS:-@madns.binarystar.systems:5301 --tcp} SOA soa.example"
 stdout = { file = "outputs/soa.example.ansitxt" }
 stderr = { empty = true }
 status = 0
@@ -13,7 +13,7 @@ tags = [ "soa", "madns" ]
 
 [[cmd]]
 name = "Running with ‘soa.example’ prints the correct SOA record structure"
-shell = "dog --colour=always --tcp @madns.binarystar.systems:5301 SOA soa.example --json | jq"
+shell = "dog --colour=always ${MADNS_ARGS:-@madns.binarystar.systems:5301 --tcp} SOA soa.example --json | jq"
 stdout = { file = "outputs/soa.example.json" }
 stderr = { empty = true }
 status = 0
@@ -24,7 +24,7 @@ tags = [ "soa", "madns", "json" ]
 
 [[cmd]]
 name = "Running with ‘empty.soa.invalid’ displays a protocol error"
-shell = "dog --colour=always --tcp @madns.binarystar.systems:5301 SOA empty.soa.invalid"
+shell = "dog --colour=always ${MADNS_ARGS:-@madns.binarystar.systems:5301 --tcp} SOA empty.soa.invalid"
 stdout = { empty = true }
 stderr = { string = "Error [protocol]: Malformed packet: insufficient data" }
 status = 1
@@ -32,7 +32,7 @@ tags = [ "soa", "madns" ]
 
 [[cmd]]
 name = "Running with ‘incomplete.soa.invalid’ displays a protocol error"
-shell = "dog --colour=always --tcp @madns.binarystar.systems:5301 SOA incomplete.soa.invalid"
+shell = "dog --colour=always ${MADNS_ARGS:-@madns.binarystar.systems:5301 --tcp} SOA incomplete.soa.invalid"
 stdout = { empty = true }
 stderr = { string = "Error [protocol]: Malformed packet: insufficient data" }
 status = 1

+ 4 - 4
xtests/madns/srv-records.toml

@@ -2,7 +2,7 @@
 
 [[cmd]]
 name = "Running with ‘srv.example’ prints the correct SRV record"
-shell = "dog --colour=always --tcp @madns.binarystar.systems:5301 SRV srv.example"
+shell = "dog --colour=always ${MADNS_ARGS:-@madns.binarystar.systems:5301 --tcp} SRV srv.example"
 stdout = { file = "outputs/srv.example.ansitxt" }
 stderr = { empty = true }
 status = 0
@@ -13,7 +13,7 @@ tags = [ "soa", "madns" ]
 
 [[cmd]]
 name = "Running with ‘srv.example’ prints the correct SRV record structure"
-shell = "dog --colour=always --tcp @madns.binarystar.systems:5301 SRV srv.example --json | jq"
+shell = "dog --colour=always ${MADNS_ARGS:-@madns.binarystar.systems:5301 --tcp} SRV srv.example --json | jq"
 stdout = { file = "outputs/srv.example.json" }
 stderr = { empty = true }
 status = 0
@@ -24,7 +24,7 @@ tags = [ "soa", "madns", "json" ]
 
 [[cmd]]
 name = "Running with ‘empty.srv.invalid’ displays a protocol error"
-shell = "dog --colour=always --tcp @madns.binarystar.systems:5301 SRV empty.srv.invalid"
+shell = "dog --colour=always ${MADNS_ARGS:-@madns.binarystar.systems:5301 --tcp} SRV empty.srv.invalid"
 stdout = { empty = true }
 stderr = { string = "Error [protocol]: Malformed packet: insufficient data" }
 status = 1
@@ -32,7 +32,7 @@ tags = [ "soa", "madns" ]
 
 [[cmd]]
 name = "Running with ‘incomplete.srv.invalid’ displays a protocol error"
-shell = "dog --colour=always --tcp @madns.binarystar.systems:5301 SRV incomplete.srv.invalid"
+shell = "dog --colour=always ${MADNS_ARGS:-@madns.binarystar.systems:5301 --tcp} SRV incomplete.srv.invalid"
 stdout = { empty = true }
 stderr = { string = "Error [protocol]: Malformed packet: insufficient data" }
 status = 1

+ 4 - 4
xtests/madns/sshfp-records.toml

@@ -2,7 +2,7 @@
 
 [[cmd]]
 name = "Running with ‘sshfp.example’ prints the correct SSHFP record"
-shell = "dog --colour=always --tcp @madns.binarystar.systems:5301 SSHFP sshfp.example"
+shell = "dog --colour=always ${MADNS_ARGS:-@madns.binarystar.systems:5301 --tcp} SSHFP sshfp.example"
 stdout = { file = "outputs/sshfp.example.ansitxt" }
 stderr = { empty = true }
 status = 0
@@ -13,7 +13,7 @@ tags = [ "sshfp", "madns" ]
 
 [[cmd]]
 name = "Running with ‘sshfp.example’ prints the correct SSHFP record structure"
-shell = "dog --colour=always --tcp @madns.binarystar.systems:5301 SSHFP sshfp.example --json | jq"
+shell = "dog --colour=always ${MADNS_ARGS:-@madns.binarystar.systems:5301 --tcp} SSHFP sshfp.example --json | jq"
 stdout = { file = "outputs/sshfp.example.json" }
 stderr = { empty = true }
 status = 0
@@ -24,7 +24,7 @@ tags = [ "sshfp", "madns", "json" ]
 
 [[cmd]]
 name = "Running with ‘empty.sshfp.invalid’ displays a protocol error"
-shell = "dog --colour=always --tcp @madns.binarystar.systems:5301 SSHFP empty.sshfp.invalid"
+shell = "dog --colour=always ${MADNS_ARGS:-@madns.binarystar.systems:5301 --tcp} SSHFP empty.sshfp.invalid"
 stdout = { empty = true }
 stderr = { string = "Error [protocol]: Malformed packet: insufficient data" }
 status = 1
@@ -32,7 +32,7 @@ tags = [ "sshfp", "madns" ]
 
 [[cmd]]
 name = "Running with ‘incomplete.sshfp.invalid’ displays a protocol error"
-shell = "dog --colour=always --tcp @madns.binarystar.systems:5301 SSHFP incomplete.sshfp.invalid"
+shell = "dog --colour=always ${MADNS_ARGS:-@madns.binarystar.systems:5301 --tcp} SSHFP incomplete.sshfp.invalid"
 stdout = { empty = true }
 stderr = { string = "Error [protocol]: Malformed packet: insufficient data" }
 status = 1

+ 4 - 4
xtests/madns/tlsa-records.toml

@@ -2,7 +2,7 @@
 
 [[cmd]]
 name = "Running with ‘tlsa.example’ prints the correct TLSA record"
-shell = "dog --colour=always --tcp @madns.binarystar.systems:5301 TLSA tlsa.example"
+shell = "dog --colour=always ${MADNS_ARGS:-@madns.binarystar.systems:5301 --tcp} TLSA tlsa.example"
 stdout = { file = "outputs/tlsa.example.ansitxt" }
 stderr = { empty = true }
 status = 0
@@ -13,7 +13,7 @@ tags = [ "tlsa", "madns" ]
 
 [[cmd]]
 name = "Running with ‘tlsa.example’ prints the correct TLSA record structure"
-shell = "dog --colour=always --tcp @madns.binarystar.systems:5301 TLSA tlsa.example --json | jq"
+shell = "dog --colour=always ${MADNS_ARGS:-@madns.binarystar.systems:5301 --tcp} TLSA tlsa.example --json | jq"
 stdout = { file = "outputs/tlsa.example.json" }
 stderr = { empty = true }
 status = 0
@@ -24,7 +24,7 @@ tags = [ "tlsa", "madns", "json" ]
 
 [[cmd]]
 name = "Running with ‘empty.tlsa.invalid’ displays a protocol error"
-shell = "dog --colour=always --tcp @madns.binarystar.systems:5301 TLSA empty.tlsa.invalid"
+shell = "dog --colour=always ${MADNS_ARGS:-@madns.binarystar.systems:5301 --tcp} TLSA empty.tlsa.invalid"
 stdout = { empty = true }
 stderr = { string = "Error [protocol]: Malformed packet: insufficient data" }
 status = 1
@@ -32,7 +32,7 @@ tags = [ "tlsa", "madns" ]
 
 [[cmd]]
 name = "Running with ‘incomplete.tlsa.invalid’ displays a protocol error"
-shell = "dog --colour=always --tcp @madns.binarystar.systems:5301 TLSA incomplete.tlsa.invalid"
+shell = "dog --colour=always ${MADNS_ARGS:-@madns.binarystar.systems:5301 --tcp} TLSA incomplete.tlsa.invalid"
 stdout = { empty = true }
 stderr = { string = "Error [protocol]: Malformed packet: insufficient data" }
 status = 1

+ 4 - 4
xtests/madns/txt-records.toml

@@ -2,7 +2,7 @@
 
 [[cmd]]
 name = "Running with ‘txt.example’ prints the correct TXT record"
-shell = "dog --colour=always --tcp @madns.binarystar.systems:5301 TXT txt.example"
+shell = "dog --colour=always ${MADNS_ARGS:-@madns.binarystar.systems:5301 --tcp} TXT txt.example"
 stdout = { file = "outputs/txt.example.ansitxt" }
 stderr = { empty = true }
 status = 0
@@ -13,7 +13,7 @@ tags = [ "txt", "madns" ]
 
 [[cmd]]
 name = "Running with ‘txt.example’ prints the correct TXT record structure"
-shell = "dog --colour=always --tcp @madns.binarystar.systems:5301 TXT txt.example --json | jq"
+shell = "dog --colour=always ${MADNS_ARGS:-@madns.binarystar.systems:5301 --tcp} TXT txt.example --json | jq"
 stdout = { file = "outputs/txt.example.json" }
 stderr = { empty = true }
 status = 0
@@ -24,7 +24,7 @@ tags = [ "txt", "madns", "json" ]
 
 [[cmd]]
 name = "Running with ‘empty.txt.invalid’ displays a protocol error"
-shell = "dog --colour=always --tcp @madns.binarystar.systems:5301 TXT empty.txt.invalid"
+shell = "dog --colour=always ${MADNS_ARGS:-@madns.binarystar.systems:5301 --tcp} TXT empty.txt.invalid"
 stdout = { empty = true }
 stderr = { string = "Error [protocol]: Malformed packet: insufficient data" }
 status = 1
@@ -32,7 +32,7 @@ tags = [ "txt", "madns" ]
 
 [[cmd]]
 name = "Running with ‘incomplete.txt.invalid’ displays a protocol error"
-shell = "dog --colour=always --tcp @madns.binarystar.systems:5301 TXT incomplete.txt.invalid"
+shell = "dog --colour=always ${MADNS_ARGS:-@madns.binarystar.systems:5301 --tcp} TXT incomplete.txt.invalid"
 stdout = { empty = true }
 stderr = { string = "Error [protocol]: Malformed packet: insufficient data" }
 status = 1

+ 6 - 6
xtests/madns/uri-records.toml

@@ -2,7 +2,7 @@
 
 [[cmd]]
 name = "Running with ‘uri.example’ prints the correct URI record"
-shell = "dog --colour=always --tcp @madns.binarystar.systems:5301 URI uri.example"
+shell = "dog --colour=always ${MADNS_ARGS:-@madns.binarystar.systems:5301 --tcp} URI uri.example"
 stdout = { file = "outputs/uri.example.ansitxt" }
 stderr = { empty = true }
 status = 0
@@ -10,7 +10,7 @@ tags = [ "uri", "madns" ]
 
 [[cmd]]
 name = "Running with ‘slash.uri.example’ still prints the correct URI record"
-shell = "dog --colour=always --tcp @madns.binarystar.systems:5301 URI slash.uri.example"
+shell = "dog --colour=always ${MADNS_ARGS:-@madns.binarystar.systems:5301 --tcp} URI slash.uri.example"
 stdout = { file = "outputs/slash.uri.example.ansitxt" }
 stderr = { empty = true }
 status = 0
@@ -21,7 +21,7 @@ tags = [ "uri", "madns" ]
 
 [[cmd]]
 name = "Running with ‘uri.example’ prints the correct URI record structure"
-shell = "dog --colour=always --tcp @madns.binarystar.systems:5301 URI uri.example --json | jq"
+shell = "dog --colour=always ${MADNS_ARGS:-@madns.binarystar.systems:5301 --tcp} URI uri.example --json | jq"
 stdout = { file = "outputs/uri.example.json" }
 stderr = { empty = true }
 status = 0
@@ -32,7 +32,7 @@ tags = [ "uri", "madns", "json" ]
 
 [[cmd]]
 name = "Running with ‘missing-data.uri.invalid’ displays a packet length error"
-shell = "dog --colour=always --tcp @madns.binarystar.systems:5301 URI missing-data.uri.invalid"
+shell = "dog --colour=always ${MADNS_ARGS:-@madns.binarystar.systems:5301 --tcp} URI missing-data.uri.invalid"
 stdout = { empty = true }
 stderr = { string = "Error [protocol]: Malformed packet: record length should be at least 5, got 4" }
 status = 1
@@ -40,7 +40,7 @@ tags = [ "uri", "madns" ]
 
 [[cmd]]
 name = "Running with ‘empty.uri.invalid’ displays a protocol error"
-shell = "dog --colour=always --tcp @madns.binarystar.systems:5301 URI empty.uri.invalid"
+shell = "dog --colour=always ${MADNS_ARGS:-@madns.binarystar.systems:5301 --tcp} URI empty.uri.invalid"
 stdout = { empty = true }
 stderr = { string = "Error [protocol]: Malformed packet: insufficient data" }
 status = 1
@@ -48,7 +48,7 @@ tags = [ "uri", "madns" ]
 
 [[cmd]]
 name = "Running with ‘incomplete.uri.invalid’ displays a protocol error"
-shell = "dog --colour=always --tcp @madns.binarystar.systems:5301 URI incomplete.uri.invalid"
+shell = "dog --colour=always ${MADNS_ARGS:-@madns.binarystar.systems:5301 --tcp} URI incomplete.uri.invalid"
 stdout = { empty = true }
 stderr = { string = "Error [protocol]: Malformed packet: insufficient data" }
 status = 1