Skip to content

MYTHICBEASTS: Add SSHFP record support#2545

Merged
tlimoncelli merged 2 commits into
DNSControl:masterfrom
tomfitzhenry:mythicbeasts-sshfp
Sep 5, 2023
Merged

MYTHICBEASTS: Add SSHFP record support#2545
tlimoncelli merged 2 commits into
DNSControl:masterfrom
tomfitzhenry:mythicbeasts-sshfp

Conversation

@tomfitzhenry
Copy link
Copy Markdown
Contributor

@tomfitzhenry tomfitzhenry commented Sep 5, 2023

Added SSHFP record support for Mythic Beasts provider.

Prior to this PR, SSHFP records would fail to write to Mythic Beasts DNS API, since miekg's DNS library would output as uppercase hex, but the API requires lowercase hex.

The integration tests caught this, which now runs SSHFP tests and passes.

Integration test output
=== RUN   TestDNSProviders
=== RUN   TestDNSProviders/example.com
=== RUN   TestDNSProviders/example.com/Clean_Slate:Empty
    integration_test.go:256: 
        - DELETE foo.example.com CNAME example.com. ttl=300
=== RUN   TestDNSProviders/example.com/00:A:Create_A
    integration_test.go:256: 
        + CREATE testa.example.com A 1.1.1.1 ttl=300
=== RUN   TestDNSProviders/example.com/00:A:Change_A_target
    integration_test.go:256: 
        ± MODIFY testa.example.com A (1.1.1.1 ttl=300) -> (3.3.3.3 ttl=300)
=== RUN   TestDNSProviders/example.com/Post_cleanup:Empty
    integration_test.go:256: 
        - DELETE testa.example.com A 3.3.3.3 ttl=300
=== RUN   TestDNSProviders/example.com/01:Apex:Create_A
    integration_test.go:256: 
        + CREATE example.com A 2.2.2.2 ttl=300
=== RUN   TestDNSProviders/example.com/01:Apex:Change_A_target
    integration_test.go:256: 
        ± MODIFY example.com A (2.2.2.2 ttl=300) -> (4.4.4.4 ttl=300)
=== RUN   TestDNSProviders/example.com/Post_cleanup:Empty#01
    integration_test.go:256: 
        - DELETE example.com A 4.4.4.4 ttl=300
=== RUN   TestDNSProviders/example.com/02:Protocol-Wildcard:Create_wildcard
    integration_test.go:256: 
        + CREATE *.example.com A 3.3.3.3 ttl=300
        + CREATE www.example.com A 5.5.5.5 ttl=300
=== RUN   TestDNSProviders/example.com/02:Protocol-Wildcard:Delete_wildcard
    integration_test.go:256: 
        - DELETE *.example.com A 3.3.3.3 ttl=300
=== RUN   TestDNSProviders/example.com/Post_cleanup:Empty#02
    integration_test.go:256: 
        - DELETE www.example.com A 5.5.5.5 ttl=300
=== RUN   TestDNSProviders/example.com/03:CNAME:Create_a_CNAME
    integration_test.go:256: 
        + CREATE testcname.example.com CNAME www.google.com. ttl=300
=== RUN   TestDNSProviders/example.com/03:CNAME:Change_CNAME_target
    integration_test.go:256: 
        ± MODIFY testcname.example.com CNAME (www.google.com. ttl=300) -> (www.yahoo.com. ttl=300)
=== RUN   TestDNSProviders/example.com/Post_cleanup:Empty#03
    integration_test.go:256: 
        - DELETE testcname.example.com CNAME www.yahoo.com. ttl=300
=== RUN   TestDNSProviders/example.com/04:MX:Create_MX
    integration_test.go:256: 
        + CREATE testmx.example.com MX 5 foo.com. ttl=300
=== RUN   TestDNSProviders/example.com/04:MX:Change_MX_target
    integration_test.go:256: 
        ± MODIFY testmx.example.com MX (5 foo.com. ttl=300) -> (5 bar.com. ttl=300)
=== RUN   TestDNSProviders/example.com/04:MX:Change_MX_p
    integration_test.go:256: 
        ± MODIFY testmx.example.com MX (5 bar.com. ttl=300) -> (100 bar.com. ttl=300)
=== RUN   TestDNSProviders/example.com/Post_cleanup:Empty#04
    integration_test.go:256: 
        - DELETE testmx.example.com MX 100 bar.com. ttl=300
=== RUN   TestDNSProviders/example.com/05:TXT:Create_TXT
    integration_test.go:256: 
        + CREATE testtxt.example.com TXT "simple" ttl=300
=== RUN   TestDNSProviders/example.com/05:TXT:Change_TXT_target
    integration_test.go:256: 
        ± MODIFY testtxt.example.com TXT ("simple" ttl=300) -> ("changed" ttl=300)
=== RUN   TestDNSProviders/example.com/Post_cleanup:Empty#05
    integration_test.go:256: 
        - DELETE testtxt.example.com TXT "changed" ttl=300
=== RUN   TestDNSProviders/example.com/06:ManyAtOnce:CreateManyAtLabel
    integration_test.go:256: 
        + CREATE www.example.com A 1.1.1.1 ttl=300
        + CREATE www.example.com A 2.2.2.2 ttl=300
        + CREATE www.example.com A 3.3.3.3 ttl=300
=== RUN   TestDNSProviders/example.com/06:ManyAtOnce:Empty
    integration_test.go:256: 
        - DELETE www.example.com A 1.1.1.1 ttl=300
        - DELETE www.example.com A 2.2.2.2 ttl=300
        - DELETE www.example.com A 3.3.3.3 ttl=300
=== RUN   TestDNSProviders/example.com/06:ManyAtOnce:Create_an_A_record
    integration_test.go:256: 
        + CREATE www.example.com A 1.1.1.1 ttl=300
=== RUN   TestDNSProviders/example.com/06:ManyAtOnce:Add_at_label1
    integration_test.go:256: 
        + CREATE www.example.com A 2.2.2.2 ttl=300
=== RUN   TestDNSProviders/example.com/06:ManyAtOnce:Add_at_label2
    integration_test.go:256: 
        + CREATE www.example.com A 3.3.3.3 ttl=300
=== RUN   TestDNSProviders/example.com/Post_cleanup:Empty#06
    integration_test.go:256: 
        - DELETE www.example.com A 1.1.1.1 ttl=300
        - DELETE www.example.com A 2.2.2.2 ttl=300
        - DELETE www.example.com A 3.3.3.3 ttl=300
=== RUN   TestDNSProviders/example.com/07:manyTypesAtOnce:CreateManyTypesAtLabel
    integration_test.go:256: 
        + CREATE testmx.example.com MX 100 bar.com. ttl=300
        + CREATE testmx.example.com MX 5 foo.com. ttl=300
        + CREATE www.example.com A 1.1.1.1 ttl=300
=== RUN   TestDNSProviders/example.com/07:manyTypesAtOnce:Empty
    integration_test.go:256: 
        - DELETE testmx.example.com MX 100 bar.com. ttl=300
        - DELETE testmx.example.com MX 5 foo.com. ttl=300
        - DELETE www.example.com A 1.1.1.1 ttl=300
=== RUN   TestDNSProviders/example.com/07:manyTypesAtOnce:Create_an_A_record
    integration_test.go:256: 
        + CREATE www.example.com A 1.1.1.1 ttl=300
=== RUN   TestDNSProviders/example.com/07:manyTypesAtOnce:Add_Type_At_Label
    integration_test.go:256: 
        + CREATE testmx.example.com MX 5 foo.com. ttl=300
=== RUN   TestDNSProviders/example.com/07:manyTypesAtOnce:Add_Type_At_Label#01
    integration_test.go:256: 
        + CREATE testmx.example.com MX 100 bar.com. ttl=300
=== RUN   TestDNSProviders/example.com/Post_cleanup:Empty#07
    integration_test.go:256: 
        - DELETE testmx.example.com MX 100 bar.com. ttl=300
        - DELETE testmx.example.com MX 5 foo.com. ttl=300
        - DELETE www.example.com A 1.1.1.1 ttl=300
=== RUN   TestDNSProviders/example.com/08:Attl:Create_Arc
    integration_test.go:256: 
        + CREATE testa.example.com A 1.1.1.1 ttl=333
=== RUN   TestDNSProviders/example.com/08:Attl:Change_TTL
    integration_test.go:256: 
        ± MODIFY-TTL testa.example.com A 1.1.1.1 ttl=(333->999)
=== RUN   TestDNSProviders/example.com/Post_cleanup:Empty#08
    integration_test.go:256: 
        - DELETE testa.example.com A 1.1.1.1 ttl=999
=== RUN   TestDNSProviders/example.com/09:TTL:Start
    integration_test.go:256: 
        + CREATE example.com A 8.8.8.8 ttl=666
        + CREATE www.example.com A 1.2.3.4 ttl=300
        + CREATE www.example.com A 5.6.7.8 ttl=300
=== RUN   TestDNSProviders/example.com/09:TTL:Change_a_ttl
    integration_test.go:256: 
        ± MODIFY-TTL example.com A 8.8.8.8 ttl=(666->1000)
=== RUN   TestDNSProviders/example.com/09:TTL:Change_single_target_from_set
    integration_test.go:256: 
        ± MODIFY www.example.com A (1.2.3.4 ttl=300) -> (2.2.2.2 ttl=300)
=== RUN   TestDNSProviders/example.com/09:TTL:Change_all_ttls
    integration_test.go:256: 
        ± MODIFY-TTL example.com A 8.8.8.8 ttl=(1000->500)
        ± MODIFY-TTL www.example.com A 2.2.2.2 ttl=(300->400)
        ± MODIFY-TTL www.example.com A 5.6.7.8 ttl=(300->400)
=== RUN   TestDNSProviders/example.com/Post_cleanup:Empty#09
    integration_test.go:256: 
        - DELETE example.com A 8.8.8.8 ttl=500
        - DELETE www.example.com A 2.2.2.2 ttl=400
        - DELETE www.example.com A 5.6.7.8 ttl=400
=== RUN   TestDNSProviders/example.com/10:add_to_label_and_change_orig_ttl:Setup
    integration_test.go:256: 
        + CREATE www.example.com A 5.6.7.8 ttl=400
=== RUN   TestDNSProviders/example.com/10:add_to_label_and_change_orig_ttl:Add_at_same_label,_new_ttl
    integration_test.go:256: 
        ± MODIFY-TTL www.example.com A 5.6.7.8 ttl=(400->700)
        + CREATE www.example.com A 1.2.3.4 ttl=700
=== RUN   TestDNSProviders/example.com/Post_cleanup:Empty#10
    integration_test.go:256: 
        - DELETE www.example.com A 1.2.3.4 ttl=700
        - DELETE www.example.com A 5.6.7.8 ttl=700
=== RUN   TestDNSProviders/example.com/11:TypeChange:Create_A
    integration_test.go:256: 
        + CREATE foo.example.com A 1.2.3.4 ttl=300
=== RUN   TestDNSProviders/example.com/11:TypeChange:Change_to_MX
    integration_test.go:256: 
        - DELETE foo.example.com A 1.2.3.4 ttl=300
        + CREATE foo.example.com MX 5 mx.google.com. ttl=300
=== RUN   TestDNSProviders/example.com/11:TypeChange:Change_back_to_A
    integration_test.go:256: 
        - DELETE foo.example.com MX 5 mx.google.com. ttl=300
        + CREATE foo.example.com A 4.5.6.7 ttl=300
=== RUN   TestDNSProviders/example.com/Post_cleanup:Empty#11
    integration_test.go:256: 
        - DELETE foo.example.com A 4.5.6.7 ttl=300
=== RUN   TestDNSProviders/example.com/12:TypeChangeHard:Create_a_CNAME
    integration_test.go:256: 
        + CREATE foo.example.com CNAME google.com. ttl=300
=== RUN   TestDNSProviders/example.com/12:TypeChangeHard:Change_to_A_record
    integration_test.go:256: 
        - DELETE foo.example.com CNAME google.com. ttl=300
        + CREATE foo.example.com A 1.2.3.4 ttl=300
=== RUN   TestDNSProviders/example.com/12:TypeChangeHard:Change_back_to_CNAME
    integration_test.go:256: 
        - DELETE foo.example.com A 1.2.3.4 ttl=300
        + CREATE foo.example.com CNAME google2.com. ttl=300
=== RUN   TestDNSProviders/example.com/Post_cleanup:Empty#12
    integration_test.go:256: 
        - DELETE foo.example.com CNAME google2.com. ttl=300
=== RUN   TestDNSProviders/example.com/13:CNAME:Record_pointing_to_@
    integration_test.go:256: 
        + CREATE foo.example.com CNAME example.com. ttl=300
=== RUN   TestDNSProviders/example.com/Post_cleanup:Empty#13
    integration_test.go:256: 
        - DELETE foo.example.com CNAME example.com. ttl=300
=== RUN   TestDNSProviders/example.com/14:MX:Record_pointing_to_@
    integration_test.go:256: 
        + CREATE foo.example.com MX 8 example.com. ttl=300
=== RUN   TestDNSProviders/example.com/14:MX:Null_MX
    integration_test.go:256: 
        + CREATE example.com MX 0 . ttl=300
        - DELETE foo.example.com MX 8 example.com. ttl=300
=== RUN   TestDNSProviders/example.com/Post_cleanup:Empty#14
    integration_test.go:256: 
        - DELETE example.com MX 0 . ttl=300
=== RUN   TestDNSProviders/example.com/15:NS:NS_for_subdomain
    integration_test.go:256: 
        + CREATE xyz.example.com NS ns2.foo.com. ttl=300
=== RUN   TestDNSProviders/example.com/15:NS:Dual_NS_for_subdomain
    integration_test.go:256: 
        + CREATE xyz.example.com NS ns1.foo.com. ttl=300
=== RUN   TestDNSProviders/example.com/15:NS:NS_Record_pointing_to_@
    integration_test.go:256: 
        + CREATE example.com A 1.2.3.4 ttl=300
        + CREATE foo.example.com NS example.com. ttl=300
        - DELETE xyz.example.com NS ns1.foo.com. ttl=300
        - DELETE xyz.example.com NS ns2.foo.com. ttl=300
=== RUN   TestDNSProviders/example.com/Post_cleanup:Empty#15
    integration_test.go:256: 
        - DELETE example.com A 1.2.3.4 ttl=300
        - DELETE foo.example.com NS example.com. ttl=300
=== RUN   TestDNSProviders/example.com/16:complex_TXT:TXT_with_1_single-quote
    integration_test.go:256: 
        + CREATE foosq.example.com TXT "quo'te" ttl=300
=== RUN   TestDNSProviders/example.com/16:complex_TXT:TXT_with_1_backtick
    integration_test.go:256: 
        + CREATE foobt.example.com TXT "blah`blah" ttl=300
        - DELETE foosq.example.com TXT "quo'te" ttl=300
=== RUN   TestDNSProviders/example.com/16:complex_TXT:TXT_with_1_double-quotes
    integration_test.go:256: 
        - DELETE foobt.example.com TXT "blah`blah" ttl=300
        + CREATE foodq.example.com TXT "quo\"te" ttl=300
=== RUN   TestDNSProviders/example.com/16:complex_TXT:TXT_with_2_double-quotes
    integration_test.go:256: 
        - DELETE foodq.example.com TXT "quo\"te" ttl=300
        + CREATE foodqs.example.com TXT "q\"uo\"te" ttl=300
=== RUN   TestDNSProviders/example.com/16:complex_TXT:a_TXT_with_interior_ws
    integration_test.go:256: 
        - DELETE foodqs.example.com TXT "q\"uo\"te" ttl=300
        + CREATE foosp.example.com TXT "with spaces" ttl=300
=== RUN   TestDNSProviders/example.com/16:complex_TXT:TXT_with_ws_at_end
    integration_test.go:256: 
        - DELETE foosp.example.com TXT "with spaces" ttl=300
        + CREATE foows1.example.com TXT "with space at end " ttl=300
=== RUN   TestDNSProviders/example.com/Post_cleanup:Empty#16
    integration_test.go:256: 
        - DELETE foows1.example.com TXT "with space at end " ttl=300
=== RUN   TestDNSProviders/example.com/17:Case_Sensitivity:Create_CAPS
    integration_test.go:256: 
        + CREATE bar.example.com MX 5 bar.com. ttl=300
=== RUN   TestDNSProviders/example.com/17:Case_Sensitivity:Downcase_label
    integration_test.go:256: 
        + CREATE decoy.example.com A 1.1.1.1 ttl=300
=== RUN   TestDNSProviders/example.com/17:Case_Sensitivity:Downcase_target
    integration_test.go:256: 
        ± MODIFY decoy.example.com A (1.1.1.1 ttl=300) -> (2.2.2.2 ttl=300)
=== RUN   TestDNSProviders/example.com/17:Case_Sensitivity:Upcase_both
    integration_test.go:256: 
        ± MODIFY decoy.example.com A (2.2.2.2 ttl=300) -> (3.3.3.3 ttl=300)
=== RUN   TestDNSProviders/example.com/Post_cleanup:Empty#17
    integration_test.go:256: 
        - DELETE bar.example.com MX 5 bar.com. ttl=300
        - DELETE decoy.example.com A 3.3.3.3 ttl=300
=== RUN   TestDNSProviders/example.com/18:testByLabel:initial
    integration_test.go:256: 
        + CREATE foo.example.com A 1.2.3.4 ttl=300
        + CREATE foo.example.com A 2.3.4.5 ttl=300
=== RUN   TestDNSProviders/example.com/18:testByLabel:changeOne
    integration_test.go:256: 
        ± MODIFY foo.example.com A (2.3.4.5 ttl=300) -> (3.4.5.6 ttl=300)
=== RUN   TestDNSProviders/example.com/18:testByLabel:deleteOne
    integration_test.go:256: 
        - DELETE foo.example.com A 3.4.5.6 ttl=300
=== RUN   TestDNSProviders/example.com/18:testByLabel:addOne
    integration_test.go:256: 
        + CREATE foo.example.com A 3.4.5.6 ttl=300
=== RUN   TestDNSProviders/example.com/Post_cleanup:Empty#18
    integration_test.go:256: 
        - DELETE foo.example.com A 1.2.3.4 ttl=300
        - DELETE foo.example.com A 3.4.5.6 ttl=300
=== RUN   TestDNSProviders/example.com/19:testByRecordSet:initial
    integration_test.go:256: 
        + CREATE bar.example.com A 1.2.3.4 ttl=300
        + CREATE foo.example.com A 2.3.4.5 ttl=300
        + CREATE foo.example.com A 3.4.5.6 ttl=300
        + CREATE foo.example.com MX 10 foo.example.com. ttl=300
        + CREATE foo.example.com MX 20 bar.example.com. ttl=300
=== RUN   TestDNSProviders/example.com/19:testByRecordSet:changeOne
    integration_test.go:256: 
        ± MODIFY foo.example.com A (3.4.5.6 ttl=300) -> (8.8.8.8 ttl=300)
=== RUN   TestDNSProviders/example.com/19:testByRecordSet:deleteOne
    integration_test.go:256: 
        - DELETE foo.example.com A 8.8.8.8 ttl=300
=== RUN   TestDNSProviders/example.com/19:testByRecordSet:addOne
    integration_test.go:256: 
        + CREATE foo.example.com A 8.8.8.8 ttl=300
=== RUN   TestDNSProviders/example.com/Post_cleanup:Empty#19
    integration_test.go:256: 
        - DELETE bar.example.com A 1.2.3.4 ttl=300
        - DELETE foo.example.com A 2.3.4.5 ttl=300
        - DELETE foo.example.com A 8.8.8.8 ttl=300
        - DELETE foo.example.com MX 10 foo.example.com. ttl=300
        - DELETE foo.example.com MX 20 bar.example.com. ttl=300
=== RUN   TestDNSProviders/example.com/20:IDNA:Internationalized_name
    integration_test.go:256: 
        + CREATE xn--ndaaa.example.com A 1.2.3.4 ttl=300
=== RUN   TestDNSProviders/example.com/20:IDNA:Change_IDN
    integration_test.go:256: 
        ± MODIFY xn--ndaaa.example.com A (1.2.3.4 ttl=300) -> (2.2.2.2 ttl=300)
=== RUN   TestDNSProviders/example.com/20:IDNA:Internationalized_CNAME_Target
    integration_test.go:256: 
        + CREATE a.example.com CNAME xn--ndaaa.com. ttl=300
        - DELETE xn--ndaaa.example.com A 2.2.2.2 ttl=300
=== RUN   TestDNSProviders/example.com/Post_cleanup:Empty#20
    integration_test.go:256: 
        - DELETE a.example.com CNAME xn--ndaaa.com. ttl=300
=== RUN   TestDNSProviders/example.com/21:IDNAs_in_CNAME_targets:IDN_CNAME_AND_Target
    integration_test.go:256: 
        + CREATE xn--o-0gab.example.com CNAME xn--ndaaa.xn--vhquv. ttl=300
=== RUN   TestDNSProviders/example.com/Post_cleanup:Empty#21
    integration_test.go:256: 
        - DELETE xn--o-0gab.example.com CNAME xn--ndaaa.xn--vhquv. ttl=300
=== RUN   TestDNSProviders/example.com/22:pager101:99_records
    integration_test.go:256: 
        + CREATE rec0000.example.com A 1.2.3.4 ttl=300
        + CREATE rec0001.example.com A 1.2.3.4 ttl=300
        + CREATE rec0002.example.com A 1.2.3.4 ttl=300
        + CREATE rec0003.example.com A 1.2.3.4 ttl=300
        + CREATE rec0004.example.com A 1.2.3.4 ttl=300
        + CREATE rec0005.example.com A 1.2.3.4 ttl=300
        + CREATE rec0006.example.com A 1.2.3.4 ttl=300
        + CREATE rec0007.example.com A 1.2.3.4 ttl=300
        + CREATE rec0008.example.com A 1.2.3.4 ttl=300
        + CREATE rec0009.example.com A 1.2.3.4 ttl=300
        + CREATE rec0010.example.com A 1.2.3.4 ttl=300
        + CREATE rec0011.example.com A 1.2.3.4 ttl=300
        + CREATE rec0012.example.com A 1.2.3.4 ttl=300
        + CREATE rec0013.example.com A 1.2.3.4 ttl=300
        + CREATE rec0014.example.com A 1.2.3.4 ttl=300
        + CREATE rec0015.example.com A 1.2.3.4 ttl=300
        + CREATE rec0016.example.com A 1.2.3.4 ttl=300
        + CREATE rec0017.example.com A 1.2.3.4 ttl=300
        + CREATE rec0018.example.com A 1.2.3.4 ttl=300
        + CREATE rec0019.example.com A 1.2.3.4 ttl=300
        + CREATE rec0020.example.com A 1.2.3.4 ttl=300
        + CREATE rec0021.example.com A 1.2.3.4 ttl=300
        + CREATE rec0022.example.com A 1.2.3.4 ttl=300
        + CREATE rec0023.example.com A 1.2.3.4 ttl=300
        + CREATE rec0024.example.com A 1.2.3.4 ttl=300
        + CREATE rec0025.example.com A 1.2.3.4 ttl=300
        + CREATE rec0026.example.com A 1.2.3.4 ttl=300
        + CREATE rec0027.example.com A 1.2.3.4 ttl=300
        + CREATE rec0028.example.com A 1.2.3.4 ttl=300
        + CREATE rec0029.example.com A 1.2.3.4 ttl=300
        + CREATE rec0030.example.com A 1.2.3.4 ttl=300
        + CREATE rec0031.example.com A 1.2.3.4 ttl=300
        + CREATE rec0032.example.com A 1.2.3.4 ttl=300
        + CREATE rec0033.example.com A 1.2.3.4 ttl=300
        + CREATE rec0034.example.com A 1.2.3.4 ttl=300
        + CREATE rec0035.example.com A 1.2.3.4 ttl=300
        + CREATE rec0036.example.com A 1.2.3.4 ttl=300
        + CREATE rec0037.example.com A 1.2.3.4 ttl=300
        + CREATE rec0038.example.com A 1.2.3.4 ttl=300
        + CREATE rec0039.example.com A 1.2.3.4 ttl=300
        + CREATE rec0040.example.com A 1.2.3.4 ttl=300
        + CREATE rec0041.example.com A 1.2.3.4 ttl=300
        + CREATE rec0042.example.com A 1.2.3.4 ttl=300
        + CREATE rec0043.example.com A 1.2.3.4 ttl=300
        + CREATE rec0044.example.com A 1.2.3.4 ttl=300
        + CREATE rec0045.example.com A 1.2.3.4 ttl=300
        + CREATE rec0046.example.com A 1.2.3.4 ttl=300
        + CREATE rec0047.example.com A 1.2.3.4 ttl=300
        + CREATE rec0048.example.com A 1.2.3.4 ttl=300
        + CREATE rec0049.example.com A 1.2.3.4 ttl=300
        + CREATE rec0050.example.com A 1.2.3.4 ttl=300
        + CREATE rec0051.example.com A 1.2.3.4 ttl=300
        + CREATE rec0052.example.com A 1.2.3.4 ttl=300
        + CREATE rec0053.example.com A 1.2.3.4 ttl=300
        + CREATE rec0054.example.com A 1.2.3.4 ttl=300
        + CREATE rec0055.example.com A 1.2.3.4 ttl=300
        + CREATE rec0056.example.com A 1.2.3.4 ttl=300
        + CREATE rec0057.example.com A 1.2.3.4 ttl=300
        + CREATE rec0058.example.com A 1.2.3.4 ttl=300
        + CREATE rec0059.example.com A 1.2.3.4 ttl=300
        + CREATE rec0060.example.com A 1.2.3.4 ttl=300
        + CREATE rec0061.example.com A 1.2.3.4 ttl=300
        + CREATE rec0062.example.com A 1.2.3.4 ttl=300
        + CREATE rec0063.example.com A 1.2.3.4 ttl=300
        + CREATE rec0064.example.com A 1.2.3.4 ttl=300
        + CREATE rec0065.example.com A 1.2.3.4 ttl=300
        + CREATE rec0066.example.com A 1.2.3.4 ttl=300
        + CREATE rec0067.example.com A 1.2.3.4 ttl=300
        + CREATE rec0068.example.com A 1.2.3.4 ttl=300
        + CREATE rec0069.example.com A 1.2.3.4 ttl=300
        + CREATE rec0070.example.com A 1.2.3.4 ttl=300
        + CREATE rec0071.example.com A 1.2.3.4 ttl=300
        + CREATE rec0072.example.com A 1.2.3.4 ttl=300
        + CREATE rec0073.example.com A 1.2.3.4 ttl=300
        + CREATE rec0074.example.com A 1.2.3.4 ttl=300
        + CREATE rec0075.example.com A 1.2.3.4 ttl=300
        + CREATE rec0076.example.com A 1.2.3.4 ttl=300
        + CREATE rec0077.example.com A 1.2.3.4 ttl=300
        + CREATE rec0078.example.com A 1.2.3.4 ttl=300
        + CREATE rec0079.example.com A 1.2.3.4 ttl=300
        + CREATE rec0080.example.com A 1.2.3.4 ttl=300
        + CREATE rec0081.example.com A 1.2.3.4 ttl=300
        + CREATE rec0082.example.com A 1.2.3.4 ttl=300
        + CREATE rec0083.example.com A 1.2.3.4 ttl=300
        + CREATE rec0084.example.com A 1.2.3.4 ttl=300
        + CREATE rec0085.example.com A 1.2.3.4 ttl=300
        + CREATE rec0086.example.com A 1.2.3.4 ttl=300
        + CREATE rec0087.example.com A 1.2.3.4 ttl=300
        + CREATE rec0088.example.com A 1.2.3.4 ttl=300
        + CREATE rec0089.example.com A 1.2.3.4 ttl=300
        + CREATE rec0090.example.com A 1.2.3.4 ttl=300
        + CREATE rec0091.example.com A 1.2.3.4 ttl=300
        + CREATE rec0092.example.com A 1.2.3.4 ttl=300
        + CREATE rec0093.example.com A 1.2.3.4 ttl=300
        + CREATE rec0094.example.com A 1.2.3.4 ttl=300
        + CREATE rec0095.example.com A 1.2.3.4 ttl=300
        + CREATE rec0096.example.com A 1.2.3.4 ttl=300
        + CREATE rec0097.example.com A 1.2.3.4 ttl=300
        + CREATE rec0098.example.com A 1.2.3.4 ttl=300
=== RUN   TestDNSProviders/example.com/22:pager101:100_records
    integration_test.go:256: 
        + CREATE rec0099.example.com A 1.2.3.4 ttl=300
=== RUN   TestDNSProviders/example.com/22:pager101:101_records
    integration_test.go:256: 
        + CREATE rec0100.example.com A 1.2.3.4 ttl=300
=== RUN   TestDNSProviders/example.com/Post_cleanup:Empty#22
    integration_test.go:256: 
        - DELETE rec0000.example.com A 1.2.3.4 ttl=300
        - DELETE rec0001.example.com A 1.2.3.4 ttl=300
        - DELETE rec0002.example.com A 1.2.3.4 ttl=300
        - DELETE rec0003.example.com A 1.2.3.4 ttl=300
        - DELETE rec0004.example.com A 1.2.3.4 ttl=300
        - DELETE rec0005.example.com A 1.2.3.4 ttl=300
        - DELETE rec0006.example.com A 1.2.3.4 ttl=300
        - DELETE rec0007.example.com A 1.2.3.4 ttl=300
        - DELETE rec0008.example.com A 1.2.3.4 ttl=300
        - DELETE rec0009.example.com A 1.2.3.4 ttl=300
        - DELETE rec0010.example.com A 1.2.3.4 ttl=300
        - DELETE rec0011.example.com A 1.2.3.4 ttl=300
        - DELETE rec0012.example.com A 1.2.3.4 ttl=300
        - DELETE rec0013.example.com A 1.2.3.4 ttl=300
        - DELETE rec0014.example.com A 1.2.3.4 ttl=300
        - DELETE rec0015.example.com A 1.2.3.4 ttl=300
        - DELETE rec0016.example.com A 1.2.3.4 ttl=300
        - DELETE rec0017.example.com A 1.2.3.4 ttl=300
        - DELETE rec0018.example.com A 1.2.3.4 ttl=300
        - DELETE rec0019.example.com A 1.2.3.4 ttl=300
        - DELETE rec0020.example.com A 1.2.3.4 ttl=300
        - DELETE rec0021.example.com A 1.2.3.4 ttl=300
        - DELETE rec0022.example.com A 1.2.3.4 ttl=300
        - DELETE rec0023.example.com A 1.2.3.4 ttl=300
        - DELETE rec0024.example.com A 1.2.3.4 ttl=300
        - DELETE rec0025.example.com A 1.2.3.4 ttl=300
        - DELETE rec0026.example.com A 1.2.3.4 ttl=300
        - DELETE rec0027.example.com A 1.2.3.4 ttl=300
        - DELETE rec0028.example.com A 1.2.3.4 ttl=300
        - DELETE rec0029.example.com A 1.2.3.4 ttl=300
        - DELETE rec0030.example.com A 1.2.3.4 ttl=300
        - DELETE rec0031.example.com A 1.2.3.4 ttl=300
        - DELETE rec0032.example.com A 1.2.3.4 ttl=300
        - DELETE rec0033.example.com A 1.2.3.4 ttl=300
        - DELETE rec0034.example.com A 1.2.3.4 ttl=300
        - DELETE rec0035.example.com A 1.2.3.4 ttl=300
        - DELETE rec0036.example.com A 1.2.3.4 ttl=300
        - DELETE rec0037.example.com A 1.2.3.4 ttl=300
        - DELETE rec0038.example.com A 1.2.3.4 ttl=300
        - DELETE rec0039.example.com A 1.2.3.4 ttl=300
        - DELETE rec0040.example.com A 1.2.3.4 ttl=300
        - DELETE rec0041.example.com A 1.2.3.4 ttl=300
        - DELETE rec0042.example.com A 1.2.3.4 ttl=300
        - DELETE rec0043.example.com A 1.2.3.4 ttl=300
        - DELETE rec0044.example.com A 1.2.3.4 ttl=300
        - DELETE rec0045.example.com A 1.2.3.4 ttl=300
        - DELETE rec0046.example.com A 1.2.3.4 ttl=300
        - DELETE rec0047.example.com A 1.2.3.4 ttl=300
        - DELETE rec0048.example.com A 1.2.3.4 ttl=300
        - DELETE rec0049.example.com A 1.2.3.4 ttl=300
        - DELETE rec0050.example.com A 1.2.3.4 ttl=300
        - DELETE rec0051.example.com A 1.2.3.4 ttl=300
        - DELETE rec0052.example.com A 1.2.3.4 ttl=300
        - DELETE rec0053.example.com A 1.2.3.4 ttl=300
        - DELETE rec0054.example.com A 1.2.3.4 ttl=300
        - DELETE rec0055.example.com A 1.2.3.4 ttl=300
        - DELETE rec0056.example.com A 1.2.3.4 ttl=300
        - DELETE rec0057.example.com A 1.2.3.4 ttl=300
        - DELETE rec0058.example.com A 1.2.3.4 ttl=300
        - DELETE rec0059.example.com A 1.2.3.4 ttl=300
        - DELETE rec0060.example.com A 1.2.3.4 ttl=300
        - DELETE rec0061.example.com A 1.2.3.4 ttl=300
        - DELETE rec0062.example.com A 1.2.3.4 ttl=300
        - DELETE rec0063.example.com A 1.2.3.4 ttl=300
        - DELETE rec0064.example.com A 1.2.3.4 ttl=300
        - DELETE rec0065.example.com A 1.2.3.4 ttl=300
        - DELETE rec0066.example.com A 1.2.3.4 ttl=300
        - DELETE rec0067.example.com A 1.2.3.4 ttl=300
        - DELETE rec0068.example.com A 1.2.3.4 ttl=300
        - DELETE rec0069.example.com A 1.2.3.4 ttl=300
        - DELETE rec0070.example.com A 1.2.3.4 ttl=300
        - DELETE rec0071.example.com A 1.2.3.4 ttl=300
        - DELETE rec0072.example.com A 1.2.3.4 ttl=300
        - DELETE rec0073.example.com A 1.2.3.4 ttl=300
        - DELETE rec0074.example.com A 1.2.3.4 ttl=300
        - DELETE rec0075.example.com A 1.2.3.4 ttl=300
        - DELETE rec0076.example.com A 1.2.3.4 ttl=300
        - DELETE rec0077.example.com A 1.2.3.4 ttl=300
        - DELETE rec0078.example.com A 1.2.3.4 ttl=300
        - DELETE rec0079.example.com A 1.2.3.4 ttl=300
        - DELETE rec0080.example.com A 1.2.3.4 ttl=300
        - DELETE rec0081.example.com A 1.2.3.4 ttl=300
        - DELETE rec0082.example.com A 1.2.3.4 ttl=300
        - DELETE rec0083.example.com A 1.2.3.4 ttl=300
        - DELETE rec0084.example.com A 1.2.3.4 ttl=300
        - DELETE rec0085.example.com A 1.2.3.4 ttl=300
        - DELETE rec0086.example.com A 1.2.3.4 ttl=300
        - DELETE rec0087.example.com A 1.2.3.4 ttl=300
        - DELETE rec0088.example.com A 1.2.3.4 ttl=300
        - DELETE rec0089.example.com A 1.2.3.4 ttl=300
        - DELETE rec0090.example.com A 1.2.3.4 ttl=300
        - DELETE rec0091.example.com A 1.2.3.4 ttl=300
        - DELETE rec0092.example.com A 1.2.3.4 ttl=300
        - DELETE rec0093.example.com A 1.2.3.4 ttl=300
        - DELETE rec0094.example.com A 1.2.3.4 ttl=300
        - DELETE rec0095.example.com A 1.2.3.4 ttl=300
        - DELETE rec0096.example.com A 1.2.3.4 ttl=300
        - DELETE rec0097.example.com A 1.2.3.4 ttl=300
        - DELETE rec0098.example.com A 1.2.3.4 ttl=300
        - DELETE rec0099.example.com A 1.2.3.4 ttl=300
        - DELETE rec0100.example.com A 1.2.3.4 ttl=300
=== RUN   TestDNSProviders/example.com/23:pager601_***SKIPPED(disabled_by_only)***:Empty
=== RUN   TestDNSProviders/example.com/24:pager1201_***SKIPPED(disabled_by_only)***:Empty
=== RUN   TestDNSProviders/example.com/25:CAA:CAA_record
    integration_test.go:256: 
        + CREATE example.com CAA 0 issue "letsencrypt.org" ttl=300
=== RUN   TestDNSProviders/example.com/25:CAA:CAA_change_tag
    integration_test.go:256: 
        ± MODIFY example.com CAA (0 issue "letsencrypt.org" ttl=300) -> (0 issuewild "letsencrypt.org" ttl=300)
=== RUN   TestDNSProviders/example.com/25:CAA:CAA_change_target
    integration_test.go:256: 
        ± MODIFY example.com CAA (0 issuewild "letsencrypt.org" ttl=300) -> (0 issuewild "example.com" ttl=300)
=== RUN   TestDNSProviders/example.com/25:CAA:CAA_change_flag
    integration_test.go:256: 
        ± MODIFY example.com CAA (0 issuewild "example.com" ttl=300) -> (128 issuewild "example.com" ttl=300)
=== RUN   TestDNSProviders/example.com/25:CAA:CAA_many_records
    integration_test.go:256: 
        ± MODIFY example.com CAA (128 issuewild "example.com" ttl=300) -> (128 issuewild ";" ttl=300)
=== RUN   TestDNSProviders/example.com/25:CAA:CAA_whitespace
    integration_test.go:256: 
        ± MODIFY example.com CAA (128 issuewild ";" ttl=300) -> (0 issue "letsencrypt.org; validationmethods=dns-01; accounturi=https://acme-v02.api.letsencrypt.org/acme/acct/1234" ttl=300)
=== RUN   TestDNSProviders/example.com/Post_cleanup:Empty#23
    integration_test.go:256: 
        - DELETE example.com CAA 0 issue "letsencrypt.org; validationmethods=dns-01; accounturi=https://acme-v02.api.letsencrypt.org/acme/acct/1234" ttl=300
=== RUN   TestDNSProviders/example.com/26:LOC_***SKIPPED(CanUseLOC_not_supported)***:Empty
=== RUN   TestDNSProviders/example.com/27:NAPTR_***SKIPPED(CanUseNAPTR_not_supported)***:Empty
=== RUN   TestDNSProviders/example.com/28:PTR:Create_PTR_record
    integration_test.go:256: 
        + CREATE 4.example.com PTR foo.com. ttl=300
=== RUN   TestDNSProviders/example.com/28:PTR:Modify_PTR_record
    integration_test.go:256: 
        ± MODIFY 4.example.com PTR (foo.com. ttl=300) -> (bar.com. ttl=300)
=== RUN   TestDNSProviders/example.com/Post_cleanup:Empty#24
    integration_test.go:256: 
        - DELETE 4.example.com PTR bar.com. ttl=300
=== RUN   TestDNSProviders/example.com/29:SOA_***SKIPPED(CanUseSOA_not_supported)***:Empty
=== RUN   TestDNSProviders/example.com/30:SRV:SRV_record
    integration_test.go:256: 
        + CREATE _sip._tcp.example.com SRV 5 6 7 foo.com. ttl=300
=== RUN   TestDNSProviders/example.com/30:SRV:Second_SRV_record,_same_prio
    integration_test.go:256: 
        + CREATE _sip._tcp.example.com SRV 5 60 70 foo2.com. ttl=300
=== RUN   TestDNSProviders/example.com/30:SRV:3_SRV
    integration_test.go:256: 
        + CREATE _sip._tcp.example.com SRV 15 65 75 foo3.com. ttl=300
=== RUN   TestDNSProviders/example.com/30:SRV:Delete_one
    integration_test.go:256: 
        - DELETE _sip._tcp.example.com SRV 5 60 70 foo2.com. ttl=300
=== RUN   TestDNSProviders/example.com/30:SRV:Change_Target
    integration_test.go:256: 
        ± MODIFY _sip._tcp.example.com SRV (15 65 75 foo3.com. ttl=300) -> (15 65 75 foo4.com. ttl=300)
=== RUN   TestDNSProviders/example.com/30:SRV:Change_Priority
    integration_test.go:256: 
        ± MODIFY _sip._tcp.example.com SRV (5 6 7 foo.com. ttl=300) -> (52 6 7 foo.com. ttl=300)
=== RUN   TestDNSProviders/example.com/30:SRV:Change_Weight
    integration_test.go:256: 
        ± MODIFY _sip._tcp.example.com SRV (52 6 7 foo.com. ttl=300) -> (52 62 7 foo.com. ttl=300)
=== RUN   TestDNSProviders/example.com/30:SRV:Change_Port
    integration_test.go:256: 
        ± MODIFY _sip._tcp.example.com SRV (52 62 7 foo.com. ttl=300) -> (52 62 72 foo.com. ttl=300)
=== RUN   TestDNSProviders/example.com/30:SRV:Empty
    integration_test.go:256: 
        - DELETE _sip._tcp.example.com SRV 15 65 75 foo4.com. ttl=300
        - DELETE _sip._tcp.example.com SRV 52 62 72 foo.com. ttl=300
=== RUN   TestDNSProviders/example.com/30:SRV:Null_Target
    integration_test.go:256: 
        + CREATE _sip._tcp.example.com SRV 15 65 75 . ttl=300
=== RUN   TestDNSProviders/example.com/Post_cleanup:Empty#25
    integration_test.go:256: 
        - DELETE _sip._tcp.example.com SRV 15 65 75 . ttl=300
=== RUN   TestDNSProviders/example.com/31:SRV:Create_SRV333
    integration_test.go:256: 
        + CREATE _sip._tcp.example.com SRV 5 6 7 foo.com. ttl=333
=== RUN   TestDNSProviders/example.com/31:SRV:Change_TTL999
    integration_test.go:256: 
        ± MODIFY-TTL _sip._tcp.example.com SRV 5 6 7 foo.com. ttl=(333->999)
=== RUN   TestDNSProviders/example.com/Post_cleanup:Empty#26
    integration_test.go:256: 
        - DELETE _sip._tcp.example.com SRV 5 6 7 foo.com. ttl=999
=== RUN   TestDNSProviders/example.com/32:SSHFP:SSHFP_record
    integration_test.go:256: 
        + CREATE example.com SSHFP 1 1 66C7D5540B7D75A1FB4C84FEBFA178AD99BDD67C ttl=300
=== RUN   TestDNSProviders/example.com/32:SSHFP:SSHFP_change_algorithm
    integration_test.go:256: 
        ± MODIFY example.com SSHFP (1 1 66C7D5540B7D75A1FB4C84FEBFA178AD99BDD67C ttl=300) -> (2 1 66C7D5540B7D75A1FB4C84FEBFA178AD99BDD67C ttl=300)
=== RUN   TestDNSProviders/example.com/32:SSHFP:SSHFP_change_fingerprint_and_type
    integration_test.go:256: 
        ± MODIFY example.com SSHFP (2 1 66C7D5540B7D75A1FB4C84FEBFA178AD99BDD67C ttl=300) -> (2 2 745A635BC46A397A5C4F21D437483005BCC40D7511FF15FBFAFE913A081559BC ttl=300)
=== RUN   TestDNSProviders/example.com/Post_cleanup:Empty#27
    integration_test.go:256: 
        - DELETE example.com SSHFP 2 2 745A635BC46A397A5C4F21D437483005BCC40D7511FF15FBFAFE913A081559BC ttl=300
=== RUN   TestDNSProviders/example.com/33:TLSA:TLSA_record
    integration_test.go:256: 
        + CREATE _443._tcp.example.com TLSA 3 1 1 0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef ttl=300
=== RUN   TestDNSProviders/example.com/33:TLSA:TLSA_change_usage
    integration_test.go:256: 
        ± MODIFY _443._tcp.example.com TLSA (3 1 1 0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef ttl=300) -> (2 1 1 0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef ttl=300)
=== RUN   TestDNSProviders/example.com/33:TLSA:TLSA_change_selector
    integration_test.go:256: 
        ± MODIFY _443._tcp.example.com TLSA (2 1 1 0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef ttl=300) -> (2 0 1 0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef ttl=300)
=== RUN   TestDNSProviders/example.com/33:TLSA:TLSA_change_matchingtype
    integration_test.go:256: 
        ± MODIFY _443._tcp.example.com TLSA (2 0 1 0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef ttl=300) -> (2 0 2 0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef ttl=300)
=== RUN   TestDNSProviders/example.com/33:TLSA:TLSA_change_certificate
    integration_test.go:256: 
        ± MODIFY _443._tcp.example.com TLSA (2 0 2 0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef ttl=300) -> (2 0 2 fedcba9876543210fedcba9876543210fedcba9876543210fedcba9876543210fedcba9876543210fedcba9876543210fedcba9876543210fedcba9876543210 ttl=300)
=== RUN   TestDNSProviders/example.com/Post_cleanup:Empty#28
    integration_test.go:256: 
        - DELETE _443._tcp.example.com TLSA 2 0 2 fedcba9876543210fedcba9876543210fedcba9876543210fedcba9876543210fedcba9876543210fedcba9876543210fedcba9876543210fedcba9876543210 ttl=300
=== RUN   TestDNSProviders/example.com/34:DS_***SKIPPED(CanUseDS_not_supported)***:Empty
=== RUN   TestDNSProviders/example.com/35:DS_(children_only)_***SKIPPED(CanUseDSForChildren_not_supported)***:Empty
=== RUN   TestDNSProviders/example.com/36:DS_(children_only)_CLOUDNS_***SKIPPED(CanUseDSForChildren_not_supported)***:Empty
=== RUN   TestDNSProviders/example.com/37:ALIAS_***SKIPPED(CanUseAlias_not_supported)***:Empty
=== RUN   TestDNSProviders/example.com/38:AZURE_ALIAS_A_***SKIPPED(CanUseAzureAlias_not_supported)***:Empty
=== RUN   TestDNSProviders/example.com/39:AZURE_ALIAS_CNAME_***SKIPPED(CanUseAzureAlias_not_supported)***:Empty
=== RUN   TestDNSProviders/example.com/40:R53_ALIAS2_***SKIPPED(CanUseRoute53Alias_not_supported)***:Empty
=== RUN   TestDNSProviders/example.com/41:R53_ALIAS_ORDER_***SKIPPED(CanUseRoute53Alias_not_supported)***:Empty
=== RUN   TestDNSProviders/example.com/42:R53_ALIAS_CNAME_***SKIPPED(CanUseRoute53Alias_not_supported)***:Empty
=== RUN   TestDNSProviders/example.com/43:R53_ALIAS_Loop_***SKIPPED(CanUseRoute53Alias_not_supported)***:Empty
=== RUN   TestDNSProviders/example.com/44:R53_alias_pre-existing_***SKIPPED(CanUseRoute53Alias_not_supported)***:Empty
=== RUN   TestDNSProviders/example.com/45:CF_REDIRECT_***SKIPPED(disabled_by_only)***:Empty
=== RUN   TestDNSProviders/example.com/46:CF_PROXY_A_create_***SKIPPED(disabled_by_only)***:Empty
=== RUN   TestDNSProviders/example.com/47:CF_PROXY_A_off_to_X_***SKIPPED(disabled_by_only)***:Empty
=== RUN   TestDNSProviders/example.com/48:CF_PROXY_A_on_to_X_***SKIPPED(disabled_by_only)***:Empty
=== RUN   TestDNSProviders/example.com/49:CF_PROXY_A_full1_to_X_***SKIPPED(disabled_by_only)***:Empty
=== RUN   TestDNSProviders/example.com/50:CF_PROXY_A_full2_to_X_***SKIPPED(disabled_by_only)***:Empty
=== RUN   TestDNSProviders/example.com/51:CF_PROXY_CNAME_create_***SKIPPED(disabled_by_only)***:Empty
=== RUN   TestDNSProviders/example.com/52:CF_PROXY_CNAME_off_to_X_***SKIPPED(disabled_by_only)***:Empty
=== RUN   TestDNSProviders/example.com/53:CF_PROXY_CNAME_on_to_X_***SKIPPED(disabled_by_only)***:Empty
=== RUN   TestDNSProviders/example.com/54:CF_PROXY_CNAME_full_to_X_***SKIPPED(disabled_by_only)***:Empty
=== RUN   TestDNSProviders/example.com/55:CF_WORKER_ROUTE_***SKIPPED(disabled_by_only)***:Empty
=== RUN   TestDNSProviders/example.com/56:NS1_URLFWD_tests_***SKIPPED(disabled_by_only)***:Empty
=== RUN   TestDNSProviders/example.com/57:IGNORE_main_***SKIPPED(test_for_diff2_only)***:Empty
=== RUN   TestDNSProviders/example.com/58:IGNORE_apex_***SKIPPED(test_for_diff2_only)***:Empty
=== RUN   TestDNSProviders/example.com/59:IGNORE_NAME_function_***SKIPPED(test_for_diff2_only)***:Empty
=== RUN   TestDNSProviders/example.com/60:IGNORE_NAME_apex_***SKIPPED(test_for_diff2_only)***:Empty
=== RUN   TestDNSProviders/example.com/61:IGNORE_TARGET_function_CNAME:Create_some_records
    integration_test.go:256: 
        + CREATE foo.example.com CNAME test.foo.com. ttl=300
        + CREATE keep.example.com CNAME keep.example.com. ttl=300
=== RUN   TestDNSProviders/example.com/61:IGNORE_TARGET_function_CNAME:ignoring_CNAME=test.foo.com.
=== RUN   TestDNSProviders/example.com/61:IGNORE_TARGET_function_CNAME:ignoring_CNAME=test.foo.com._and_add
    integration_test.go:256: 
        1 records not being deleted because of IGNORE*():
            foo.example.com. CNAME test.foo.com.
        + CREATE adding.example.com A 1.2.3.4 ttl=300
        + CREATE another.example.com CNAME www.example.com. ttl=300
=== RUN   TestDNSProviders/example.com/Post_cleanup:Empty#29
    integration_test.go:256: 
        - DELETE adding.example.com A 1.2.3.4 ttl=300
        - DELETE another.example.com CNAME www.example.com. ttl=300
        - DELETE keep.example.com CNAME keep.example.com. ttl=300
=== RUN   TestDNSProviders/example.com/62:IGNORE_TARGET_function_CNAME*:Create_some_records
    integration_test.go:256: 
        + CREATE bar.example.com CNAME test.example.com. ttl=300
        + CREATE foo1.example.com CNAME test.foo.com. ttl=300
        + CREATE foo2.example.com CNAME my.test.foo.com. ttl=300
=== RUN   TestDNSProviders/example.com/62:IGNORE_TARGET_function_CNAME*:ignoring_CNAME=test.foo.com.
=== RUN   TestDNSProviders/example.com/62:IGNORE_TARGET_function_CNAME*:ignoring_CNAME=test.foo.com._and_add
    integration_test.go:256: 
        2 records not being deleted because of IGNORE*():
            foo1.example.com. CNAME test.foo.com.
            foo2.example.com. CNAME my.test.foo.com.
        1 records that are both IGNORE*()'d and not ignored:
            foo2.example.com CNAME my.test.foo.com.
        + CREATE adding.example.com A 1.2.3.4 ttl=300
        + CREATE another.example.com CNAME www.example.com. ttl=300
=== RUN   TestDNSProviders/example.com/Post_cleanup:Empty#30
    integration_test.go:256: 
        - DELETE adding.example.com A 1.2.3.4 ttl=300
        - DELETE another.example.com CNAME www.example.com. ttl=300
        - DELETE bar.example.com CNAME test.example.com. ttl=300
        - DELETE foo2.example.com CNAME my.test.foo.com. ttl=300
=== RUN   TestDNSProviders/example.com/63:IGNORE_TARGET_function_CNAME**:Create_some_records
    integration_test.go:256: 
        + CREATE bar.example.com CNAME test.example.com. ttl=300
        + CREATE foo1.example.com CNAME test.foo.com. ttl=300
        + CREATE foo2.example.com CNAME my.test.foo.com. ttl=300
=== RUN   TestDNSProviders/example.com/63:IGNORE_TARGET_function_CNAME**:ignoring_CNAME=test.foo.com.
=== RUN   TestDNSProviders/example.com/63:IGNORE_TARGET_function_CNAME**:ignoring_CNAME=test.foo.com._and_add
    integration_test.go:256: 
        2 records not being deleted because of IGNORE*():
            foo1.example.com. CNAME test.foo.com.
            foo2.example.com. CNAME my.test.foo.com.
        + CREATE adding.example.com A 1.2.3.4 ttl=300
        + CREATE another.example.com CNAME www.example.com. ttl=300
=== RUN   TestDNSProviders/example.com/Post_cleanup:Empty#31
    integration_test.go:256: 
        - DELETE adding.example.com A 1.2.3.4 ttl=300
        - DELETE another.example.com CNAME www.example.com. ttl=300
        - DELETE bar.example.com CNAME test.example.com. ttl=300
=== RUN   TestDNSProviders/example.com/64:IGNORE_TARGET_b2285_***SKIPPED(test_for_diff2_only)***:Empty
--- PASS: TestDNSProviders (568.92s)
    --- PASS: TestDNSProviders/example.com (568.92s)
        --- PASS: TestDNSProviders/example.com/Clean_Slate:Empty (3.02s)
        --- PASS: TestDNSProviders/example.com/00:A:Create_A (5.02s)
        --- PASS: TestDNSProviders/example.com/00:A:Change_A_target (4.20s)
        --- PASS: TestDNSProviders/example.com/Post_cleanup:Empty (2.15s)
        --- PASS: TestDNSProviders/example.com/01:Apex:Create_A (5.32s)
        --- PASS: TestDNSProviders/example.com/01:Apex:Change_A_target (9.93s)
        --- PASS: TestDNSProviders/example.com/Post_cleanup:Empty#01 (2.76s)
        --- PASS: TestDNSProviders/example.com/02:Protocol-Wildcard:Create_wildcard (5.43s)
        --- PASS: TestDNSProviders/example.com/02:Protocol-Wildcard:Delete_wildcard (3.99s)
        --- PASS: TestDNSProviders/example.com/Post_cleanup:Empty#02 (2.05s)
        --- PASS: TestDNSProviders/example.com/03:CNAME:Create_a_CNAME (4.81s)
        --- PASS: TestDNSProviders/example.com/03:CNAME:Change_CNAME_target (4.10s)
        --- PASS: TestDNSProviders/example.com/Post_cleanup:Empty#03 (2.15s)
        --- PASS: TestDNSProviders/example.com/04:MX:Create_MX (4.91s)
        --- PASS: TestDNSProviders/example.com/04:MX:Change_MX_target (4.20s)
        --- PASS: TestDNSProviders/example.com/04:MX:Change_MX_p (4.00s)
        --- PASS: TestDNSProviders/example.com/Post_cleanup:Empty#04 (2.14s)
        --- PASS: TestDNSProviders/example.com/05:TXT:Create_TXT (5.02s)
        --- PASS: TestDNSProviders/example.com/05:TXT:Change_TXT_target (3.99s)
        --- PASS: TestDNSProviders/example.com/Post_cleanup:Empty#05 (2.35s)
        --- PASS: TestDNSProviders/example.com/06:ManyAtOnce:CreateManyAtLabel (4.94s)
        --- PASS: TestDNSProviders/example.com/06:ManyAtOnce:Empty (2.12s)
        --- PASS: TestDNSProviders/example.com/06:ManyAtOnce:Create_an_A_record (4.91s)
        --- PASS: TestDNSProviders/example.com/06:ManyAtOnce:Add_at_label1 (4.09s)
        --- PASS: TestDNSProviders/example.com/06:ManyAtOnce:Add_at_label2 (4.30s)
        --- PASS: TestDNSProviders/example.com/Post_cleanup:Empty#06 (2.15s)
        --- PASS: TestDNSProviders/example.com/07:manyTypesAtOnce:CreateManyTypesAtLabel (4.81s)
        --- PASS: TestDNSProviders/example.com/07:manyTypesAtOnce:Empty (2.15s)
        --- PASS: TestDNSProviders/example.com/07:manyTypesAtOnce:Create_an_A_record (5.02s)
        --- PASS: TestDNSProviders/example.com/07:manyTypesAtOnce:Add_Type_At_Label (3.90s)
        --- PASS: TestDNSProviders/example.com/07:manyTypesAtOnce:Add_Type_At_Label#01 (3.99s)
        --- PASS: TestDNSProviders/example.com/Post_cleanup:Empty#07 (2.25s)
        --- PASS: TestDNSProviders/example.com/08:Attl:Create_Arc (4.92s)
        --- PASS: TestDNSProviders/example.com/08:Attl:Change_TTL (3.99s)
        --- PASS: TestDNSProviders/example.com/Post_cleanup:Empty#08 (2.05s)
        --- PASS: TestDNSProviders/example.com/09:TTL:Start (4.91s)
        --- PASS: TestDNSProviders/example.com/09:TTL:Change_a_ttl (4.10s)
        --- PASS: TestDNSProviders/example.com/09:TTL:Change_single_target_from_set (4.09s)
        --- PASS: TestDNSProviders/example.com/09:TTL:Change_all_ttls (3.99s)
        --- PASS: TestDNSProviders/example.com/Post_cleanup:Empty#09 (2.25s)
        --- PASS: TestDNSProviders/example.com/10:add_to_label_and_change_orig_ttl:Setup (4.89s)
        --- PASS: TestDNSProviders/example.com/10:add_to_label_and_change_orig_ttl:Add_at_same_label,_new_ttl (4.12s)
        --- PASS: TestDNSProviders/example.com/Post_cleanup:Empty#10 (2.15s)
        --- PASS: TestDNSProviders/example.com/11:TypeChange:Create_A (4.95s)
        --- PASS: TestDNSProviders/example.com/11:TypeChange:Change_to_MX (4.88s)
        --- PASS: TestDNSProviders/example.com/11:TypeChange:Change_back_to_A (4.06s)
        --- PASS: TestDNSProviders/example.com/Post_cleanup:Empty#11 (2.02s)
        --- PASS: TestDNSProviders/example.com/12:TypeChangeHard:Create_a_CNAME (4.99s)
        --- PASS: TestDNSProviders/example.com/12:TypeChangeHard:Change_to_A_record (3.98s)
        --- PASS: TestDNSProviders/example.com/12:TypeChangeHard:Change_back_to_CNAME (4.15s)
        --- PASS: TestDNSProviders/example.com/Post_cleanup:Empty#12 (1.99s)
        --- PASS: TestDNSProviders/example.com/13:CNAME:Record_pointing_to_@ (5.32s)
        --- PASS: TestDNSProviders/example.com/Post_cleanup:Empty#13 (2.15s)
        --- PASS: TestDNSProviders/example.com/14:MX:Record_pointing_to_@ (4.93s)
        --- PASS: TestDNSProviders/example.com/14:MX:Null_MX (3.93s)
        --- PASS: TestDNSProviders/example.com/Post_cleanup:Empty#14 (2.10s)
        --- PASS: TestDNSProviders/example.com/15:NS:NS_for_subdomain (5.02s)
        --- PASS: TestDNSProviders/example.com/15:NS:Dual_NS_for_subdomain (3.99s)
        --- PASS: TestDNSProviders/example.com/15:NS:NS_Record_pointing_to_@ (3.99s)
        --- PASS: TestDNSProviders/example.com/Post_cleanup:Empty#15 (2.00s)
        --- PASS: TestDNSProviders/example.com/16:complex_TXT:TXT_with_1_single-quote (4.97s)
        --- PASS: TestDNSProviders/example.com/16:complex_TXT:TXT_with_1_backtick (4.15s)
        --- PASS: TestDNSProviders/example.com/16:complex_TXT:TXT_with_1_double-quotes (4.25s)
        --- PASS: TestDNSProviders/example.com/16:complex_TXT:TXT_with_2_double-quotes (4.30s)
        --- PASS: TestDNSProviders/example.com/16:complex_TXT:a_TXT_with_interior_ws (4.11s)
        --- PASS: TestDNSProviders/example.com/16:complex_TXT:TXT_with_ws_at_end (4.39s)
        --- PASS: TestDNSProviders/example.com/Post_cleanup:Empty#16 (2.05s)
        --- PASS: TestDNSProviders/example.com/17:Case_Sensitivity:Create_CAPS (5.34s)
        --- PASS: TestDNSProviders/example.com/17:Case_Sensitivity:Downcase_label (4.19s)
        --- PASS: TestDNSProviders/example.com/17:Case_Sensitivity:Downcase_target (3.89s)
        --- PASS: TestDNSProviders/example.com/17:Case_Sensitivity:Upcase_both (3.99s)
        --- PASS: TestDNSProviders/example.com/Post_cleanup:Empty#17 (2.03s)
        --- PASS: TestDNSProviders/example.com/18:testByLabel:initial (4.93s)
        --- PASS: TestDNSProviders/example.com/18:testByLabel:changeOne (3.96s)
        --- PASS: TestDNSProviders/example.com/18:testByLabel:deleteOne (3.93s)
        --- PASS: TestDNSProviders/example.com/18:testByLabel:addOne (4.04s)
        --- PASS: TestDNSProviders/example.com/Post_cleanup:Empty#18 (2.10s)
        --- PASS: TestDNSProviders/example.com/19:testByRecordSet:initial (4.96s)
        --- PASS: TestDNSProviders/example.com/19:testByRecordSet:changeOne (4.15s)
        --- PASS: TestDNSProviders/example.com/19:testByRecordSet:deleteOne (4.10s)
        --- PASS: TestDNSProviders/example.com/19:testByRecordSet:addOne (4.12s)
        --- PASS: TestDNSProviders/example.com/Post_cleanup:Empty#19 (2.22s)
        --- PASS: TestDNSProviders/example.com/20:IDNA:Internationalized_name (7.59s)
        --- PASS: TestDNSProviders/example.com/20:IDNA:Change_IDN (4.70s)
        --- PASS: TestDNSProviders/example.com/20:IDNA:Internationalized_CNAME_Target (3.99s)
        --- PASS: TestDNSProviders/example.com/Post_cleanup:Empty#20 (2.42s)
        --- PASS: TestDNSProviders/example.com/21:IDNAs_in_CNAME_targets:IDN_CNAME_AND_Target (5.06s)
        --- PASS: TestDNSProviders/example.com/Post_cleanup:Empty#21 (2.46s)
        --- PASS: TestDNSProviders/example.com/22:pager101:99_records (5.43s)
        --- PASS: TestDNSProviders/example.com/22:pager101:100_records (6.68s)
        --- PASS: TestDNSProviders/example.com/22:pager101:101_records (6.49s)
        --- PASS: TestDNSProviders/example.com/Post_cleanup:Empty#22 (4.31s)
        --- PASS: TestDNSProviders/example.com/23:pager601_***SKIPPED(disabled_by_only)***:Empty (1.86s)
        --- PASS: TestDNSProviders/example.com/24:pager1201_***SKIPPED(disabled_by_only)***:Empty (0.94s)
        --- PASS: TestDNSProviders/example.com/25:CAA:CAA_record (3.99s)
        --- PASS: TestDNSProviders/example.com/25:CAA:CAA_change_tag (3.98s)
        --- PASS: TestDNSProviders/example.com/25:CAA:CAA_change_target (4.15s)
        --- PASS: TestDNSProviders/example.com/25:CAA:CAA_change_flag (4.04s)
        --- PASS: TestDNSProviders/example.com/25:CAA:CAA_many_records (3.93s)
        --- PASS: TestDNSProviders/example.com/25:CAA:CAA_whitespace (3.84s)
        --- PASS: TestDNSProviders/example.com/Post_cleanup:Empty#23 (1.97s)
        --- PASS: TestDNSProviders/example.com/26:LOC_***SKIPPED(CanUseLOC_not_supported)***:Empty (1.86s)
        --- PASS: TestDNSProviders/example.com/27:NAPTR_***SKIPPED(CanUseNAPTR_not_supported)***:Empty (0.99s)
        --- PASS: TestDNSProviders/example.com/28:PTR:Create_PTR_record (3.99s)
        --- PASS: TestDNSProviders/example.com/28:PTR:Modify_PTR_record (3.99s)
        --- PASS: TestDNSProviders/example.com/Post_cleanup:Empty#24 (2.01s)
        --- PASS: TestDNSProviders/example.com/29:SOA_***SKIPPED(CanUseSOA_not_supported)***:Empty (1.88s)
        --- PASS: TestDNSProviders/example.com/30:SRV:SRV_record (3.81s)
        --- PASS: TestDNSProviders/example.com/30:SRV:Second_SRV_record,_same_prio (4.08s)
        --- PASS: TestDNSProviders/example.com/30:SRV:3_SRV (4.20s)
        --- PASS: TestDNSProviders/example.com/30:SRV:Delete_one (3.99s)
        --- PASS: TestDNSProviders/example.com/30:SRV:Change_Target (3.89s)
        --- PASS: TestDNSProviders/example.com/30:SRV:Change_Priority (3.94s)
        --- PASS: TestDNSProviders/example.com/30:SRV:Change_Weight (4.15s)
        --- PASS: TestDNSProviders/example.com/30:SRV:Change_Port (3.99s)
        --- PASS: TestDNSProviders/example.com/30:SRV:Empty (1.94s)
        --- PASS: TestDNSProviders/example.com/30:SRV:Null_Target (4.92s)
        --- PASS: TestDNSProviders/example.com/Post_cleanup:Empty#25 (2.05s)
        --- PASS: TestDNSProviders/example.com/31:SRV:Create_SRV333 (4.79s)
        --- PASS: TestDNSProviders/example.com/31:SRV:Change_TTL999 (3.95s)
        --- PASS: TestDNSProviders/example.com/Post_cleanup:Empty#26 (2.22s)
        --- PASS: TestDNSProviders/example.com/32:SSHFP:SSHFP_record (5.14s)
        --- PASS: TestDNSProviders/example.com/32:SSHFP:SSHFP_change_algorithm (4.07s)
        --- PASS: TestDNSProviders/example.com/32:SSHFP:SSHFP_change_fingerprint_and_type (3.98s)
        --- PASS: TestDNSProviders/example.com/Post_cleanup:Empty#27 (2.11s)
        --- PASS: TestDNSProviders/example.com/33:TLSA:TLSA_record (4.84s)
        --- PASS: TestDNSProviders/example.com/33:TLSA:TLSA_change_usage (3.92s)
        --- PASS: TestDNSProviders/example.com/33:TLSA:TLSA_change_selector (3.93s)
        --- PASS: TestDNSProviders/example.com/33:TLSA:TLSA_change_matchingtype (3.89s)
        --- PASS: TestDNSProviders/example.com/33:TLSA:TLSA_change_certificate (4.35s)
        --- PASS: TestDNSProviders/example.com/Post_cleanup:Empty#28 (2.12s)
        --- PASS: TestDNSProviders/example.com/34:DS_***SKIPPED(CanUseDS_not_supported)***:Empty (1.81s)
        --- PASS: TestDNSProviders/example.com/35:DS_(children_only)_***SKIPPED(CanUseDSForChildren_not_supported)***:Empty (0.98s)
        --- PASS: TestDNSProviders/example.com/36:DS_(children_only)_CLOUDNS_***SKIPPED(CanUseDSForChildren_not_supported)***:Empty (1.02s)
        --- PASS: TestDNSProviders/example.com/37:ALIAS_***SKIPPED(CanUseAlias_not_supported)***:Empty (0.92s)
        --- PASS: TestDNSProviders/example.com/38:AZURE_ALIAS_A_***SKIPPED(CanUseAzureAlias_not_supported)***:Empty (0.97s)
        --- PASS: TestDNSProviders/example.com/39:AZURE_ALIAS_CNAME_***SKIPPED(CanUseAzureAlias_not_supported)***:Empty (0.97s)
        --- PASS: TestDNSProviders/example.com/40:R53_ALIAS2_***SKIPPED(CanUseRoute53Alias_not_supported)***:Empty (1.02s)
        --- PASS: TestDNSProviders/example.com/41:R53_ALIAS_ORDER_***SKIPPED(CanUseRoute53Alias_not_supported)***:Empty (0.92s)
        --- PASS: TestDNSProviders/example.com/42:R53_ALIAS_CNAME_***SKIPPED(CanUseRoute53Alias_not_supported)***:Empty (1.02s)
        --- PASS: TestDNSProviders/example.com/43:R53_ALIAS_Loop_***SKIPPED(CanUseRoute53Alias_not_supported)***:Empty (0.92s)
        --- PASS: TestDNSProviders/example.com/44:R53_alias_pre-existing_***SKIPPED(CanUseRoute53Alias_not_supported)***:Empty (1.02s)
        --- PASS: TestDNSProviders/example.com/45:CF_REDIRECT_***SKIPPED(disabled_by_only)***:Empty (0.92s)
        --- PASS: TestDNSProviders/example.com/46:CF_PROXY_A_create_***SKIPPED(disabled_by_only)***:Empty (0.99s)
        --- PASS: TestDNSProviders/example.com/47:CF_PROXY_A_off_to_X_***SKIPPED(disabled_by_only)***:Empty (0.95s)
        --- PASS: TestDNSProviders/example.com/48:CF_PROXY_A_on_to_X_***SKIPPED(disabled_by_only)***:Empty (0.98s)
        --- PASS: TestDNSProviders/example.com/49:CF_PROXY_A_full1_to_X_***SKIPPED(disabled_by_only)***:Empty (0.96s)
        --- PASS: TestDNSProviders/example.com/50:CF_PROXY_A_full2_to_X_***SKIPPED(disabled_by_only)***:Empty (1.02s)
        --- PASS: TestDNSProviders/example.com/51:CF_PROXY_CNAME_create_***SKIPPED(disabled_by_only)***:Empty (0.91s)
        --- PASS: TestDNSProviders/example.com/52:CF_PROXY_CNAME_off_to_X_***SKIPPED(disabled_by_only)***:Empty (0.96s)
        --- PASS: TestDNSProviders/example.com/53:CF_PROXY_CNAME_on_to_X_***SKIPPED(disabled_by_only)***:Empty (0.91s)
        --- PASS: TestDNSProviders/example.com/54:CF_PROXY_CNAME_full_to_X_***SKIPPED(disabled_by_only)***:Empty (0.96s)
        --- PASS: TestDNSProviders/example.com/55:CF_WORKER_ROUTE_***SKIPPED(disabled_by_only)***:Empty (0.97s)
        --- PASS: TestDNSProviders/example.com/56:NS1_URLFWD_tests_***SKIPPED(disabled_by_only)***:Empty (1.02s)
        --- PASS: TestDNSProviders/example.com/57:IGNORE_main_***SKIPPED(test_for_diff2_only)***:Empty (0.92s)
        --- PASS: TestDNSProviders/example.com/58:IGNORE_apex_***SKIPPED(test_for_diff2_only)***:Empty (0.96s)
        --- PASS: TestDNSProviders/example.com/59:IGNORE_NAME_function_***SKIPPED(test_for_diff2_only)***:Empty (0.92s)
        --- PASS: TestDNSProviders/example.com/60:IGNORE_NAME_apex_***SKIPPED(test_for_diff2_only)***:Empty (0.96s)
        --- PASS: TestDNSProviders/example.com/61:IGNORE_TARGET_function_CNAME:Create_some_records (3.95s)
        --- PASS: TestDNSProviders/example.com/61:IGNORE_TARGET_function_CNAME:ignoring_CNAME=test.foo.com. (2.01s)
        --- PASS: TestDNSProviders/example.com/61:IGNORE_TARGET_function_CNAME:ignoring_CNAME=test.foo.com._and_add (4.15s)
        --- PASS: TestDNSProviders/example.com/Post_cleanup:Empty#29 (2.09s)
        --- PASS: TestDNSProviders/example.com/62:IGNORE_TARGET_function_CNAME*:Create_some_records (4.78s)
        --- PASS: TestDNSProviders/example.com/62:IGNORE_TARGET_function_CNAME*:ignoring_CNAME=test.foo.com. (1.86s)
        --- PASS: TestDNSProviders/example.com/62:IGNORE_TARGET_function_CNAME*:ignoring_CNAME=test.foo.com._and_add (4.07s)
        --- PASS: TestDNSProviders/example.com/Post_cleanup:Empty#30 (2.08s)
        --- PASS: TestDNSProviders/example.com/63:IGNORE_TARGET_function_CNAME**:Create_some_records (5.08s)
        --- PASS: TestDNSProviders/example.com/63:IGNORE_TARGET_function_CNAME**:ignoring_CNAME=test.foo.com. (1.98s)
        --- PASS: TestDNSProviders/example.com/63:IGNORE_TARGET_function_CNAME**:ignoring_CNAME=test.foo.com._and_add (4.51s)
        --- PASS: TestDNSProviders/example.com/Post_cleanup:Empty#31 (2.05s)
        --- PASS: TestDNSProviders/example.com/64:IGNORE_TARGET_b2285_***SKIPPED(test_for_diff2_only)***:Empty (2.21s)
=== RUN   TestDualProviders
    integration_test.go:381: Clearing everything
    integration_test.go:388: Adding nameservers from another provider
    integration_test.go:375: #1:
        + CREATE example.com NS ns1.example.com. ttl=300
        + CREATE example.com NS ns2.example.com. ttl=300
    integration_test.go:391: Running again to ensure stability
--- PASS: TestDualProviders (5.68s)
=== RUN   TestNameserverDots
=== RUN   TestNameserverDots/No_trailing_dot_in_nameserver
--- PASS: TestNameserverDots (0.00s)
    --- PASS: TestNameserverDots/No_trailing_dot_in_nameserver (0.00s)
PASS
ok  	github.com/StackExchange/dnscontrol/v4/integrationTest	574.607s

@tomfitzhenry tomfitzhenry marked this pull request as ready for review September 5, 2023 01:38
@tlimoncelli tlimoncelli merged commit c9ce326 into DNSControl:master Sep 5, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Development

Successfully merging this pull request may close these issues.

3 participants