Repository: StackExchange/dnscontrol
Pull request #1061 (2021-02-27 01:13:35)

"Target" RecordConfig should not be exported
The .Target field is now .target.  That is, it is no longer exported. This is being on in preparation for fixing some big tech debt related to TXT reccords.

Most providers do not access this field.  There have been getters/setters around for a while. This PR finally unexports the field and fixes all the breakage.  Most of what broke was related to JSON/YAML (un)marshaling.

All the officially supported providers have been tested.  I'm asking the owners of all the community-supported providers to run the usual integration tests:

    ~/git/dnscontrol/integrationTest$ source env.sh 
    go test -v -verbose -provider BIND       <<< Or whatever your provider's name is

I need this change before we do a major overhaul of the TXT record handling.  I can't say I'm going to wait for everyone to confirm this PR, but I think this is relatively low-risk for most providers.

I appreciate everyone helping out, maintaining your provider, and supporting the project!  You all make this project such a success!

Please post a comment when your integration tests run successfully.

- [x] # providers/activedir
- [x] providers/axfrddns @hnrgrgr
- [x] providers/azuredns @vatsalyagoel
- [x] providers/bind @tlimoncelli
- [x] # providers/cloudflare
- [ ] providers/cloudns @pragmaton
- [ ] providers/desec @D3luxee
- [ ] providers/doh @mikenz
- [x] providers/digitalocean @Deraen
- [ ] providers/dnsimple @aeden
- [x] providers/gandi_v5 @TomOnTime
- [x] # providers/gcloud
- [x] providers/hedns @rblenkinsopp
- [ ] providers/hetzner @das7pad
- [x] providers/hexonet @papakai
- [ ] providers/internetbs @pragmaton
- [x] providers/inwx @svenpeter42
- [x] providers/msdns @tlimoncelli
- [ ] providers/linode @koesie10
- [ ] providers/namecheap @captncraig
- [x] # providers/namedotcom
- [x] providers/netcup @kordianbruck
- [ ] providers/ns1 @captncraig
- [ ] providers/oracle @kallsyms
- [x] # providers/route53
- [ ] # providers/softlayer
- [x] providers/vultr @pgaskin
- [x] providers/ovh @masterzen
- [x] providers/powerdns @jpbede

Affected files:

```
commands/r53_test.go
go.mod
go.sum
integrationTest/integration_test.go
models/dns_test.go
models/domain.go
models/record.go
models/record_test.go
models/target.go
models/util.go
pkg/diff/diff.go
pkg/js/parse_tests/017-txt.json
pkg/js/parse_tests/018-dkim.json
providers/azuredns/azureDnsProvider.go
providers/bind/soa_test.go
providers/cloudns/cloudnsProvider.go
providers/exoscale/exoscaleProvider.go
providers/hedns/hednsProvider.go
providers/hexonet/records.go
providers/msdns/powershell_test.go
providers/netcup/types.go
providers/octodns/octoyaml/rw_test.go
```


svenpeter42: inwx seems to work just fine

```
=== RUN   TestDNSProviders
=== RUN   TestDNSProviders/svenpeter123.eu
=== RUN   TestDNSProviders/svenpeter123.eu/Clean_Slate:Empty
    integration_test.go:193: DELETE NS svenpeter123.eu ns1.example.com. ttl=300
    integration_test.go:193: DELETE NS svenpeter123.eu ns2.example.com. ttl=300
=== RUN   TestDNSProviders/svenpeter123.eu/00:GeneralACD:Create_an_A_record
    integration_test.go:193: CREATE A svenpeter123.eu 1.1.1.1 ttl=300
=== RUN   TestDNSProviders/svenpeter123.eu/00:GeneralACD:Change_it
    integration_test.go:193: MODIFY A svenpeter123.eu: (1.1.1.1 ttl=300) -> (1.2.3.4 ttl=300)
=== RUN   TestDNSProviders/svenpeter123.eu/00:GeneralACD:Add_another
    integration_test.go:193: CREATE A www.svenpeter123.eu 1.2.3.4 ttl=300
=== RUN   TestDNSProviders/svenpeter123.eu/00:GeneralACD:Add_another(same_name)
    integration_test.go:193: CREATE A www.svenpeter123.eu 5.6.7.8 ttl=300
=== RUN   TestDNSProviders/svenpeter123.eu/00:GeneralACD:Change_a_ttl
    integration_test.go:193: MODIFY A svenpeter123.eu: (1.2.3.4 ttl=300) -> (1.2.3.4 ttl=1000)
=== RUN   TestDNSProviders/svenpeter123.eu/00:GeneralACD:Change_single_target_from_set
    integration_test.go:193: MODIFY A www.svenpeter123.eu: (1.2.3.4 ttl=300) -> (2.2.2.2 ttl=300)
=== RUN   TestDNSProviders/svenpeter123.eu/00:GeneralACD:Change_all_ttls
    integration_test.go:193: MODIFY A svenpeter123.eu: (1.2.3.4 ttl=1000) -> (1.2.3.4 ttl=500)
    integration_test.go:193: MODIFY A www.svenpeter123.eu: (5.6.7.8 ttl=300) -> (5.6.7.8 ttl=400)
    integration_test.go:193: MODIFY A www.svenpeter123.eu: (2.2.2.2 ttl=300) -> (2.2.2.2 ttl=400)
=== RUN   TestDNSProviders/svenpeter123.eu/00:GeneralACD:Delete_one
    integration_test.go:193: DELETE A www.svenpeter123.eu 2.2.2.2 ttl=400
=== RUN   TestDNSProviders/svenpeter123.eu/00:GeneralACD:Add_back_and_change_ttl
    integration_test.go:193: CREATE A www.svenpeter123.eu 1.2.3.4 ttl=700
    integration_test.go:193: DELETE A svenpeter123.eu 1.2.3.4 ttl=500
    integration_test.go:193: MODIFY A www.svenpeter123.eu: (5.6.7.8 ttl=400) -> (5.6.7.8 ttl=700)
=== RUN   TestDNSProviders/svenpeter123.eu/00:GeneralACD:Change_targets_and_ttls
    integration_test.go:193: MODIFY A www.svenpeter123.eu: (1.2.3.4 ttl=700) -> (1.1.1.1 ttl=300)
    integration_test.go:193: MODIFY A www.svenpeter123.eu: (5.6.7.8 ttl=700) -> (2.2.2.2 ttl=300)
=== RUN   TestDNSProviders/svenpeter123.eu/Post_cleanup:Empty
    integration_test.go:193: DELETE A www.svenpeter123.eu 1.1.1.1 ttl=300
    integration_test.go:193: DELETE A www.svenpeter123.eu 2.2.2.2 ttl=300
=== RUN   TestDNSProviders/svenpeter123.eu/01:WildcardACD:Create_wildcard
    integration_test.go:193: CREATE A *.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A www.svenpeter123.eu 1.1.1.1 ttl=300
=== RUN   TestDNSProviders/svenpeter123.eu/01:WildcardACD:Delete_wildcard
    integration_test.go:193: DELETE A *.svenpeter123.eu 1.2.3.4 ttl=300
=== RUN   TestDNSProviders/svenpeter123.eu/Post_cleanup:Empty#01
    integration_test.go:193: DELETE A www.svenpeter123.eu 1.1.1.1 ttl=300
=== RUN   TestDNSProviders/svenpeter123.eu/02:CNAME:Create_a_CNAME
    integration_test.go:193: CREATE CNAME foo.svenpeter123.eu google.com. ttl=300
=== RUN   TestDNSProviders/svenpeter123.eu/02:CNAME:Change_CNAME_target
    integration_test.go:193: MODIFY CNAME foo.svenpeter123.eu: (google.com. ttl=300) -> (google2.com. ttl=300)
=== RUN   TestDNSProviders/svenpeter123.eu/02:CNAME:Empty
    integration_test.go:193: DELETE CNAME foo.svenpeter123.eu google2.com. ttl=300
=== RUN   TestDNSProviders/svenpeter123.eu/02:CNAME:Record_pointing_to_@
    integration_test.go:193: CREATE CNAME foo.svenpeter123.eu svenpeter123.eu. ttl=300
=== RUN   TestDNSProviders/svenpeter123.eu/Post_cleanup:Empty#02
    integration_test.go:193: DELETE CNAME foo.svenpeter123.eu svenpeter123.eu. ttl=300
=== RUN   TestDNSProviders/svenpeter123.eu/03:MX:MX_record
    integration_test.go:193: CREATE MX svenpeter123.eu 5 foo.com. ttl=300
=== RUN   TestDNSProviders/svenpeter123.eu/03:MX:Second_MX_record,_same_prio
    integration_test.go:193: CREATE MX svenpeter123.eu 5 foo2.com. ttl=300
=== RUN   TestDNSProviders/svenpeter123.eu/03:MX:3_MX
    integration_test.go:193: CREATE MX svenpeter123.eu 15 foo3.com. ttl=300
=== RUN   TestDNSProviders/svenpeter123.eu/03:MX:Delete_one
    integration_test.go:193: DELETE MX svenpeter123.eu 5 foo.com. ttl=300
=== RUN   TestDNSProviders/svenpeter123.eu/03:MX:Change_to_other_name
    integration_test.go:193: CREATE MX mail.svenpeter123.eu 15 foo3.com. ttl=300
    integration_test.go:193: DELETE MX svenpeter123.eu 15 foo3.com. ttl=300
=== RUN   TestDNSProviders/svenpeter123.eu/03:MX:Change_Preference
    integration_test.go:193: MODIFY MX svenpeter123.eu: (5 foo2.com. ttl=300) -> (7 foo2.com. ttl=300)
=== RUN   TestDNSProviders/svenpeter123.eu/03:MX:Record_pointing_to_@
    integration_test.go:193: CREATE MX foo.svenpeter123.eu 8 svenpeter123.eu. ttl=300
    integration_test.go:193: DELETE MX mail.svenpeter123.eu 15 foo3.com. ttl=300
    integration_test.go:193: DELETE MX svenpeter123.eu 7 foo2.com. ttl=300
=== RUN   TestDNSProviders/svenpeter123.eu/Post_cleanup:Empty#03
    integration_test.go:193: DELETE MX foo.svenpeter123.eu 8 svenpeter123.eu. ttl=300
=== RUN   TestDNSProviders/svenpeter123.eu/04:Null_MX_***SKIPPED(excluded_by_not("INWX"))***:Empty
=== RUN   TestDNSProviders/svenpeter123.eu/05:NS:NS_for_subdomain
    integration_test.go:193: CREATE NS xyz.svenpeter123.eu ns2.foo.com. ttl=300
=== RUN   TestDNSProviders/svenpeter123.eu/05:NS:Dual_NS_for_subdomain
    integration_test.go:193: CREATE NS xyz.svenpeter123.eu ns1.foo.com. ttl=300
=== RUN   TestDNSProviders/svenpeter123.eu/05:NS:NS_Record_pointing_to_@
    integration_test.go:193: CREATE NS foo.svenpeter123.eu svenpeter123.eu. ttl=300
    integration_test.go:193: CREATE A svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: DELETE NS xyz.svenpeter123.eu ns1.foo.com. ttl=300
    integration_test.go:193: DELETE NS xyz.svenpeter123.eu ns2.foo.com. ttl=300
=== RUN   TestDNSProviders/svenpeter123.eu/Post_cleanup:Empty#04
    integration_test.go:193: DELETE NS foo.svenpeter123.eu svenpeter123.eu. ttl=300
    integration_test.go:193: DELETE A svenpeter123.eu 1.2.3.4 ttl=300
=== RUN   TestDNSProviders/svenpeter123.eu/06:IGNORE_NAME_function:Create_some_records
    integration_test.go:193: CREATE TXT foo.svenpeter123.eu "simple" ttl=300
    integration_test.go:193: CREATE A foo.svenpeter123.eu 1.2.3.4 ttl=300
=== RUN   TestDNSProviders/svenpeter123.eu/06:IGNORE_NAME_function:Add_a_new_record_-_ignoring_foo
    integration_test.go:193: CREATE A bar.svenpeter123.eu 1.2.3.4 ttl=300
=== RUN   TestDNSProviders/svenpeter123.eu/06:IGNORE_NAME_function:Empty
    integration_test.go:193: DELETE A bar.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: DELETE TXT foo.svenpeter123.eu "simple" ttl=300
    integration_test.go:193: DELETE A foo.svenpeter123.eu 1.2.3.4 ttl=300
=== RUN   TestDNSProviders/svenpeter123.eu/06:IGNORE_NAME_function:Create_some_records#01
    integration_test.go:193: CREATE TXT bar.foo.svenpeter123.eu "simple" ttl=300
    integration_test.go:193: CREATE A bar.foo.svenpeter123.eu 1.2.3.4 ttl=300
=== RUN   TestDNSProviders/svenpeter123.eu/06:IGNORE_NAME_function:Add_a_new_record_-_ignoring_*.foo
    integration_test.go:193: CREATE A bar.svenpeter123.eu 1.2.3.4 ttl=300
=== RUN   TestDNSProviders/svenpeter123.eu/Post_cleanup:Empty#05
    integration_test.go:193: DELETE TXT bar.foo.svenpeter123.eu "simple" ttl=300
    integration_test.go:193: DELETE A bar.foo.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A bar.svenpeter123.eu 1.2.3.4 ttl=300
=== RUN   TestDNSProviders/svenpeter123.eu/07:IGNORE_TARGET_function:Create_some_records
    integration_test.go:193: CREATE CNAME bar.svenpeter123.eu test.bar.com. ttl=300
    integration_test.go:193: CREATE CNAME foo.svenpeter123.eu test.foo.com. ttl=300
=== RUN   TestDNSProviders/svenpeter123.eu/07:IGNORE_TARGET_function:Add_a_new_record_-_ignoring_test.foo.com.
    integration_test.go:193: MODIFY CNAME bar.svenpeter123.eu: (test.bar.com. ttl=300) -> (bar.foo.com. ttl=300)
=== RUN   TestDNSProviders/svenpeter123.eu/07:IGNORE_TARGET_function:Empty
    integration_test.go:193: DELETE CNAME bar.svenpeter123.eu bar.foo.com. ttl=300
    integration_test.go:193: DELETE CNAME foo.svenpeter123.eu test.foo.com. ttl=300
=== RUN   TestDNSProviders/svenpeter123.eu/07:IGNORE_TARGET_function:Create_some_records#01
    integration_test.go:193: CREATE CNAME bar.foo.svenpeter123.eu a.b.foo.com. ttl=300
    integration_test.go:193: CREATE A test.foo.svenpeter123.eu 1.2.3.4 ttl=300
=== RUN   TestDNSProviders/svenpeter123.eu/07:IGNORE_TARGET_function:Add_a_new_record_-_ignoring_**.foo.com._targets
    integration_test.go:193: CREATE A bar.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A test.foo.svenpeter123.eu 1.2.3.4 ttl=300
=== RUN   TestDNSProviders/svenpeter123.eu/Post_cleanup:Empty#06
    integration_test.go:193: DELETE CNAME bar.foo.svenpeter123.eu a.b.foo.com. ttl=300
    integration_test.go:193: DELETE A bar.svenpeter123.eu 1.2.3.4 ttl=300
=== RUN   TestDNSProviders/svenpeter123.eu/08:single_TXT:Create_a_TXT
    integration_test.go:193: CREATE TXT foo.svenpeter123.eu "simple" ttl=300
=== RUN   TestDNSProviders/svenpeter123.eu/08:single_TXT:Change_a_TXT
    integration_test.go:193: MODIFY TXT foo.svenpeter123.eu: ("simple" ttl=300) -> ("changed" ttl=300)
=== RUN   TestDNSProviders/svenpeter123.eu/08:single_TXT:Empty
    integration_test.go:193: DELETE TXT foo.svenpeter123.eu "changed" ttl=300
=== RUN   TestDNSProviders/svenpeter123.eu/08:single_TXT:Create_a_TXT_with_spaces
    integration_test.go:193: CREATE TXT foo.svenpeter123.eu "with spaces" ttl=300
=== RUN   TestDNSProviders/svenpeter123.eu/08:single_TXT:Create_1_TXT_as_array
    integration_test.go:193: MODIFY TXT foo.svenpeter123.eu: ("with spaces" ttl=300) -> ("simple" ttl=300)
=== RUN   TestDNSProviders/svenpeter123.eu/08:single_TXT:Empty#01
    integration_test.go:193: DELETE TXT foo.svenpeter123.eu "simple" ttl=300
=== RUN   TestDNSProviders/svenpeter123.eu/08:single_TXT:Create_a_254-byte_TXT
    integration_test.go:193: CREATE TXT foo.svenpeter123.eu "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" ttl=300
=== RUN   TestDNSProviders/svenpeter123.eu/Post_cleanup:Empty#07
    integration_test.go:193: DELETE TXT foo.svenpeter123.eu "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" ttl=300
=== RUN   TestDNSProviders/svenpeter123.eu/09:max-sized_TXT_***SKIPPED(excluded_by_not("INWX"))***:Empty
=== RUN   TestDNSProviders/svenpeter123.eu/10:single_TXT_with_single-quote_***SKIPPED(excluded_by_not("INWX"))***:Empty
=== RUN   TestDNSProviders/svenpeter123.eu/11:ws_TXT_***SKIPPED(excluded_by_not("INWX"))***:Empty
=== RUN   TestDNSProviders/svenpeter123.eu/12:empty_TXT_***SKIPPED(excluded_by_not("INWX"))***:Empty
=== RUN   TestDNSProviders/svenpeter123.eu/13:TypeChange:Create_a_CNAME
    integration_test.go:193: CREATE CNAME foo.svenpeter123.eu google.com. ttl=300
=== RUN   TestDNSProviders/svenpeter123.eu/13:TypeChange:Change_to_A_record
    integration_test.go:193: CREATE A foo.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: DELETE CNAME foo.svenpeter123.eu google.com. ttl=300
=== RUN   TestDNSProviders/svenpeter123.eu/13:TypeChange:Change_back_to_CNAME
    integration_test.go:193: CREATE CNAME foo.svenpeter123.eu google2.com. ttl=300
    integration_test.go:193: DELETE A foo.svenpeter123.eu 1.2.3.4 ttl=300
=== RUN   TestDNSProviders/svenpeter123.eu/Post_cleanup:Empty#08
    integration_test.go:193: DELETE CNAME foo.svenpeter123.eu google2.com. ttl=300
=== RUN   TestDNSProviders/svenpeter123.eu/14:Case_Sensitivity:Create_CAPS
    integration_test.go:193: CREATE MX bar.svenpeter123.eu 5 bar.com. ttl=300
=== RUN   TestDNSProviders/svenpeter123.eu/14:Case_Sensitivity:Downcase_label
    integration_test.go:193: CREATE A decoy.svenpeter123.eu 1.1.1.1 ttl=300
=== RUN   TestDNSProviders/svenpeter123.eu/14:Case_Sensitivity:Downcase_target
    integration_test.go:193: MODIFY A decoy.svenpeter123.eu: (1.1.1.1 ttl=300) -> (2.2.2.2 ttl=300)
=== RUN   TestDNSProviders/svenpeter123.eu/14:Case_Sensitivity:Upcase_both
    integration_test.go:193: MODIFY A decoy.svenpeter123.eu: (2.2.2.2 ttl=300) -> (3.3.3.3 ttl=300)
=== RUN   TestDNSProviders/svenpeter123.eu/Post_cleanup:Empty#09
    integration_test.go:193: DELETE MX bar.svenpeter123.eu 5 bar.com. ttl=300
    integration_test.go:193: DELETE A decoy.svenpeter123.eu 3.3.3.3 ttl=300
=== RUN   TestDNSProviders/svenpeter123.eu/15:IDNA:Internationalized_name
    integration_test.go:193: CREATE A xn--ndaaa.svenpeter123.eu 1.2.3.4 ttl=300
=== RUN   TestDNSProviders/svenpeter123.eu/15:IDNA:Change_IDN
    integration_test.go:193: MODIFY A xn--ndaaa.svenpeter123.eu: (1.2.3.4 ttl=300) -> (2.2.2.2 ttl=300)
=== RUN   TestDNSProviders/svenpeter123.eu/15:IDNA:Internationalized_CNAME_Target
    integration_test.go:193: CREATE CNAME a.svenpeter123.eu xn--ndaaa.com. ttl=300
    integration_test.go:193: DELETE A xn--ndaaa.svenpeter123.eu 2.2.2.2 ttl=300
=== RUN   TestDNSProviders/svenpeter123.eu/Post_cleanup:Empty#10
    integration_test.go:193: DELETE CNAME a.svenpeter123.eu xn--ndaaa.com. ttl=300
=== RUN   TestDNSProviders/svenpeter123.eu/16:IDNAs_in_CNAME_targets:IDN_CNAME_AND_Target
    integration_test.go:193: CREATE CNAME xn--o-0gab.svenpeter123.eu xn--ndaaa.xn--vhquv. ttl=300
=== RUN   TestDNSProviders/svenpeter123.eu/Post_cleanup:Empty#11
    integration_test.go:193: DELETE CNAME xn--o-0gab.svenpeter123.eu xn--ndaaa.xn--vhquv. ttl=300
=== RUN   TestDNSProviders/svenpeter123.eu/17:pager101:99_records
    integration_test.go:193: CREATE A rec0000.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0001.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0002.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0003.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0004.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0005.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0006.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0007.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0008.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0009.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0010.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0011.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0012.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0013.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0014.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0015.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0016.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0017.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0018.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0019.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0020.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0021.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0022.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0023.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0024.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0025.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0026.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0027.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0028.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0029.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0030.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0031.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0032.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0033.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0034.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0035.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0036.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0037.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0038.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0039.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0040.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0041.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0042.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0043.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0044.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0045.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0046.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0047.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0048.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0049.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0050.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0051.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0052.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0053.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0054.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0055.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0056.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0057.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0058.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0059.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0060.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0061.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0062.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0063.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0064.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0065.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0066.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0067.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0068.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0069.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0070.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0071.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0072.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0073.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0074.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0075.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0076.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0077.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0078.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0079.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0080.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0081.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0082.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0083.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0084.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0085.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0086.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0087.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0088.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0089.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0090.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0091.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0092.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0093.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0094.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0095.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0096.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0097.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0098.svenpeter123.eu 1.2.3.4 ttl=300
=== RUN   TestDNSProviders/svenpeter123.eu/17:pager101:100_records
    integration_test.go:193: CREATE A rec0099.svenpeter123.eu 1.2.3.4 ttl=300
=== RUN   TestDNSProviders/svenpeter123.eu/17:pager101:101_records
    integration_test.go:193: CREATE A rec0100.svenpeter123.eu 1.2.3.4 ttl=300
=== RUN   TestDNSProviders/svenpeter123.eu/Post_cleanup:Empty#12
    integration_test.go:193: DELETE A rec0000.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0001.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0002.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0003.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0004.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0005.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0006.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0007.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0008.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0009.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0010.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0011.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0012.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0013.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0014.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0015.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0016.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0017.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0018.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0019.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0020.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0021.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0022.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0023.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0024.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0025.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0026.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0027.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0028.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0029.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0030.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0031.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0032.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0033.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0034.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0035.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0036.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0037.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0038.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0039.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0040.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0041.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0042.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0043.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0044.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0045.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0046.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0047.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0048.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0049.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0050.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0051.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0052.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0053.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0054.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0055.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0056.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0057.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0058.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0059.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0060.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0061.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0062.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0063.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0064.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0065.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0066.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0067.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0068.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0069.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0070.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0071.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0072.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0073.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0074.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0075.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0076.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0077.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0078.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0079.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0080.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0081.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0082.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0083.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0084.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0085.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0086.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0087.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0088.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0089.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0090.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0091.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0092.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0093.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0094.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0095.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0096.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0097.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0098.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0099.svenpeter123.eu 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0100.svenpeter123.eu 1.2.3.4 ttl=300
=== RUN   TestDNSProviders/svenpeter123.eu/18:pager601_***SKIPPED(disabled_by_only)***:Empty
=== RUN   TestDNSProviders/svenpeter123.eu/19:pager1201_***SKIPPED(disabled_by_only)***:Empty
=== RUN   TestDNSProviders/svenpeter123.eu/20:CAA:CAA_record
    integration_test.go:193: CREATE CAA svenpeter123.eu 0 issue "letsencrypt.org" ttl=300
=== RUN   TestDNSProviders/svenpeter123.eu/20:CAA:CAA_change_tag
    integration_test.go:193: MODIFY CAA svenpeter123.eu: (0 issue "letsencrypt.org" ttl=300) -> (0 issuewild "letsencrypt.org" ttl=300)
=== RUN   TestDNSProviders/svenpeter123.eu/20:CAA:CAA_change_target
    integration_test.go:193: MODIFY CAA svenpeter123.eu: (0 issuewild "letsencrypt.org" ttl=300) -> (0 issuewild "example.com" ttl=300)
=== RUN   TestDNSProviders/svenpeter123.eu/20:CAA:CAA_change_flag
    integration_test.go:193: MODIFY CAA svenpeter123.eu: (0 issuewild "example.com" ttl=300) -> (128 issuewild "example.com" ttl=300)
=== RUN   TestDNSProviders/svenpeter123.eu/20:CAA:CAA_many_records
    integration_test.go:193: CREATE CAA svenpeter123.eu 0 issuewild "comodoca.com" ttl=300
    integration_test.go:193: CREATE CAA svenpeter123.eu 128 iodef "mailto:test@example.com" ttl=300
    integration_test.go:193: MODIFY CAA svenpeter123.eu: (128 issuewild "example.com" ttl=300) -> (0 issue "letsencrypt.org" ttl=300)
=== RUN   TestDNSProviders/svenpeter123.eu/20:CAA:CAA_delete
    integration_test.go:193: DELETE CAA svenpeter123.eu 0 issuewild "comodoca.com" ttl=300
    integration_test.go:193: DELETE CAA svenpeter123.eu 128 iodef "mailto:test@example.com" ttl=300
=== RUN   TestDNSProviders/svenpeter123.eu/Post_cleanup:Empty#13
    integration_test.go:193: DELETE CAA svenpeter123.eu 0 issue "letsencrypt.org" ttl=300
=== RUN   TestDNSProviders/svenpeter123.eu/21:CAA_with_;:CAA_many_records
    integration_test.go:193: CREATE CAA svenpeter123.eu 0 issuewild ";" ttl=300
=== RUN   TestDNSProviders/svenpeter123.eu/Post_cleanup:Empty#14
    integration_test.go:193: DELETE CAA svenpeter123.eu 0 issuewild ";" ttl=300
=== RUN   TestDNSProviders/svenpeter123.eu/22:NAPTR:NAPTR_record
    integration_test.go:193: CREATE NAPTR test.svenpeter123.eu 100 10 "U" "E2U+sip" "!^.*$!sip:customer-service@example.com!" example.foo.com. ttl=300
=== RUN   TestDNSProviders/svenpeter123.eu/22:NAPTR:NAPTR_second_record
    integration_test.go:193: MODIFY NAPTR test.svenpeter123.eu: (100 10 "U" "E2U+sip" "!^.*$!sip:customer-service@example.com!" example.foo.com. ttl=300) -> (102 10 "U" "E2U+email" "!^.*$!mailto:information@example.com!" example.foo.com. ttl=300)
=== RUN   TestDNSProviders/svenpeter123.eu/22:NAPTR:NAPTR_delete_record
    integration_test.go:193: MODIFY NAPTR test.svenpeter123.eu: (102 10 "U" "E2U+email" "!^.*$!mailto:information@example.com!" example.foo.com. ttl=300) -> (100 10 "U" "E2U+email" "!^.*$!mailto:information@example.com!" example.foo.com. ttl=300)
=== RUN   TestDNSProviders/svenpeter123.eu/22:NAPTR:NAPTR_change_target
    integration_test.go:193: MODIFY NAPTR test.svenpeter123.eu: (100 10 "U" "E2U+email" "!^.*$!mailto:information@example.com!" example.foo.com. ttl=300) -> (100 10 "U" "E2U+email" "!^.*$!mailto:information@example.com!" example2.foo.com. ttl=300)
=== RUN   TestDNSProviders/svenpeter123.eu/22:NAPTR:NAPTR_change_order
    integration_test.go:193: MODIFY NAPTR test.svenpeter123.eu: (100 10 "U" "E2U+email" "!^.*$!mailto:information@example.com!" example2.foo.com. ttl=300) -> (103 10 "U" "E2U+email" "!^.*$!mailto:information@example.com!" example2.foo.com. ttl=300)
=== RUN   TestDNSProviders/svenpeter123.eu/22:NAPTR:NAPTR_change_preference
    integration_test.go:193: MODIFY NAPTR test.svenpeter123.eu: (103 10 "U" "E2U+email" "!^.*$!mailto:information@example.com!" example2.foo.com. ttl=300) -> (103 20 "U" "E2U+email" "!^.*$!mailto:information@example.com!" example2.foo.com. ttl=300)
=== RUN   TestDNSProviders/svenpeter123.eu/22:NAPTR:NAPTR_change_flags
    integration_test.go:193: MODIFY NAPTR test.svenpeter123.eu: (103 20 "U" "E2U+email" "!^.*$!mailto:information@example.com!" example2.foo.com. ttl=300) -> (103 20 "A" "E2U+email" "!^.*$!mailto:information@example.com!" example2.foo.com. ttl=300)
=== RUN   TestDNSProviders/svenpeter123.eu/22:NAPTR:NAPTR_change_service
    integration_test.go:193: MODIFY NAPTR test.svenpeter123.eu: (103 20 "A" "E2U+email" "!^.*$!mailto:information@example.com!" example2.foo.com. ttl=300) -> (103 20 "A" "E2U+sip" "!^.*$!mailto:information@example.com!" example2.foo.com. ttl=300)
=== RUN   TestDNSProviders/svenpeter123.eu/22:NAPTR:NAPTR_change_regexp
    integration_test.go:193: MODIFY NAPTR test.svenpeter123.eu: (103 20 "A" "E2U+sip" "!^.*$!mailto:information@example.com!" example2.foo.com. ttl=300) -> (103 20 "A" "E2U+sip" "!^.*$!sip:customer-service@example.com!" example2.foo.com. ttl=300)
=== RUN   TestDNSProviders/svenpeter123.eu/Post_cleanup:Empty#15
    integration_test.go:193: DELETE NAPTR test.svenpeter123.eu 103 20 "A" "E2U+sip" "!^.*$!sip:customer-service@example.com!" example2.foo.com. ttl=300
=== RUN   TestDNSProviders/svenpeter123.eu/23:PTR:Create_PTR_record
    integration_test.go:193: CREATE PTR 4.svenpeter123.eu foo.com. ttl=300
=== RUN   TestDNSProviders/svenpeter123.eu/23:PTR:Modify_PTR_record
    integration_test.go:193: MODIFY PTR 4.svenpeter123.eu: (foo.com. ttl=300) -> (bar.com. ttl=300)
=== RUN   TestDNSProviders/svenpeter123.eu/Post_cleanup:Empty#16
    integration_test.go:193: DELETE PTR 4.svenpeter123.eu bar.com. ttl=300
=== RUN   TestDNSProviders/svenpeter123.eu/24:SRV:SRV_record
    integration_test.go:193: CREATE SRV _sip._tcp.svenpeter123.eu 5 6 7 foo.com. ttl=300
=== RUN   TestDNSProviders/svenpeter123.eu/24:SRV:Second_SRV_record,_same_prio
    integration_test.go:193: CREATE SRV _sip._tcp.svenpeter123.eu 5 60 70 foo2.com. ttl=300
=== RUN   TestDNSProviders/svenpeter123.eu/24:SRV:3_SRV
    integration_test.go:193: CREATE SRV _sip._tcp.svenpeter123.eu 15 65 75 foo3.com. ttl=300
=== RUN   TestDNSProviders/svenpeter123.eu/24:SRV:Delete_one
    integration_test.go:193: DELETE SRV _sip._tcp.svenpeter123.eu 5 60 70 foo2.com. ttl=300
=== RUN   TestDNSProviders/svenpeter123.eu/24:SRV:Change_Target
    integration_test.go:193: MODIFY SRV _sip._tcp.svenpeter123.eu: (15 65 75 foo3.com. ttl=300) -> (15 65 75 foo4.com. ttl=300)
=== RUN   TestDNSProviders/svenpeter123.eu/24:SRV:Change_Priority
    integration_test.go:193: MODIFY SRV _sip._tcp.svenpeter123.eu: (5 6 7 foo.com. ttl=300) -> (52 6 7 foo.com. ttl=300)
=== RUN   TestDNSProviders/svenpeter123.eu/24:SRV:Change_Weight
    integration_test.go:193: MODIFY SRV _sip._tcp.svenpeter123.eu: (52 6 7 foo.com. ttl=300) -> (52 62 7 foo.com. ttl=300)
=== RUN   TestDNSProviders/svenpeter123.eu/24:SRV:Change_Port
    integration_test.go:193: MODIFY SRV _sip._tcp.svenpeter123.eu: (52 62 7 foo.com. ttl=300) -> (52 62 72 foo.com. ttl=300)
=== RUN   TestDNSProviders/svenpeter123.eu/Post_cleanup:Empty#17
    integration_test.go:193: DELETE SRV _sip._tcp.svenpeter123.eu 15 65 75 foo4.com. ttl=300
    integration_test.go:193: DELETE SRV _sip._tcp.svenpeter123.eu 52 62 72 foo.com. ttl=300
=== RUN   TestDNSProviders/svenpeter123.eu/25:SRV_w/_null_target_***SKIPPED(excluded_by_not("INWX"))***:Empty
=== RUN   TestDNSProviders/svenpeter123.eu/26:SSHFP:SSHFP_record
    integration_test.go:193: CREATE SSHFP svenpeter123.eu 1 1 66C7D5540B7D75A1FB4C84FEBFA178AD99BDD67C ttl=300
=== RUN   TestDNSProviders/svenpeter123.eu/26:SSHFP:SSHFP_change_algorithm
    integration_test.go:193: MODIFY SSHFP svenpeter123.eu: (1 1 66C7D5540B7D75A1FB4C84FEBFA178AD99BDD67C ttl=300) -> (2 1 66C7D5540B7D75A1FB4C84FEBFA178AD99BDD67C ttl=300)
=== RUN   TestDNSProviders/svenpeter123.eu/26:SSHFP:SSHFP_change_fingerprint_and_type
    integration_test.go:193: MODIFY SSHFP svenpeter123.eu: (2 1 66C7D5540B7D75A1FB4C84FEBFA178AD99BDD67C ttl=300) -> (2 2 745A635BC46A397A5C4F21D437483005BCC40D7511FF15FBFAFE913A081559BC ttl=300)
=== RUN   TestDNSProviders/svenpeter123.eu/26:SSHFP:SSHFP_Delete_one
    integration_test.go:193: DELETE SSHFP svenpeter123.eu 2 2 745A635BC46A397A5C4F21D437483005BCC40D7511FF15FBFAFE913A081559BC ttl=300
=== RUN   TestDNSProviders/svenpeter123.eu/26:SSHFP:SSHFP_add_many_records
    integration_test.go:193: CREATE SSHFP svenpeter123.eu 1 1 66666666666D75A1FB4C84FEBFA178AD99BDD67C ttl=300
    integration_test.go:193: CREATE SSHFP svenpeter123.eu 1 2 777777777777797A5C4F21D437483005BCC40D7511FF15FBFAFE913A081559BC ttl=300
    integration_test.go:193: CREATE SSHFP svenpeter123.eu 2 1 8888888888888888FB4C84FEBFA178AD99BDD67C ttl=300
=== RUN   TestDNSProviders/svenpeter123.eu/26:SSHFP:SSHFP_delete_two
    integration_test.go:193: DELETE SSHFP svenpeter123.eu 1 2 777777777777797A5C4F21D437483005BCC40D7511FF15FBFAFE913A081559BC ttl=300
    integration_test.go:193: DELETE SSHFP svenpeter123.eu 2 1 8888888888888888FB4C84FEBFA178AD99BDD67C ttl=300
=== RUN   TestDNSProviders/svenpeter123.eu/Post_cleanup:Empty#18
    integration_test.go:193: DELETE SSHFP svenpeter123.eu 1 1 66666666666D75A1FB4C84FEBFA178AD99BDD67C ttl=300
=== RUN   TestDNSProviders/svenpeter123.eu/27:TLSA:TLSA_record
    integration_test.go:193: CREATE TLSA _443._tcp.svenpeter123.eu 3 1 1 0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef ttl=300
=== RUN   TestDNSProviders/svenpeter123.eu/27:TLSA:TLSA_change_usage
    integration_test.go:193: MODIFY TLSA _443._tcp.svenpeter123.eu: (3 1 1 0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef ttl=300) -> (2 1 1 0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef ttl=300)
=== RUN   TestDNSProviders/svenpeter123.eu/27:TLSA:TLSA_change_selector
    integration_test.go:193: MODIFY TLSA _443._tcp.svenpeter123.eu: (2 1 1 0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef ttl=300) -> (2 0 1 0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef ttl=300)
=== RUN   TestDNSProviders/svenpeter123.eu/27:TLSA:TLSA_change_matchingtype
    integration_test.go:193: MODIFY TLSA _443._tcp.svenpeter123.eu: (2 0 1 0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef ttl=300) -> (2 0 2 0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef ttl=300)
=== RUN   TestDNSProviders/svenpeter123.eu/27:TLSA:TLSA_change_certificate
    integration_test.go:193: MODIFY TLSA _443._tcp.svenpeter123.eu: (2 0 2 0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef ttl=300) -> (2 0 2 fedcba9876543210fedcba9876543210fedcba9876543210fedcba9876543210fedcba9876543210fedcba9876543210fedcba9876543210fedcba9876543210 ttl=300)
=== RUN   TestDNSProviders/svenpeter123.eu/Post_cleanup:Empty#19
    integration_test.go:193: DELETE TLSA _443._tcp.svenpeter123.eu 2 0 2 fedcba9876543210fedcba9876543210fedcba9876543210fedcba9876543210fedcba9876543210fedcba9876543210fedcba9876543210fedcba9876543210 ttl=300
=== RUN   TestDNSProviders/svenpeter123.eu/28:TXTMulti:Create_TXTMulti_1
    integration_test.go:193: CREATE TXT foo1.svenpeter123.eu "simple" ttl=300
=== RUN   TestDNSProviders/svenpeter123.eu/28:TXTMulti:Create_TXTMulti_2
    integration_test.go:193: CREATE TXT foo2.svenpeter123.eu "one" "two" ttl=300
=== RUN   TestDNSProviders/svenpeter123.eu/28:TXTMulti:Create_TXTMulti_3
    integration_test.go:193: CREATE TXT foo3.svenpeter123.eu "eh" "bee" "cee" ttl=300
=== RUN   TestDNSProviders/svenpeter123.eu/28:TXTMulti:Change_TXTMulti
    integration_test.go:193: MODIFY TXT foo1.svenpeter123.eu: ("simple" ttl=300) -> ("dimple" ttl=300)
    integration_test.go:193: MODIFY TXT foo2.svenpeter123.eu: ("one" "two" ttl=300) -> ("fun" "two" ttl=300)
    integration_test.go:193: MODIFY TXT foo3.svenpeter123.eu: ("eh" "bee" "cee" ttl=300) -> ("eh" "bzz" "cee" ttl=300)
=== RUN   TestDNSProviders/svenpeter123.eu/28:TXTMulti:Long_TXTMulti
    integration_test.go:193: CREATE TXT foo4.svenpeter123.eu "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" "YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY" ttl=300
    integration_test.go:193: DELETE TXT foo1.svenpeter123.eu "dimple" ttl=300
    integration_test.go:193: DELETE TXT foo2.svenpeter123.eu "fun" "two" ttl=300
    integration_test.go:193: DELETE TXT foo3.svenpeter123.eu "eh" "bzz" "cee" ttl=300
=== RUN   TestDNSProviders/svenpeter123.eu/Post_cleanup:Empty#20
    integration_test.go:193: DELETE TXT foo4.svenpeter123.eu "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" "YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY" ttl=300
=== RUN   TestDNSProviders/svenpeter123.eu/29:TXTMulti_tests_that_break_DO:3x255-byte_TXTMulti
    integration_test.go:193: CREATE TXT foo3.svenpeter123.eu "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" "YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY" "ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ" ttl=300
=== RUN   TestDNSProviders/svenpeter123.eu/29:TXTMulti_tests_that_break_DO:Empty
    integration_test.go:193: DELETE TXT foo3.svenpeter123.eu "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" "YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY" "ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ" ttl=300
=== RUN   TestDNSProviders/svenpeter123.eu/29:TXTMulti_tests_that_break_DO:Create_TXTMulti_with_quotes
    integration_test.go:193: CREATE TXT foo1.svenpeter123.eu "simple" ttl=300
    integration_test.go:193: CREATE TXT foo2.svenpeter123.eu "o\"ne" "tw\"o" ttl=300
    integration_test.go:193: CREATE TXT foo3.svenpeter123.eu "eh" "bee" "cee" ttl=300
=== RUN   TestDNSProviders/svenpeter123.eu/29:TXTMulti_tests_that_break_DO:Change_TXTMulti
    integration_test.go:193: MODIFY TXT foo1.svenpeter123.eu: ("simple" ttl=300) -> ("dimple" ttl=300)
    integration_test.go:193: MODIFY TXT foo2.svenpeter123.eu: ("o\"ne" "tw\"o" ttl=300) -> ("fun" "t\"wo" ttl=300)
    integration_test.go:193: MODIFY TXT foo3.svenpeter123.eu: ("eh" "bee" "cee" ttl=300) -> ("eh" "bzz" "cee" ttl=300)
=== RUN   TestDNSProviders/svenpeter123.eu/Post_cleanup:Empty#21
    integration_test.go:193: DELETE TXT foo1.svenpeter123.eu "dimple" ttl=300
    integration_test.go:193: DELETE TXT foo2.svenpeter123.eu "fun" "t\"wo" ttl=300
    integration_test.go:193: DELETE TXT foo3.svenpeter123.eu "eh" "bzz" "cee" ttl=300
=== RUN   TestDNSProviders/svenpeter123.eu/30:DS_***SKIPPED(CanUseDS_not_supported)***:Empty
=== RUN   TestDNSProviders/svenpeter123.eu/31:DS_(children_only)_***SKIPPED(CanUseDSForChildren_not_supported)***:Empty
=== RUN   TestDNSProviders/svenpeter123.eu/32:DS_(children_only)_CLOUDNS_***SKIPPED(CanUseDSForChildren_not_supported)***:Empty
=== RUN   TestDNSProviders/svenpeter123.eu/33:ALIAS_***SKIPPED(CanUseAlias_not_supported)***:Empty
=== RUN   TestDNSProviders/svenpeter123.eu/34:AZURE_ALIAS_***SKIPPED(CanUseAzureAlias_not_supported)***:Empty
=== RUN   TestDNSProviders/svenpeter123.eu/35:R53_ALIAS2_***SKIPPED(CanUseRoute53Alias_not_supported)***:Empty
=== RUN   TestDNSProviders/svenpeter123.eu/36:R53_ALIAS_ORDER_***SKIPPED(CanUseRoute53Alias_not_supported)***:Empty
=== RUN   TestDNSProviders/svenpeter123.eu/37:CF_REDIRECT_***SKIPPED(disabled_by_only)***:Empty
--- PASS: TestDNSProviders (180.49s)
    --- PASS: TestDNSProviders/svenpeter123.eu (179.80s)
        --- PASS: TestDNSProviders/svenpeter123.eu/Clean_Slate:Empty (0.67s)
        --- PASS: TestDNSProviders/svenpeter123.eu/00:GeneralACD:Create_an_A_record (0.67s)
        --- PASS: TestDNSProviders/svenpeter123.eu/00:GeneralACD:Change_it (0.70s)
        --- PASS: TestDNSProviders/svenpeter123.eu/00:GeneralACD:Add_another (0.65s)
        --- PASS: TestDNSProviders/svenpeter123.eu/00:GeneralACD:Add_another(same_name) (0.69s)
        --- PASS: TestDNSProviders/svenpeter123.eu/00:GeneralACD:Change_a_ttl (0.68s)
        --- PASS: TestDNSProviders/svenpeter123.eu/00:GeneralACD:Change_single_target_from_set (0.70s)
        --- PASS: TestDNSProviders/svenpeter123.eu/00:GeneralACD:Change_all_ttls (1.13s)
        --- PASS: TestDNSProviders/svenpeter123.eu/00:GeneralACD:Delete_one (0.70s)
        --- PASS: TestDNSProviders/svenpeter123.eu/00:GeneralACD:Add_back_and_change_ttl (1.11s)
        --- PASS: TestDNSProviders/svenpeter123.eu/00:GeneralACD:Change_targets_and_ttls (0.97s)
        --- PASS: TestDNSProviders/svenpeter123.eu/Post_cleanup:Empty (0.69s)
        --- PASS: TestDNSProviders/svenpeter123.eu/01:WildcardACD:Create_wildcard (0.90s)
        --- PASS: TestDNSProviders/svenpeter123.eu/01:WildcardACD:Delete_wildcard (0.71s)
        --- PASS: TestDNSProviders/svenpeter123.eu/Post_cleanup:Empty#01 (1.45s)
        --- PASS: TestDNSProviders/svenpeter123.eu/02:CNAME:Create_a_CNAME (0.71s)
        --- PASS: TestDNSProviders/svenpeter123.eu/02:CNAME:Change_CNAME_target (0.65s)
        --- PASS: TestDNSProviders/svenpeter123.eu/02:CNAME:Empty (0.47s)
        --- PASS: TestDNSProviders/svenpeter123.eu/02:CNAME:Record_pointing_to_@ (0.70s)
        --- PASS: TestDNSProviders/svenpeter123.eu/Post_cleanup:Empty#02 (0.45s)
        --- PASS: TestDNSProviders/svenpeter123.eu/03:MX:MX_record (0.65s)
        --- PASS: TestDNSProviders/svenpeter123.eu/03:MX:Second_MX_record,_same_prio (1.68s)
        --- PASS: TestDNSProviders/svenpeter123.eu/03:MX:3_MX (0.69s)
        --- PASS: TestDNSProviders/svenpeter123.eu/03:MX:Delete_one (0.69s)
        --- PASS: TestDNSProviders/svenpeter123.eu/03:MX:Change_to_other_name (0.90s)
        --- PASS: TestDNSProviders/svenpeter123.eu/03:MX:Change_Preference (1.69s)
        --- PASS: TestDNSProviders/svenpeter123.eu/03:MX:Record_pointing_to_@ (1.17s)
        --- PASS: TestDNSProviders/svenpeter123.eu/Post_cleanup:Empty#03 (0.41s)
        --- PASS: TestDNSProviders/svenpeter123.eu/04:Null_MX_***SKIPPED(excluded_by_not("INWX"))***:Empty (0.19s)
        --- PASS: TestDNSProviders/svenpeter123.eu/05:NS:NS_for_subdomain (0.68s)
        --- PASS: TestDNSProviders/svenpeter123.eu/05:NS:Dual_NS_for_subdomain (0.68s)
        --- PASS: TestDNSProviders/svenpeter123.eu/05:NS:NS_Record_pointing_to_@ (1.38s)
        --- PASS: TestDNSProviders/svenpeter123.eu/Post_cleanup:Empty#04 (0.73s)
        --- PASS: TestDNSProviders/svenpeter123.eu/06:IGNORE_NAME_function:Create_some_records (1.92s)
        --- PASS: TestDNSProviders/svenpeter123.eu/06:IGNORE_NAME_function:Add_a_new_record_-_ignoring_foo (0.69s)
        --- PASS: TestDNSProviders/svenpeter123.eu/06:IGNORE_NAME_function:Empty (0.89s)
        --- PASS: TestDNSProviders/svenpeter123.eu/06:IGNORE_NAME_function:Create_some_records#01 (0.99s)
        --- PASS: TestDNSProviders/svenpeter123.eu/06:IGNORE_NAME_function:Add_a_new_record_-_ignoring_*.foo (0.70s)
        --- PASS: TestDNSProviders/svenpeter123.eu/Post_cleanup:Empty#05 (0.96s)
        --- PASS: TestDNSProviders/svenpeter123.eu/07:IGNORE_TARGET_function:Create_some_records (1.91s)
        --- PASS: TestDNSProviders/svenpeter123.eu/07:IGNORE_TARGET_function:Add_a_new_record_-_ignoring_test.foo.com. (0.63s)
        --- PASS: TestDNSProviders/svenpeter123.eu/07:IGNORE_TARGET_function:Empty (0.68s)
        --- PASS: TestDNSProviders/svenpeter123.eu/07:IGNORE_TARGET_function:Create_some_records#01 (0.90s)
        --- PASS: TestDNSProviders/svenpeter123.eu/07:IGNORE_TARGET_function:Add_a_new_record_-_ignoring_**.foo.com._targets (0.95s)
        --- PASS: TestDNSProviders/svenpeter123.eu/Post_cleanup:Empty#06 (1.69s)
        --- PASS: TestDNSProviders/svenpeter123.eu/08:single_TXT:Create_a_TXT (0.67s)
        --- PASS: TestDNSProviders/svenpeter123.eu/08:single_TXT:Change_a_TXT (0.69s)
        --- PASS: TestDNSProviders/svenpeter123.eu/08:single_TXT:Empty (0.46s)
        --- PASS: TestDNSProviders/svenpeter123.eu/08:single_TXT:Create_a_TXT_with_spaces (2.71s)
        --- PASS: TestDNSProviders/svenpeter123.eu/08:single_TXT:Create_1_TXT_as_array (0.69s)
        --- PASS: TestDNSProviders/svenpeter123.eu/08:single_TXT:Empty#01 (0.45s)
        --- PASS: TestDNSProviders/svenpeter123.eu/08:single_TXT:Create_a_254-byte_TXT (0.67s)
        --- PASS: TestDNSProviders/svenpeter123.eu/Post_cleanup:Empty#07 (0.46s)
        --- PASS: TestDNSProviders/svenpeter123.eu/09:max-sized_TXT_***SKIPPED(excluded_by_not("INWX"))***:Empty (0.25s)
        --- PASS: TestDNSProviders/svenpeter123.eu/10:single_TXT_with_single-quote_***SKIPPED(excluded_by_not("INWX"))***:Empty (1.27s)
        --- PASS: TestDNSProviders/svenpeter123.eu/11:ws_TXT_***SKIPPED(excluded_by_not("INWX"))***:Empty (0.23s)
        --- PASS: TestDNSProviders/svenpeter123.eu/12:empty_TXT_***SKIPPED(excluded_by_not("INWX"))***:Empty (0.22s)
        --- PASS: TestDNSProviders/svenpeter123.eu/13:TypeChange:Create_a_CNAME (0.68s)
        --- PASS: TestDNSProviders/svenpeter123.eu/13:TypeChange:Change_to_A_record (3.07s)
        --- PASS: TestDNSProviders/svenpeter123.eu/13:TypeChange:Change_back_to_CNAME (0.90s)
        --- PASS: TestDNSProviders/svenpeter123.eu/Post_cleanup:Empty#08 (0.44s)
        --- PASS: TestDNSProviders/svenpeter123.eu/14:Case_Sensitivity:Create_CAPS (0.66s)
        --- PASS: TestDNSProviders/svenpeter123.eu/14:Case_Sensitivity:Downcase_label (0.69s)
        --- PASS: TestDNSProviders/svenpeter123.eu/14:Case_Sensitivity:Downcase_target (0.68s)
        --- PASS: TestDNSProviders/svenpeter123.eu/14:Case_Sensitivity:Upcase_both (1.71s)
        --- PASS: TestDNSProviders/svenpeter123.eu/Post_cleanup:Empty#09 (0.70s)
        --- PASS: TestDNSProviders/svenpeter123.eu/15:IDNA:Internationalized_name (0.66s)
        --- PASS: TestDNSProviders/svenpeter123.eu/15:IDNA:Change_IDN (0.64s)
        --- PASS: TestDNSProviders/svenpeter123.eu/15:IDNA:Internationalized_CNAME_Target (0.93s)
        --- PASS: TestDNSProviders/svenpeter123.eu/Post_cleanup:Empty#10 (0.46s)
        --- PASS: TestDNSProviders/svenpeter123.eu/16:IDNAs_in_CNAME_targets:IDN_CNAME_AND_Target (0.69s)
        --- PASS: TestDNSProviders/svenpeter123.eu/Post_cleanup:Empty#11 (0.45s)
        --- PASS: TestDNSProviders/svenpeter123.eu/17:pager101:99_records (30.65s)
        --- PASS: TestDNSProviders/svenpeter123.eu/17:pager101:100_records (1.80s)
        --- PASS: TestDNSProviders/svenpeter123.eu/17:pager101:101_records (0.73s)
        --- PASS: TestDNSProviders/svenpeter123.eu/Post_cleanup:Empty#12 (30.51s)
        --- PASS: TestDNSProviders/svenpeter123.eu/18:pager601_***SKIPPED(disabled_by_only)***:Empty (0.25s)
        --- PASS: TestDNSProviders/svenpeter123.eu/19:pager1201_***SKIPPED(disabled_by_only)***:Empty (0.22s)
        --- PASS: TestDNSProviders/svenpeter123.eu/20:CAA:CAA_record (0.74s)
        --- PASS: TestDNSProviders/svenpeter123.eu/20:CAA:CAA_change_tag (0.69s)
        --- PASS: TestDNSProviders/svenpeter123.eu/20:CAA:CAA_change_target (0.67s)
        --- PASS: TestDNSProviders/svenpeter123.eu/20:CAA:CAA_change_flag (1.71s)
        --- PASS: TestDNSProviders/svenpeter123.eu/20:CAA:CAA_many_records (1.15s)
        --- PASS: TestDNSProviders/svenpeter123.eu/20:CAA:CAA_delete (0.90s)
        --- PASS: TestDNSProviders/svenpeter123.eu/Post_cleanup:Empty#13 (0.46s)
        --- PASS: TestDNSProviders/svenpeter123.eu/21:CAA_with_;:CAA_many_records (0.69s)
        --- PASS: TestDNSProviders/svenpeter123.eu/Post_cleanup:Empty#14 (0.45s)
        --- PASS: TestDNSProviders/svenpeter123.eu/22:NAPTR:NAPTR_record (1.71s)
        --- PASS: TestDNSProviders/svenpeter123.eu/22:NAPTR:NAPTR_second_record (0.69s)
        --- PASS: TestDNSProviders/svenpeter123.eu/22:NAPTR:NAPTR_delete_record (0.67s)
        --- PASS: TestDNSProviders/svenpeter123.eu/22:NAPTR:NAPTR_change_target (0.68s)
        --- PASS: TestDNSProviders/svenpeter123.eu/22:NAPTR:NAPTR_change_order (1.70s)
        --- PASS: TestDNSProviders/svenpeter123.eu/22:NAPTR:NAPTR_change_preference (0.67s)
        --- PASS: TestDNSProviders/svenpeter123.eu/22:NAPTR:NAPTR_change_flags (0.68s)
        --- PASS: TestDNSProviders/svenpeter123.eu/22:NAPTR:NAPTR_change_service (0.69s)
        --- PASS: TestDNSProviders/svenpeter123.eu/22:NAPTR:NAPTR_change_regexp (0.67s)
        --- PASS: TestDNSProviders/svenpeter123.eu/Post_cleanup:Empty#15 (0.46s)
        --- PASS: TestDNSProviders/svenpeter123.eu/23:PTR:Create_PTR_record (0.67s)
        --- PASS: TestDNSProviders/svenpeter123.eu/23:PTR:Modify_PTR_record (0.69s)
        --- PASS: TestDNSProviders/svenpeter123.eu/Post_cleanup:Empty#16 (0.40s)
        --- PASS: TestDNSProviders/svenpeter123.eu/24:SRV:SRV_record (0.70s)
        --- PASS: TestDNSProviders/svenpeter123.eu/24:SRV:Second_SRV_record,_same_prio (0.69s)
        --- PASS: TestDNSProviders/svenpeter123.eu/24:SRV:3_SRV (0.67s)
        --- PASS: TestDNSProviders/svenpeter123.eu/24:SRV:Delete_one (0.71s)
        --- PASS: TestDNSProviders/svenpeter123.eu/24:SRV:Change_Target (0.68s)
        --- PASS: TestDNSProviders/svenpeter123.eu/24:SRV:Change_Priority (0.72s)
        --- PASS: TestDNSProviders/svenpeter123.eu/24:SRV:Change_Weight (0.71s)
        --- PASS: TestDNSProviders/svenpeter123.eu/24:SRV:Change_Port (3.77s)
        --- PASS: TestDNSProviders/svenpeter123.eu/Post_cleanup:Empty#17 (0.69s)
        --- PASS: TestDNSProviders/svenpeter123.eu/25:SRV_w/_null_target_***SKIPPED(excluded_by_not("INWX"))***:Empty (0.23s)
        --- PASS: TestDNSProviders/svenpeter123.eu/26:SSHFP:SSHFP_record (0.67s)
        --- PASS: TestDNSProviders/svenpeter123.eu/26:SSHFP:SSHFP_change_algorithm (0.67s)
        --- PASS: TestDNSProviders/svenpeter123.eu/26:SSHFP:SSHFP_change_fingerprint_and_type (0.69s)
        --- PASS: TestDNSProviders/svenpeter123.eu/26:SSHFP:SSHFP_Delete_one (0.45s)
        --- PASS: TestDNSProviders/svenpeter123.eu/26:SSHFP:SSHFP_add_many_records (1.15s)
        --- PASS: TestDNSProviders/svenpeter123.eu/26:SSHFP:SSHFP_delete_two (1.93s)
        --- PASS: TestDNSProviders/svenpeter123.eu/Post_cleanup:Empty#18 (0.46s)
        --- PASS: TestDNSProviders/svenpeter123.eu/27:TLSA:TLSA_record (0.64s)
        --- PASS: TestDNSProviders/svenpeter123.eu/27:TLSA:TLSA_change_usage (0.67s)
        --- PASS: TestDNSProviders/svenpeter123.eu/27:TLSA:TLSA_change_selector (1.67s)
        --- PASS: TestDNSProviders/svenpeter123.eu/27:TLSA:TLSA_change_matchingtype (1.71s)
        --- PASS: TestDNSProviders/svenpeter123.eu/27:TLSA:TLSA_change_certificate (0.71s)
        --- PASS: TestDNSProviders/svenpeter123.eu/Post_cleanup:Empty#19 (0.45s)
        --- PASS: TestDNSProviders/svenpeter123.eu/28:TXTMulti:Create_TXTMulti_1 (0.83s)
        --- PASS: TestDNSProviders/svenpeter123.eu/28:TXTMulti:Create_TXTMulti_2 (0.69s)
        --- PASS: TestDNSProviders/svenpeter123.eu/28:TXTMulti:Create_TXTMulti_3 (0.70s)
        --- PASS: TestDNSProviders/svenpeter123.eu/28:TXTMulti:Change_TXTMulti (2.15s)
        --- PASS: TestDNSProviders/svenpeter123.eu/28:TXTMulti:Long_TXTMulti (1.39s)
        --- PASS: TestDNSProviders/svenpeter123.eu/Post_cleanup:Empty#20 (0.45s)
        --- PASS: TestDNSProviders/svenpeter123.eu/29:TXTMulti_tests_that_break_DO:3x255-byte_TXTMulti (0.64s)
        --- PASS: TestDNSProviders/svenpeter123.eu/29:TXTMulti_tests_that_break_DO:Empty (1.49s)
        --- PASS: TestDNSProviders/svenpeter123.eu/29:TXTMulti_tests_that_break_DO:Create_TXTMulti_with_quotes (2.11s)
        --- PASS: TestDNSProviders/svenpeter123.eu/29:TXTMulti_tests_that_break_DO:Change_TXTMulti (1.18s)
        --- PASS: TestDNSProviders/svenpeter123.eu/Post_cleanup:Empty#21 (0.93s)
        --- PASS: TestDNSProviders/svenpeter123.eu/30:DS_***SKIPPED(CanUseDS_not_supported)***:Empty (0.22s)
        --- PASS: TestDNSProviders/svenpeter123.eu/31:DS_(children_only)_***SKIPPED(CanUseDSForChildren_not_supported)***:Empty (0.23s)
        --- PASS: TestDNSProviders/svenpeter123.eu/32:DS_(children_only)_CLOUDNS_***SKIPPED(CanUseDSForChildren_not_supported)***:Empty (0.23s)
        --- PASS: TestDNSProviders/svenpeter123.eu/33:ALIAS_***SKIPPED(CanUseAlias_not_supported)***:Empty (0.22s)
        --- PASS: TestDNSProviders/svenpeter123.eu/34:AZURE_ALIAS_***SKIPPED(CanUseAzureAlias_not_supported)***:Empty (0.23s)
        --- PASS: TestDNSProviders/svenpeter123.eu/35:R53_ALIAS2_***SKIPPED(CanUseRoute53Alias_not_supported)***:Empty (0.23s)
        --- PASS: TestDNSProviders/svenpeter123.eu/36:R53_ALIAS_ORDER_***SKIPPED(CanUseRoute53Alias_not_supported)***:Empty (0.23s)
        --- PASS: TestDNSProviders/svenpeter123.eu/37:CF_REDIRECT_***SKIPPED(disabled_by_only)***:Empty (0.20s)
=== RUN   TestDualProviders
    integration_test.go:290: Clearing everything
    integration_test.go:296: Adding nameservers from another provider
    integration_test.go:284: #1: CREATE NS svenpeter123.eu ns1.example.com. ttl=300
    integration_test.go:284: #2: CREATE NS svenpeter123.eu ns2.example.com. ttl=300
    integration_test.go:299: Running again to ensure stability
--- PASS: TestDualProviders (1.43s)
PASS
ok  	github.com/StackExchange/dnscontrol/v3/integrationTest	181.938s
```
tlimoncelli: > inwx seems to work just fine, I can't click the checkbox though :)

Ah, I hadn't realized that the checkboxes didn't work that way.  I've updated the instructions and checked the INWX box for ya.

Thanks for the fast response!
das7pad: Hi! Thanks for the ping.
The tests are not passing for the Hetzner provider, but the failure is identical on master. Two `TXTMulti` test cases fail, likely since enabling them via #963. I can have a look at the failures today.
This PR is not making things worse, so OK to proceed from my side.

<details>
<summary> This PR </summary>

```
=== RUN   TestDNSProviders
--- FAIL: TestDNSProviders (912.58s)
=== RUN   TestDNSProviders/testing1.dev
    --- FAIL: TestDNSProviders/testing1.dev (912.58s)
=== RUN   TestDNSProviders/testing1.dev/Clean_Slate:Empty
        --- PASS: TestDNSProviders/testing1.dev/Clean_Slate:Empty (1.85s)
=== RUN   TestDNSProviders/testing1.dev/00:GeneralACD:Create_an_A_record
        --- PASS: TestDNSProviders/testing1.dev/00:GeneralACD:Create_an_A_record (6.05s)
=== RUN   TestDNSProviders/testing1.dev/00:GeneralACD:Change_it
        --- PASS: TestDNSProviders/testing1.dev/00:GeneralACD:Change_it (5.63s)
=== RUN   TestDNSProviders/testing1.dev/00:GeneralACD:Add_another
        --- PASS: TestDNSProviders/testing1.dev/00:GeneralACD:Add_another (6.10s)
=== RUN   TestDNSProviders/testing1.dev/00:GeneralACD:Add_another(same_name)
        --- PASS: TestDNSProviders/testing1.dev/00:GeneralACD:Add_another(same_name) (6.29s)
=== RUN   TestDNSProviders/testing1.dev/00:GeneralACD:Change_a_ttl
        --- PASS: TestDNSProviders/testing1.dev/00:GeneralACD:Change_a_ttl (5.65s)
=== RUN   TestDNSProviders/testing1.dev/00:GeneralACD:Change_single_target_from_set
        --- PASS: TestDNSProviders/testing1.dev/00:GeneralACD:Change_single_target_from_set (5.63s)
=== RUN   TestDNSProviders/testing1.dev/00:GeneralACD:Change_all_ttls
        --- PASS: TestDNSProviders/testing1.dev/00:GeneralACD:Change_all_ttls (5.67s)
=== RUN   TestDNSProviders/testing1.dev/00:GeneralACD:Delete_one
        --- PASS: TestDNSProviders/testing1.dev/00:GeneralACD:Delete_one (6.19s)
=== RUN   TestDNSProviders/testing1.dev/00:GeneralACD:Add_back_and_change_ttl
        --- PASS: TestDNSProviders/testing1.dev/00:GeneralACD:Add_back_and_change_ttl (10.50s)
=== RUN   TestDNSProviders/testing1.dev/00:GeneralACD:Change_targets_and_ttls
        --- PASS: TestDNSProviders/testing1.dev/00:GeneralACD:Change_targets_and_ttls (5.65s)
=== RUN   TestDNSProviders/testing1.dev/Post_cleanup:Empty
        --- PASS: TestDNSProviders/testing1.dev/Post_cleanup:Empty (6.85s)
=== RUN   TestDNSProviders/testing1.dev/01:WildcardACD:Create_wildcard
        --- PASS: TestDNSProviders/testing1.dev/01:WildcardACD:Create_wildcard (6.28s)
=== RUN   TestDNSProviders/testing1.dev/01:WildcardACD:Delete_wildcard
        --- PASS: TestDNSProviders/testing1.dev/01:WildcardACD:Delete_wildcard (6.24s)
=== RUN   TestDNSProviders/testing1.dev/Post_cleanup:Empty#01
        --- PASS: TestDNSProviders/testing1.dev/Post_cleanup:Empty#01 (4.37s)
=== RUN   TestDNSProviders/testing1.dev/02:CNAME:Create_a_CNAME
        --- PASS: TestDNSProviders/testing1.dev/02:CNAME:Create_a_CNAME (6.13s)
=== RUN   TestDNSProviders/testing1.dev/02:CNAME:Change_CNAME_target
        --- PASS: TestDNSProviders/testing1.dev/02:CNAME:Change_CNAME_target (5.07s)
=== RUN   TestDNSProviders/testing1.dev/02:CNAME:Empty
        --- PASS: TestDNSProviders/testing1.dev/02:CNAME:Empty (4.36s)
=== RUN   TestDNSProviders/testing1.dev/02:CNAME:Record_pointing_to_@
        --- PASS: TestDNSProviders/testing1.dev/02:CNAME:Record_pointing_to_@ (6.18s)
=== RUN   TestDNSProviders/testing1.dev/Post_cleanup:Empty#02
        --- PASS: TestDNSProviders/testing1.dev/Post_cleanup:Empty#02 (4.36s)
=== RUN   TestDNSProviders/testing1.dev/03:MX:MX_record
        --- PASS: TestDNSProviders/testing1.dev/03:MX:MX_record (6.28s)
=== RUN   TestDNSProviders/testing1.dev/03:MX:Second_MX_record,_same_prio
        --- PASS: TestDNSProviders/testing1.dev/03:MX:Second_MX_record,_same_prio (6.15s)
=== RUN   TestDNSProviders/testing1.dev/03:MX:3_MX
        --- PASS: TestDNSProviders/testing1.dev/03:MX:3_MX (6.19s)
=== RUN   TestDNSProviders/testing1.dev/03:MX:Delete_one
        --- PASS: TestDNSProviders/testing1.dev/03:MX:Delete_one (6.20s)
=== RUN   TestDNSProviders/testing1.dev/03:MX:Change_to_other_name
        --- PASS: TestDNSProviders/testing1.dev/03:MX:Change_to_other_name (8.48s)
=== RUN   TestDNSProviders/testing1.dev/03:MX:Change_Preference
        --- PASS: TestDNSProviders/testing1.dev/03:MX:Change_Preference (5.63s)
=== RUN   TestDNSProviders/testing1.dev/03:MX:Record_pointing_to_@
        --- PASS: TestDNSProviders/testing1.dev/03:MX:Record_pointing_to_@ (11.06s)
=== RUN   TestDNSProviders/testing1.dev/Post_cleanup:Empty#03
        --- PASS: TestDNSProviders/testing1.dev/Post_cleanup:Empty#03 (4.27s)
=== RUN   TestDNSProviders/testing1.dev/04:Null_MX:Null_MX
        --- PASS: TestDNSProviders/testing1.dev/04:Null_MX:Null_MX (6.17s)
=== RUN   TestDNSProviders/testing1.dev/Post_cleanup:Empty#04
        --- PASS: TestDNSProviders/testing1.dev/Post_cleanup:Empty#04 (4.38s)
=== RUN   TestDNSProviders/testing1.dev/05:NS:NS_for_subdomain
        --- PASS: TestDNSProviders/testing1.dev/05:NS:NS_for_subdomain (6.12s)
=== RUN   TestDNSProviders/testing1.dev/05:NS:Dual_NS_for_subdomain
        --- PASS: TestDNSProviders/testing1.dev/05:NS:Dual_NS_for_subdomain (6.21s)
=== RUN   TestDNSProviders/testing1.dev/05:NS:NS_Record_pointing_to_@
        --- PASS: TestDNSProviders/testing1.dev/05:NS:NS_Record_pointing_to_@ (11.06s)
=== RUN   TestDNSProviders/testing1.dev/Post_cleanup:Empty#05
        --- PASS: TestDNSProviders/testing1.dev/Post_cleanup:Empty#05 (6.81s)
=== RUN   TestDNSProviders/testing1.dev/06:IGNORE_NAME_function:Create_some_records
        --- PASS: TestDNSProviders/testing1.dev/06:IGNORE_NAME_function:Create_some_records (6.28s)
=== RUN   TestDNSProviders/testing1.dev/06:IGNORE_NAME_function:Add_a_new_record_-_ignoring_foo
        --- PASS: TestDNSProviders/testing1.dev/06:IGNORE_NAME_function:Add_a_new_record_-_ignoring_foo (6.07s)
=== RUN   TestDNSProviders/testing1.dev/06:IGNORE_NAME_function:Empty
        --- PASS: TestDNSProviders/testing1.dev/06:IGNORE_NAME_function:Empty (9.25s)
=== RUN   TestDNSProviders/testing1.dev/06:IGNORE_NAME_function:Create_some_records#01
        --- PASS: TestDNSProviders/testing1.dev/06:IGNORE_NAME_function:Create_some_records#01 (6.17s)
=== RUN   TestDNSProviders/testing1.dev/06:IGNORE_NAME_function:Add_a_new_record_-_ignoring_*.foo
        --- PASS: TestDNSProviders/testing1.dev/06:IGNORE_NAME_function:Add_a_new_record_-_ignoring_*.foo (6.15s)
=== RUN   TestDNSProviders/testing1.dev/Post_cleanup:Empty#06
        --- PASS: TestDNSProviders/testing1.dev/Post_cleanup:Empty#06 (8.36s)
=== RUN   TestDNSProviders/testing1.dev/07:IGNORE_TARGET_function:Create_some_records
        --- PASS: TestDNSProviders/testing1.dev/07:IGNORE_TARGET_function:Create_some_records (6.27s)
=== RUN   TestDNSProviders/testing1.dev/07:IGNORE_TARGET_function:Add_a_new_record_-_ignoring_test.foo.com.
        --- PASS: TestDNSProviders/testing1.dev/07:IGNORE_TARGET_function:Add_a_new_record_-_ignoring_test.foo.com. (5.67s)
=== RUN   TestDNSProviders/testing1.dev/07:IGNORE_TARGET_function:Empty
        --- PASS: TestDNSProviders/testing1.dev/07:IGNORE_TARGET_function:Empty (6.79s)
=== RUN   TestDNSProviders/testing1.dev/07:IGNORE_TARGET_function:Create_some_records#01
        --- PASS: TestDNSProviders/testing1.dev/07:IGNORE_TARGET_function:Create_some_records#01 (6.18s)
=== RUN   TestDNSProviders/testing1.dev/07:IGNORE_TARGET_function:Add_a_new_record_-_ignoring_**.foo.com._targets
        --- PASS: TestDNSProviders/testing1.dev/07:IGNORE_TARGET_function:Add_a_new_record_-_ignoring_**.foo.com._targets (8.92s)
=== RUN   TestDNSProviders/testing1.dev/Post_cleanup:Empty#07
        --- PASS: TestDNSProviders/testing1.dev/Post_cleanup:Empty#07 (6.81s)
=== RUN   TestDNSProviders/testing1.dev/08:single_TXT:Create_a_TXT
        --- PASS: TestDNSProviders/testing1.dev/08:single_TXT:Create_a_TXT (6.28s)
=== RUN   TestDNSProviders/testing1.dev/08:single_TXT:Change_a_TXT
        --- PASS: TestDNSProviders/testing1.dev/08:single_TXT:Change_a_TXT (5.64s)
=== RUN   TestDNSProviders/testing1.dev/08:single_TXT:Empty
        --- PASS: TestDNSProviders/testing1.dev/08:single_TXT:Empty (4.26s)
=== RUN   TestDNSProviders/testing1.dev/08:single_TXT:Create_a_TXT_with_spaces
        --- PASS: TestDNSProviders/testing1.dev/08:single_TXT:Create_a_TXT_with_spaces (6.22s)
=== RUN   TestDNSProviders/testing1.dev/08:single_TXT:Create_1_TXT_as_array
        --- PASS: TestDNSProviders/testing1.dev/08:single_TXT:Create_1_TXT_as_array (5.65s)
=== RUN   TestDNSProviders/testing1.dev/08:single_TXT:Empty#01
        --- PASS: TestDNSProviders/testing1.dev/08:single_TXT:Empty#01 (4.40s)
=== RUN   TestDNSProviders/testing1.dev/08:single_TXT:Create_a_254-byte_TXT
        --- PASS: TestDNSProviders/testing1.dev/08:single_TXT:Create_a_254-byte_TXT (6.18s)
=== RUN   TestDNSProviders/testing1.dev/Post_cleanup:Empty#08
        --- PASS: TestDNSProviders/testing1.dev/Post_cleanup:Empty#08 (4.46s)
=== RUN   TestDNSProviders/testing1.dev/09:max-sized_TXT:Create_a_255-byte_TXT
        --- PASS: TestDNSProviders/testing1.dev/09:max-sized_TXT:Create_a_255-byte_TXT (6.29s)
=== RUN   TestDNSProviders/testing1.dev/Post_cleanup:Empty#09
        --- PASS: TestDNSProviders/testing1.dev/Post_cleanup:Empty#09 (4.36s)
=== RUN   TestDNSProviders/testing1.dev/10:single_TXT_with_single-quote:Create_TXT_with_single-quote
        --- PASS: TestDNSProviders/testing1.dev/10:single_TXT_with_single-quote:Create_TXT_with_single-quote (6.17s)
=== RUN   TestDNSProviders/testing1.dev/Post_cleanup:Empty#10
        --- PASS: TestDNSProviders/testing1.dev/Post_cleanup:Empty#10 (4.27s)
=== RUN   TestDNSProviders/testing1.dev/11:ws_TXT:Change_a_TXT_with_ws_at_end
        --- PASS: TestDNSProviders/testing1.dev/11:ws_TXT:Change_a_TXT_with_ws_at_end (6.16s)
=== RUN   TestDNSProviders/testing1.dev/Post_cleanup:Empty#11
        --- PASS: TestDNSProviders/testing1.dev/Post_cleanup:Empty#11 (4.28s)
=== RUN   TestDNSProviders/testing1.dev/12:empty_TXT_***SKIPPED(excluded_by_not("HETZNER"))***:Empty
        --- PASS: TestDNSProviders/testing1.dev/12:empty_TXT_***SKIPPED(excluded_by_not("HETZNER"))***:Empty (1.86s)
=== RUN   TestDNSProviders/testing1.dev/13:TypeChange:Create_a_CNAME
        --- PASS: TestDNSProviders/testing1.dev/13:TypeChange:Create_a_CNAME (6.27s)
=== RUN   TestDNSProviders/testing1.dev/13:TypeChange:Change_to_A_record
        --- PASS: TestDNSProviders/testing1.dev/13:TypeChange:Change_to_A_record (8.70s)
=== RUN   TestDNSProviders/testing1.dev/13:TypeChange:Change_back_to_CNAME
        --- PASS: TestDNSProviders/testing1.dev/13:TypeChange:Change_back_to_CNAME (8.70s)
=== RUN   TestDNSProviders/testing1.dev/Post_cleanup:Empty#12
        --- PASS: TestDNSProviders/testing1.dev/Post_cleanup:Empty#12 (4.37s)
=== RUN   TestDNSProviders/testing1.dev/14:Case_Sensitivity:Create_CAPS
        --- PASS: TestDNSProviders/testing1.dev/14:Case_Sensitivity:Create_CAPS (6.17s)
=== RUN   TestDNSProviders/testing1.dev/14:Case_Sensitivity:Downcase_label
        --- PASS: TestDNSProviders/testing1.dev/14:Case_Sensitivity:Downcase_label (6.15s)
=== RUN   TestDNSProviders/testing1.dev/14:Case_Sensitivity:Downcase_target
        --- PASS: TestDNSProviders/testing1.dev/14:Case_Sensitivity:Downcase_target (5.62s)
=== RUN   TestDNSProviders/testing1.dev/14:Case_Sensitivity:Upcase_both
        --- PASS: TestDNSProviders/testing1.dev/14:Case_Sensitivity:Upcase_both (5.65s)
=== RUN   TestDNSProviders/testing1.dev/Post_cleanup:Empty#13
        --- PASS: TestDNSProviders/testing1.dev/Post_cleanup:Empty#13 (6.61s)
=== RUN   TestDNSProviders/testing1.dev/15:IDNA:Internationalized_name
        --- PASS: TestDNSProviders/testing1.dev/15:IDNA:Internationalized_name (6.16s)
=== RUN   TestDNSProviders/testing1.dev/15:IDNA:Change_IDN
        --- PASS: TestDNSProviders/testing1.dev/15:IDNA:Change_IDN (4.84s)
=== RUN   TestDNSProviders/testing1.dev/15:IDNA:Internationalized_CNAME_Target
        --- PASS: TestDNSProviders/testing1.dev/15:IDNA:Internationalized_CNAME_Target (8.59s)
=== RUN   TestDNSProviders/testing1.dev/Post_cleanup:Empty#14
        --- PASS: TestDNSProviders/testing1.dev/Post_cleanup:Empty#14 (4.36s)
=== RUN   TestDNSProviders/testing1.dev/16:IDNAs_in_CNAME_targets:IDN_CNAME_AND_Target
        --- PASS: TestDNSProviders/testing1.dev/16:IDNAs_in_CNAME_targets:IDN_CNAME_AND_Target (6.12s)
=== RUN   TestDNSProviders/testing1.dev/Post_cleanup:Empty#15
        --- PASS: TestDNSProviders/testing1.dev/Post_cleanup:Empty#15 (4.32s)
=== RUN   TestDNSProviders/testing1.dev/17:pager101:99_records
        --- PASS: TestDNSProviders/testing1.dev/17:pager101:99_records (7.89s)
=== RUN   TestDNSProviders/testing1.dev/17:pager101:100_records
        --- PASS: TestDNSProviders/testing1.dev/17:pager101:100_records (6.66s)
=== RUN   TestDNSProviders/testing1.dev/17:pager101:101_records
        --- PASS: TestDNSProviders/testing1.dev/17:pager101:101_records (6.45s)
=== RUN   TestDNSProviders/testing1.dev/Post_cleanup:Empty#16
        --- PASS: TestDNSProviders/testing1.dev/Post_cleanup:Empty#16 (250.06s)
=== RUN   TestDNSProviders/testing1.dev/18:pager601_***SKIPPED(disabled_by_only)***:Empty
        --- PASS: TestDNSProviders/testing1.dev/18:pager601_***SKIPPED(disabled_by_only)***:Empty (1.91s)
=== RUN   TestDNSProviders/testing1.dev/19:pager1201_***SKIPPED(disabled_by_only)***:Empty
        --- PASS: TestDNSProviders/testing1.dev/19:pager1201_***SKIPPED(disabled_by_only)***:Empty (1.87s)
=== RUN   TestDNSProviders/testing1.dev/20:CAA:CAA_record
        --- PASS: TestDNSProviders/testing1.dev/20:CAA:CAA_record (6.19s)
=== RUN   TestDNSProviders/testing1.dev/20:CAA:CAA_change_tag
        --- PASS: TestDNSProviders/testing1.dev/20:CAA:CAA_change_tag (5.66s)
=== RUN   TestDNSProviders/testing1.dev/20:CAA:CAA_change_target
        --- PASS: TestDNSProviders/testing1.dev/20:CAA:CAA_change_target (5.72s)
=== RUN   TestDNSProviders/testing1.dev/20:CAA:CAA_change_flag
        --- PASS: TestDNSProviders/testing1.dev/20:CAA:CAA_change_flag (5.65s)
=== RUN   TestDNSProviders/testing1.dev/20:CAA:CAA_many_records
        --- PASS: TestDNSProviders/testing1.dev/20:CAA:CAA_many_records (8.21s)
=== RUN   TestDNSProviders/testing1.dev/20:CAA:CAA_delete
        --- PASS: TestDNSProviders/testing1.dev/20:CAA:CAA_delete (8.70s)
=== RUN   TestDNSProviders/testing1.dev/Post_cleanup:Empty#17
        --- PASS: TestDNSProviders/testing1.dev/Post_cleanup:Empty#17 (4.42s)
=== RUN   TestDNSProviders/testing1.dev/21:CAA_with_;:CAA_many_records
        --- PASS: TestDNSProviders/testing1.dev/21:CAA_with_;:CAA_many_records (6.14s)
=== RUN   TestDNSProviders/testing1.dev/Post_cleanup:Empty#18
        --- PASS: TestDNSProviders/testing1.dev/Post_cleanup:Empty#18 (4.30s)
=== RUN   TestDNSProviders/testing1.dev/22:NAPTR_***SKIPPED(CanUseNAPTR_not_supported)***:Empty
        --- PASS: TestDNSProviders/testing1.dev/22:NAPTR_***SKIPPED(CanUseNAPTR_not_supported)***:Empty (1.86s)
=== RUN   TestDNSProviders/testing1.dev/23:PTR_***SKIPPED(CanUsePTR_not_supported)***:Empty
        --- PASS: TestDNSProviders/testing1.dev/23:PTR_***SKIPPED(CanUsePTR_not_supported)***:Empty (1.87s)
=== RUN   TestDNSProviders/testing1.dev/24:SRV:SRV_record
        --- PASS: TestDNSProviders/testing1.dev/24:SRV:SRV_record (6.14s)
=== RUN   TestDNSProviders/testing1.dev/24:SRV:Second_SRV_record,_same_prio
        --- PASS: TestDNSProviders/testing1.dev/24:SRV:Second_SRV_record,_same_prio (6.15s)
=== RUN   TestDNSProviders/testing1.dev/24:SRV:3_SRV
        --- PASS: TestDNSProviders/testing1.dev/24:SRV:3_SRV (6.22s)
=== RUN   TestDNSProviders/testing1.dev/24:SRV:Delete_one
        --- PASS: TestDNSProviders/testing1.dev/24:SRV:Delete_one (6.23s)
=== RUN   TestDNSProviders/testing1.dev/24:SRV:Change_Target
        --- PASS: TestDNSProviders/testing1.dev/24:SRV:Change_Target (5.67s)
=== RUN   TestDNSProviders/testing1.dev/24:SRV:Change_Priority
        --- PASS: TestDNSProviders/testing1.dev/24:SRV:Change_Priority (5.66s)
=== RUN   TestDNSProviders/testing1.dev/24:SRV:Change_Weight
        --- PASS: TestDNSProviders/testing1.dev/24:SRV:Change_Weight (5.62s)
=== RUN   TestDNSProviders/testing1.dev/24:SRV:Change_Port
        --- PASS: TestDNSProviders/testing1.dev/24:SRV:Change_Port (5.79s)
=== RUN   TestDNSProviders/testing1.dev/Post_cleanup:Empty#19
        --- PASS: TestDNSProviders/testing1.dev/Post_cleanup:Empty#19 (6.84s)
=== RUN   TestDNSProviders/testing1.dev/25:SRV_w/_null_target:Null_Target
        --- PASS: TestDNSProviders/testing1.dev/25:SRV_w/_null_target:Null_Target (6.24s)
=== RUN   TestDNSProviders/testing1.dev/Post_cleanup:Empty#20
        --- PASS: TestDNSProviders/testing1.dev/Post_cleanup:Empty#20 (6.77s)
=== RUN   TestDNSProviders/testing1.dev/26:SSHFP_***SKIPPED(CanUseSSHFP_not_supported)***:Empty
        --- PASS: TestDNSProviders/testing1.dev/26:SSHFP_***SKIPPED(CanUseSSHFP_not_supported)***:Empty (1.86s)
=== RUN   TestDNSProviders/testing1.dev/27:TLSA_***SKIPPED(CanUseTLSA_not_supported)***:Empty
        --- PASS: TestDNSProviders/testing1.dev/27:TLSA_***SKIPPED(CanUseTLSA_not_supported)***:Empty (1.88s)
=== RUN   TestDNSProviders/testing1.dev/28:TXTMulti:Create_TXTMulti_1
        --- PASS: TestDNSProviders/testing1.dev/28:TXTMulti:Create_TXTMulti_1 (6.20s)
=== RUN   TestDNSProviders/testing1.dev/28:TXTMulti:Create_TXTMulti_2
    TestDNSProviders/testing1.dev/28:TXTMulti:Create_TXTMulti_2: integration_test.go:212: Expected 0 corrections on second run, but found 1.
    TestDNSProviders/testing1.dev/28:TXTMulti:Create_TXTMulti_2: integration_test.go:214: #0: Batch modification of records:
        	MODIFY TXT foo2.testing1.dev: ("onetwo" ttl=300) -> ("one" "two" ttl=300)
        --- FAIL: TestDNSProviders/testing1.dev/28:TXTMulti:Create_TXTMulti_2 (6.44s)

=== RUN   TestDNSProviders/testing1.dev/Post_cleanup:Empty#21
        --- PASS: TestDNSProviders/testing1.dev/Post_cleanup:Empty#21 (5.87s)
=== RUN   TestDNSProviders/testing1.dev/29:TXTMulti_tests_that_break_DO:3x255-byte_TXTMulti
    TestDNSProviders/testing1.dev/29:TXTMulti_tests_that_break_DO:3x255-byte_TXTMulti: integration_test.go:212: Expected 0 corrections on second run, but found 1.
    TestDNSProviders/testing1.dev/29:TXTMulti_tests_that_break_DO:3x255-byte_TXTMulti: integration_test.go:214: #0: Batch modification of records:
        	MODIFY TXT foo3.testing1.dev: ("\"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\" \"YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY\" \"ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ\" \"\" " ttl=300) -> ("XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" "YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY" "ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ" ttl=300)
        --- FAIL: TestDNSProviders/testing1.dev/29:TXTMulti_tests_that_break_DO:3x255-byte_TXTMulti (6.14s)

=== RUN   TestDNSProviders/testing1.dev/Post_cleanup:Empty#22
        --- PASS: TestDNSProviders/testing1.dev/Post_cleanup:Empty#22 (4.37s)
=== RUN   TestDNSProviders/testing1.dev/30:DS_***SKIPPED(CanUseDS_not_supported)***:Empty
        --- PASS: TestDNSProviders/testing1.dev/30:DS_***SKIPPED(CanUseDS_not_supported)***:Empty (1.86s)
=== RUN   TestDNSProviders/testing1.dev/31:DS_(children_only)_***SKIPPED(CanUseDSForChildren_not_supported)***:Empty
        --- PASS: TestDNSProviders/testing1.dev/31:DS_(children_only)_***SKIPPED(CanUseDSForChildren_not_supported)***:Empty (1.87s)
=== RUN   TestDNSProviders/testing1.dev/32:DS_(children_only)_CLOUDNS_***SKIPPED(CanUseDSForChildren_not_supported)***:Empty
        --- PASS: TestDNSProviders/testing1.dev/32:DS_(children_only)_CLOUDNS_***SKIPPED(CanUseDSForChildren_not_supported)***:Empty (1.88s)
=== RUN   TestDNSProviders/testing1.dev/33:ALIAS_***SKIPPED(CanUseAlias_not_supported)***:Empty
        --- PASS: TestDNSProviders/testing1.dev/33:ALIAS_***SKIPPED(CanUseAlias_not_supported)***:Empty (1.88s)
=== RUN   TestDNSProviders/testing1.dev/34:AZURE_ALIAS_***SKIPPED(CanUseAzureAlias_not_supported)***:Empty
        --- PASS: TestDNSProviders/testing1.dev/34:AZURE_ALIAS_***SKIPPED(CanUseAzureAlias_not_supported)***:Empty (1.88s)
=== RUN   TestDNSProviders/testing1.dev/35:R53_ALIAS2_***SKIPPED(CanUseRoute53Alias_not_supported)***:Empty
        --- PASS: TestDNSProviders/testing1.dev/35:R53_ALIAS2_***SKIPPED(CanUseRoute53Alias_not_supported)***:Empty (1.88s)
=== RUN   TestDNSProviders/testing1.dev/36:R53_ALIAS_ORDER_***SKIPPED(CanUseRoute53Alias_not_supported)***:Empty
        --- PASS: TestDNSProviders/testing1.dev/36:R53_ALIAS_ORDER_***SKIPPED(CanUseRoute53Alias_not_supported)***:Empty (1.88s)
=== RUN   TestDNSProviders/testing1.dev/37:CF_REDIRECT_***SKIPPED(disabled_by_only)***:Empty
        --- PASS: TestDNSProviders/testing1.dev/37:CF_REDIRECT_***SKIPPED(disabled_by_only)***:Empty (1.89s)

``` 
</details>

<details>
<summary> On master </summary>

Note: I lowered the rate-limiting delay for this run via the config option `optimize_for_rate_limit_quota: Hour -> Minute`.

``` 
=== RUN   TestDNSProviders
--- FAIL: TestDNSProviders (372.15s)
=== RUN   TestDNSProviders/testing1.dev
    --- FAIL: TestDNSProviders/testing1.dev (372.15s)
=== RUN   TestDNSProviders/testing1.dev/Clean_Slate:Empty
        --- PASS: TestDNSProviders/testing1.dev/Clean_Slate:Empty (2.85s)
=== RUN   TestDNSProviders/testing1.dev/00:GeneralACD:Create_an_A_record
        --- PASS: TestDNSProviders/testing1.dev/00:GeneralACD:Create_an_A_record (2.30s)
=== RUN   TestDNSProviders/testing1.dev/00:GeneralACD:Change_it
        --- PASS: TestDNSProviders/testing1.dev/00:GeneralACD:Change_it (1.74s)
=== RUN   TestDNSProviders/testing1.dev/00:GeneralACD:Add_another
        --- PASS: TestDNSProviders/testing1.dev/00:GeneralACD:Add_another (2.37s)
=== RUN   TestDNSProviders/testing1.dev/00:GeneralACD:Add_another(same_name)
        --- PASS: TestDNSProviders/testing1.dev/00:GeneralACD:Add_another(same_name) (2.26s)
=== RUN   TestDNSProviders/testing1.dev/00:GeneralACD:Change_a_ttl
        --- PASS: TestDNSProviders/testing1.dev/00:GeneralACD:Change_a_ttl (1.77s)
=== RUN   TestDNSProviders/testing1.dev/00:GeneralACD:Change_single_target_from_set
        --- PASS: TestDNSProviders/testing1.dev/00:GeneralACD:Change_single_target_from_set (1.76s)
=== RUN   TestDNSProviders/testing1.dev/00:GeneralACD:Change_all_ttls
        --- PASS: TestDNSProviders/testing1.dev/00:GeneralACD:Change_all_ttls (1.92s)
=== RUN   TestDNSProviders/testing1.dev/00:GeneralACD:Delete_one
        --- PASS: TestDNSProviders/testing1.dev/00:GeneralACD:Delete_one (2.41s)
=== RUN   TestDNSProviders/testing1.dev/00:GeneralACD:Add_back_and_change_ttl
        --- PASS: TestDNSProviders/testing1.dev/00:GeneralACD:Add_back_and_change_ttl (3.92s)
=== RUN   TestDNSProviders/testing1.dev/00:GeneralACD:Change_targets_and_ttls
        --- PASS: TestDNSProviders/testing1.dev/00:GeneralACD:Change_targets_and_ttls (1.78s)
=== RUN   TestDNSProviders/testing1.dev/Post_cleanup:Empty
        --- PASS: TestDNSProviders/testing1.dev/Post_cleanup:Empty (2.85s)
=== RUN   TestDNSProviders/testing1.dev/01:WildcardACD:Create_wildcard
        --- PASS: TestDNSProviders/testing1.dev/01:WildcardACD:Create_wildcard (2.32s)
=== RUN   TestDNSProviders/testing1.dev/01:WildcardACD:Delete_wildcard
        --- PASS: TestDNSProviders/testing1.dev/01:WildcardACD:Delete_wildcard (2.25s)
=== RUN   TestDNSProviders/testing1.dev/Post_cleanup:Empty#01
        --- PASS: TestDNSProviders/testing1.dev/Post_cleanup:Empty#01 (1.77s)
=== RUN   TestDNSProviders/testing1.dev/02:CNAME:Create_a_CNAME
        --- PASS: TestDNSProviders/testing1.dev/02:CNAME:Create_a_CNAME (2.30s)
=== RUN   TestDNSProviders/testing1.dev/02:CNAME:Change_CNAME_target
        --- PASS: TestDNSProviders/testing1.dev/02:CNAME:Change_CNAME_target (1.77s)
=== RUN   TestDNSProviders/testing1.dev/02:CNAME:Empty
        --- PASS: TestDNSProviders/testing1.dev/02:CNAME:Empty (1.76s)
=== RUN   TestDNSProviders/testing1.dev/02:CNAME:Record_pointing_to_@
        --- PASS: TestDNSProviders/testing1.dev/02:CNAME:Record_pointing_to_@ (2.24s)
=== RUN   TestDNSProviders/testing1.dev/Post_cleanup:Empty#02
        --- PASS: TestDNSProviders/testing1.dev/Post_cleanup:Empty#02 (1.64s)
=== RUN   TestDNSProviders/testing1.dev/03:MX:MX_record
        --- PASS: TestDNSProviders/testing1.dev/03:MX:MX_record (2.23s)
=== RUN   TestDNSProviders/testing1.dev/03:MX:Second_MX_record,_same_prio
        --- PASS: TestDNSProviders/testing1.dev/03:MX:Second_MX_record,_same_prio (2.35s)
=== RUN   TestDNSProviders/testing1.dev/03:MX:3_MX
        --- PASS: TestDNSProviders/testing1.dev/03:MX:3_MX (2.34s)
=== RUN   TestDNSProviders/testing1.dev/03:MX:Delete_one
        --- PASS: TestDNSProviders/testing1.dev/03:MX:Delete_one (2.36s)
=== RUN   TestDNSProviders/testing1.dev/03:MX:Change_to_other_name
        --- PASS: TestDNSProviders/testing1.dev/03:MX:Change_to_other_name (3.38s)
=== RUN   TestDNSProviders/testing1.dev/03:MX:Change_Preference
        --- PASS: TestDNSProviders/testing1.dev/03:MX:Change_Preference (2.27s)
=== RUN   TestDNSProviders/testing1.dev/03:MX:Record_pointing_to_@
        --- PASS: TestDNSProviders/testing1.dev/03:MX:Record_pointing_to_@ (4.59s)
=== RUN   TestDNSProviders/testing1.dev/Post_cleanup:Empty#03
        --- PASS: TestDNSProviders/testing1.dev/Post_cleanup:Empty#03 (1.67s)
=== RUN   TestDNSProviders/testing1.dev/04:Null_MX:Null_MX
        --- PASS: TestDNSProviders/testing1.dev/04:Null_MX:Null_MX (2.42s)
=== RUN   TestDNSProviders/testing1.dev/Post_cleanup:Empty#04
        --- PASS: TestDNSProviders/testing1.dev/Post_cleanup:Empty#04 (1.68s)
=== RUN   TestDNSProviders/testing1.dev/05:NS:NS_for_subdomain
        --- PASS: TestDNSProviders/testing1.dev/05:NS:NS_for_subdomain (2.21s)
=== RUN   TestDNSProviders/testing1.dev/05:NS:Dual_NS_for_subdomain
        --- PASS: TestDNSProviders/testing1.dev/05:NS:Dual_NS_for_subdomain (2.26s)
=== RUN   TestDNSProviders/testing1.dev/05:NS:NS_Record_pointing_to_@
        --- PASS: TestDNSProviders/testing1.dev/05:NS:NS_Record_pointing_to_@ (4.70s)
=== RUN   TestDNSProviders/testing1.dev/Post_cleanup:Empty#05
        --- PASS: TestDNSProviders/testing1.dev/Post_cleanup:Empty#05 (2.91s)
=== RUN   TestDNSProviders/testing1.dev/06:IGNORE_NAME_function:Create_some_records
        --- PASS: TestDNSProviders/testing1.dev/06:IGNORE_NAME_function:Create_some_records (2.31s)
=== RUN   TestDNSProviders/testing1.dev/06:IGNORE_NAME_function:Add_a_new_record_-_ignoring_foo
        --- PASS: TestDNSProviders/testing1.dev/06:IGNORE_NAME_function:Add_a_new_record_-_ignoring_foo (2.27s)
=== RUN   TestDNSProviders/testing1.dev/06:IGNORE_NAME_function:Empty
        --- PASS: TestDNSProviders/testing1.dev/06:IGNORE_NAME_function:Empty (3.91s)
=== RUN   TestDNSProviders/testing1.dev/06:IGNORE_NAME_function:Create_some_records#01
        --- PASS: TestDNSProviders/testing1.dev/06:IGNORE_NAME_function:Create_some_records#01 (2.32s)
=== RUN   TestDNSProviders/testing1.dev/06:IGNORE_NAME_function:Add_a_new_record_-_ignoring_*.foo
        --- PASS: TestDNSProviders/testing1.dev/06:IGNORE_NAME_function:Add_a_new_record_-_ignoring_*.foo (2.35s)
=== RUN   TestDNSProviders/testing1.dev/Post_cleanup:Empty#06
        --- PASS: TestDNSProviders/testing1.dev/Post_cleanup:Empty#06 (4.02s)
=== RUN   TestDNSProviders/testing1.dev/07:IGNORE_TARGET_function:Create_some_records
        --- PASS: TestDNSProviders/testing1.dev/07:IGNORE_TARGET_function:Create_some_records (2.32s)
=== RUN   TestDNSProviders/testing1.dev/07:IGNORE_TARGET_function:Add_a_new_record_-_ignoring_test.foo.com.
        --- PASS: TestDNSProviders/testing1.dev/07:IGNORE_TARGET_function:Add_a_new_record_-_ignoring_test.foo.com. (1.72s)
=== RUN   TestDNSProviders/testing1.dev/07:IGNORE_TARGET_function:Empty
        --- PASS: TestDNSProviders/testing1.dev/07:IGNORE_TARGET_function:Empty (2.82s)
=== RUN   TestDNSProviders/testing1.dev/07:IGNORE_TARGET_function:Create_some_records#01
        --- PASS: TestDNSProviders/testing1.dev/07:IGNORE_TARGET_function:Create_some_records#01 (2.33s)
=== RUN   TestDNSProviders/testing1.dev/07:IGNORE_TARGET_function:Add_a_new_record_-_ignoring_**.foo.com._targets
        --- PASS: TestDNSProviders/testing1.dev/07:IGNORE_TARGET_function:Add_a_new_record_-_ignoring_**.foo.com._targets (3.37s)
=== RUN   TestDNSProviders/testing1.dev/Post_cleanup:Empty#07
        --- PASS: TestDNSProviders/testing1.dev/Post_cleanup:Empty#07 (2.90s)
=== RUN   TestDNSProviders/testing1.dev/08:single_TXT:Create_a_TXT
        --- PASS: TestDNSProviders/testing1.dev/08:single_TXT:Create_a_TXT (2.22s)
=== RUN   TestDNSProviders/testing1.dev/08:single_TXT:Change_a_TXT
        --- PASS: TestDNSProviders/testing1.dev/08:single_TXT:Change_a_TXT (1.74s)
=== RUN   TestDNSProviders/testing1.dev/08:single_TXT:Empty
        --- PASS: TestDNSProviders/testing1.dev/08:single_TXT:Empty (1.77s)
=== RUN   TestDNSProviders/testing1.dev/08:single_TXT:Create_a_TXT_with_spaces
        --- PASS: TestDNSProviders/testing1.dev/08:single_TXT:Create_a_TXT_with_spaces (2.31s)
=== RUN   TestDNSProviders/testing1.dev/08:single_TXT:Create_1_TXT_as_array
        --- PASS: TestDNSProviders/testing1.dev/08:single_TXT:Create_1_TXT_as_array (1.72s)
=== RUN   TestDNSProviders/testing1.dev/08:single_TXT:Empty#01
        --- PASS: TestDNSProviders/testing1.dev/08:single_TXT:Empty#01 (1.80s)
=== RUN   TestDNSProviders/testing1.dev/08:single_TXT:Create_a_254-byte_TXT
        --- PASS: TestDNSProviders/testing1.dev/08:single_TXT:Create_a_254-byte_TXT (2.22s)
=== RUN   TestDNSProviders/testing1.dev/Post_cleanup:Empty#08
        --- PASS: TestDNSProviders/testing1.dev/Post_cleanup:Empty#08 (1.77s)
=== RUN   TestDNSProviders/testing1.dev/09:max-sized_TXT:Create_a_255-byte_TXT
        --- PASS: TestDNSProviders/testing1.dev/09:max-sized_TXT:Create_a_255-byte_TXT (2.23s)
=== RUN   TestDNSProviders/testing1.dev/Post_cleanup:Empty#09
        --- PASS: TestDNSProviders/testing1.dev/Post_cleanup:Empty#09 (1.62s)
=== RUN   TestDNSProviders/testing1.dev/10:single_TXT_with_single-quote:Create_TXT_with_single-quote
        --- PASS: TestDNSProviders/testing1.dev/10:single_TXT_with_single-quote:Create_TXT_with_single-quote (2.67s)
=== RUN   TestDNSProviders/testing1.dev/Post_cleanup:Empty#10
        --- PASS: TestDNSProviders/testing1.dev/Post_cleanup:Empty#10 (1.66s)
=== RUN   TestDNSProviders/testing1.dev/11:ws_TXT:Change_a_TXT_with_ws_at_end
        --- PASS: TestDNSProviders/testing1.dev/11:ws_TXT:Change_a_TXT_with_ws_at_end (2.32s)
=== RUN   TestDNSProviders/testing1.dev/Post_cleanup:Empty#11
        --- PASS: TestDNSProviders/testing1.dev/Post_cleanup:Empty#11 (1.68s)
=== RUN   TestDNSProviders/testing1.dev/12:empty_TXT_***SKIPPED(excluded_by_not("HETZNER"))***:Empty
        --- PASS: TestDNSProviders/testing1.dev/12:empty_TXT_***SKIPPED(excluded_by_not("HETZNER"))***:Empty (0.57s)
=== RUN   TestDNSProviders/testing1.dev/13:TypeChange:Create_a_CNAME
        --- PASS: TestDNSProviders/testing1.dev/13:TypeChange:Create_a_CNAME (2.37s)
=== RUN   TestDNSProviders/testing1.dev/13:TypeChange:Change_to_A_record
        --- PASS: TestDNSProviders/testing1.dev/13:TypeChange:Change_to_A_record (3.48s)
=== RUN   TestDNSProviders/testing1.dev/13:TypeChange:Change_back_to_CNAME
        --- PASS: TestDNSProviders/testing1.dev/13:TypeChange:Change_back_to_CNAME (3.57s)
=== RUN   TestDNSProviders/testing1.dev/Post_cleanup:Empty#12
        --- PASS: TestDNSProviders/testing1.dev/Post_cleanup:Empty#12 (1.78s)
=== RUN   TestDNSProviders/testing1.dev/14:Case_Sensitivity:Create_CAPS
        --- PASS: TestDNSProviders/testing1.dev/14:Case_Sensitivity:Create_CAPS (2.32s)
=== RUN   TestDNSProviders/testing1.dev/14:Case_Sensitivity:Downcase_label
        --- PASS: TestDNSProviders/testing1.dev/14:Case_Sensitivity:Downcase_label (2.26s)
=== RUN   TestDNSProviders/testing1.dev/14:Case_Sensitivity:Downcase_target
        --- PASS: TestDNSProviders/testing1.dev/14:Case_Sensitivity:Downcase_target (1.75s)
=== RUN   TestDNSProviders/testing1.dev/14:Case_Sensitivity:Upcase_both
        --- PASS: TestDNSProviders/testing1.dev/14:Case_Sensitivity:Upcase_both (1.74s)
=== RUN   TestDNSProviders/testing1.dev/Post_cleanup:Empty#13
        --- PASS: TestDNSProviders/testing1.dev/Post_cleanup:Empty#13 (2.89s)
=== RUN   TestDNSProviders/testing1.dev/15:IDNA:Internationalized_name
        --- PASS: TestDNSProviders/testing1.dev/15:IDNA:Internationalized_name (2.22s)
=== RUN   TestDNSProviders/testing1.dev/15:IDNA:Change_IDN
        --- PASS: TestDNSProviders/testing1.dev/15:IDNA:Change_IDN (1.76s)
=== RUN   TestDNSProviders/testing1.dev/15:IDNA:Internationalized_CNAME_Target
        --- PASS: TestDNSProviders/testing1.dev/15:IDNA:Internationalized_CNAME_Target (3.47s)
=== RUN   TestDNSProviders/testing1.dev/Post_cleanup:Empty#14
        --- PASS: TestDNSProviders/testing1.dev/Post_cleanup:Empty#14 (1.66s)
=== RUN   TestDNSProviders/testing1.dev/16:IDNAs_in_CNAME_targets:IDN_CNAME_AND_Target
        --- PASS: TestDNSProviders/testing1.dev/16:IDNAs_in_CNAME_targets:IDN_CNAME_AND_Target (2.32s)
=== RUN   TestDNSProviders/testing1.dev/Post_cleanup:Empty#15
        --- PASS: TestDNSProviders/testing1.dev/Post_cleanup:Empty#15 (1.78s)
=== RUN   TestDNSProviders/testing1.dev/17:pager101:99_records
        --- PASS: TestDNSProviders/testing1.dev/17:pager101:99_records (4.41s)
=== RUN   TestDNSProviders/testing1.dev/17:pager101:100_records
        --- PASS: TestDNSProviders/testing1.dev/17:pager101:100_records (2.55s)
=== RUN   TestDNSProviders/testing1.dev/17:pager101:101_records
        --- PASS: TestDNSProviders/testing1.dev/17:pager101:101_records (2.67s)
=== RUN   TestDNSProviders/testing1.dev/Post_cleanup:Empty#16
        --- PASS: TestDNSProviders/testing1.dev/Post_cleanup:Empty#16 (118.88s)
=== RUN   TestDNSProviders/testing1.dev/18:pager601_***SKIPPED(disabled_by_only)***:Empty
        --- PASS: TestDNSProviders/testing1.dev/18:pager601_***SKIPPED(disabled_by_only)***:Empty (0.59s)
=== RUN   TestDNSProviders/testing1.dev/19:pager1201_***SKIPPED(disabled_by_only)***:Empty
        --- PASS: TestDNSProviders/testing1.dev/19:pager1201_***SKIPPED(disabled_by_only)***:Empty (0.61s)
=== RUN   TestDNSProviders/testing1.dev/20:CAA:CAA_record
        --- PASS: TestDNSProviders/testing1.dev/20:CAA:CAA_record (2.77s)
=== RUN   TestDNSProviders/testing1.dev/20:CAA:CAA_change_tag
        --- PASS: TestDNSProviders/testing1.dev/20:CAA:CAA_change_tag (1.81s)
=== RUN   TestDNSProviders/testing1.dev/20:CAA:CAA_change_target
        --- PASS: TestDNSProviders/testing1.dev/20:CAA:CAA_change_target (1.78s)
=== RUN   TestDNSProviders/testing1.dev/20:CAA:CAA_change_flag
        --- PASS: TestDNSProviders/testing1.dev/20:CAA:CAA_change_flag (1.76s)
=== RUN   TestDNSProviders/testing1.dev/20:CAA:CAA_many_records
        --- PASS: TestDNSProviders/testing1.dev/20:CAA:CAA_many_records (3.28s)
=== RUN   TestDNSProviders/testing1.dev/20:CAA:CAA_delete
        --- PASS: TestDNSProviders/testing1.dev/20:CAA:CAA_delete (3.58s)
=== RUN   TestDNSProviders/testing1.dev/Post_cleanup:Empty#17
        --- PASS: TestDNSProviders/testing1.dev/Post_cleanup:Empty#17 (1.69s)
=== RUN   TestDNSProviders/testing1.dev/21:CAA_with_;:CAA_many_records
        --- PASS: TestDNSProviders/testing1.dev/21:CAA_with_;:CAA_many_records (2.27s)
=== RUN   TestDNSProviders/testing1.dev/Post_cleanup:Empty#18
        --- PASS: TestDNSProviders/testing1.dev/Post_cleanup:Empty#18 (1.67s)
=== RUN   TestDNSProviders/testing1.dev/22:NAPTR_***SKIPPED(CanUseNAPTR_not_supported)***:Empty
        --- PASS: TestDNSProviders/testing1.dev/22:NAPTR_***SKIPPED(CanUseNAPTR_not_supported)***:Empty (0.58s)
=== RUN   TestDNSProviders/testing1.dev/23:PTR_***SKIPPED(CanUsePTR_not_supported)***:Empty
        --- PASS: TestDNSProviders/testing1.dev/23:PTR_***SKIPPED(CanUsePTR_not_supported)***:Empty (0.58s)
=== RUN   TestDNSProviders/testing1.dev/24:SRV:SRV_record
        --- PASS: TestDNSProviders/testing1.dev/24:SRV:SRV_record (2.22s)
=== RUN   TestDNSProviders/testing1.dev/24:SRV:Second_SRV_record,_same_prio
        --- PASS: TestDNSProviders/testing1.dev/24:SRV:Second_SRV_record,_same_prio (2.35s)
=== RUN   TestDNSProviders/testing1.dev/24:SRV:3_SRV
        --- PASS: TestDNSProviders/testing1.dev/24:SRV:3_SRV (2.25s)
=== RUN   TestDNSProviders/testing1.dev/24:SRV:Delete_one
        --- PASS: TestDNSProviders/testing1.dev/24:SRV:Delete_one (2.32s)
=== RUN   TestDNSProviders/testing1.dev/24:SRV:Change_Target
        --- PASS: TestDNSProviders/testing1.dev/24:SRV:Change_Target (1.84s)
=== RUN   TestDNSProviders/testing1.dev/24:SRV:Change_Priority
        --- PASS: TestDNSProviders/testing1.dev/24:SRV:Change_Priority (1.74s)
=== RUN   TestDNSProviders/testing1.dev/24:SRV:Change_Weight
        --- PASS: TestDNSProviders/testing1.dev/24:SRV:Change_Weight (1.75s)
=== RUN   TestDNSProviders/testing1.dev/24:SRV:Change_Port
        --- PASS: TestDNSProviders/testing1.dev/24:SRV:Change_Port (1.74s)
=== RUN   TestDNSProviders/testing1.dev/Post_cleanup:Empty#19
        --- PASS: TestDNSProviders/testing1.dev/Post_cleanup:Empty#19 (2.90s)
=== RUN   TestDNSProviders/testing1.dev/25:SRV_w/_null_target:Null_Target
        --- PASS: TestDNSProviders/testing1.dev/25:SRV_w/_null_target:Null_Target (2.30s)
=== RUN   TestDNSProviders/testing1.dev/Post_cleanup:Empty#20
        --- PASS: TestDNSProviders/testing1.dev/Post_cleanup:Empty#20 (2.81s)
=== RUN   TestDNSProviders/testing1.dev/26:SSHFP_***SKIPPED(CanUseSSHFP_not_supported)***:Empty
        --- PASS: TestDNSProviders/testing1.dev/26:SSHFP_***SKIPPED(CanUseSSHFP_not_supported)***:Empty (0.57s)
=== RUN   TestDNSProviders/testing1.dev/27:TLSA_***SKIPPED(CanUseTLSA_not_supported)***:Empty
        --- PASS: TestDNSProviders/testing1.dev/27:TLSA_***SKIPPED(CanUseTLSA_not_supported)***:Empty (0.58s)
=== RUN   TestDNSProviders/testing1.dev/28:TXTMulti:Create_TXTMulti_1
        --- PASS: TestDNSProviders/testing1.dev/28:TXTMulti:Create_TXTMulti_1 (2.24s)
=== RUN   TestDNSProviders/testing1.dev/28:TXTMulti:Create_TXTMulti_2
    TestDNSProviders/testing1.dev/28:TXTMulti:Create_TXTMulti_2: integration_test.go:220: Expected 0 corrections on second run, but found 1.
    TestDNSProviders/testing1.dev/28:TXTMulti:Create_TXTMulti_2: integration_test.go:222: #0: Batch modification of records:
        	MODIFY TXT foo2.testing1.dev: ("onetwo" ttl=300) -> ("one" "two" ttl=300)
        --- FAIL: TestDNSProviders/testing1.dev/28:TXTMulti:Create_TXTMulti_2 (2.31s)

=== RUN   TestDNSProviders/testing1.dev/Post_cleanup:Empty#21
        --- PASS: TestDNSProviders/testing1.dev/Post_cleanup:Empty#21 (2.80s)
=== RUN   TestDNSProviders/testing1.dev/29:TXTMulti_tests_that_break_DO:3x255-byte_TXTMulti
    TestDNSProviders/testing1.dev/29:TXTMulti_tests_that_break_DO:3x255-byte_TXTMulti: integration_test.go:220: Expected 0 corrections on second run, but found 1.
    TestDNSProviders/testing1.dev/29:TXTMulti_tests_that_break_DO:3x255-byte_TXTMulti: integration_test.go:222: #0: Batch modification of records:
        	MODIFY TXT foo3.testing1.dev: ("\"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\" \"YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY\" \"ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ\" \"\" " ttl=300) -> ("XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" "YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY" "ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ" ttl=300)
        --- FAIL: TestDNSProviders/testing1.dev/29:TXTMulti_tests_that_break_DO:3x255-byte_TXTMulti (2.32s)

=== RUN   TestDNSProviders/testing1.dev/Post_cleanup:Empty#22
        --- PASS: TestDNSProviders/testing1.dev/Post_cleanup:Empty#22 (1.77s)
=== RUN   TestDNSProviders/testing1.dev/30:DS_***SKIPPED(CanUseDS_not_supported)***:Empty
        --- PASS: TestDNSProviders/testing1.dev/30:DS_***SKIPPED(CanUseDS_not_supported)***:Empty (0.59s)
=== RUN   TestDNSProviders/testing1.dev/31:DS_(children_only)_***SKIPPED(CanUseDSForChildren_not_supported)***:Empty
        --- PASS: TestDNSProviders/testing1.dev/31:DS_(children_only)_***SKIPPED(CanUseDSForChildren_not_supported)***:Empty (0.57s)
=== RUN   TestDNSProviders/testing1.dev/32:DS_(children_only)_CLOUDNS_***SKIPPED(CanUseDSForChildren_not_supported)***:Empty
        --- PASS: TestDNSProviders/testing1.dev/32:DS_(children_only)_CLOUDNS_***SKIPPED(CanUseDSForChildren_not_supported)***:Empty (0.57s)
=== RUN   TestDNSProviders/testing1.dev/33:ALIAS_***SKIPPED(CanUseAlias_not_supported)***:Empty
        --- PASS: TestDNSProviders/testing1.dev/33:ALIAS_***SKIPPED(CanUseAlias_not_supported)***:Empty (0.58s)
=== RUN   TestDNSProviders/testing1.dev/34:AZURE_ALIAS_***SKIPPED(CanUseAzureAlias_not_supported)***:Empty
        --- PASS: TestDNSProviders/testing1.dev/34:AZURE_ALIAS_***SKIPPED(CanUseAzureAlias_not_supported)***:Empty (0.58s)
=== RUN   TestDNSProviders/testing1.dev/35:R53_ALIAS2_***SKIPPED(CanUseRoute53Alias_not_supported)***:Empty
        --- PASS: TestDNSProviders/testing1.dev/35:R53_ALIAS2_***SKIPPED(CanUseRoute53Alias_not_supported)***:Empty (0.59s)
=== RUN   TestDNSProviders/testing1.dev/36:R53_ALIAS_ORDER_***SKIPPED(CanUseRoute53Alias_not_supported)***:Empty
        --- PASS: TestDNSProviders/testing1.dev/36:R53_ALIAS_ORDER_***SKIPPED(CanUseRoute53Alias_not_supported)***:Empty (0.58s)
=== RUN   TestDNSProviders/testing1.dev/37:CF_REDIRECT_***SKIPPED(disabled_by_only)***:Empty
        --- PASS: TestDNSProviders/testing1.dev/37:CF_REDIRECT_***SKIPPED(disabled_by_only)***:Empty (0.56s)

```
</details>
jpbede: PowerDNS passes. Found 2 bugs which are not related to this PR, which i will have a look into it next week.

<details><summary>go test -v -verbose -provider POWERDNS</summary>

```
=== RUN   TestDNSProviders
=== RUN   TestDNSProviders/jpbe123.de
=== RUN   TestDNSProviders/jpbe123.de/Clean_Slate:Empty
=== RUN   TestDNSProviders/jpbe123.de/00:GeneralACD:Create_an_A_record
    integration_test.go:193: CREATE A jpbe123.de 1.1.1.1 ttl=300
=== RUN   TestDNSProviders/jpbe123.de/00:GeneralACD:Change_it
    integration_test.go:193: MODIFY A jpbe123.de: (1.1.1.1 ttl=300) -> (1.2.3.4 ttl=300)
=== RUN   TestDNSProviders/jpbe123.de/00:GeneralACD:Add_another
    integration_test.go:193: CREATE A www.jpbe123.de 1.2.3.4 ttl=300
=== RUN   TestDNSProviders/jpbe123.de/00:GeneralACD:Add_another(same_name)
    integration_test.go:193: CREATE A www.jpbe123.de 5.6.7.8 ttl=300
=== RUN   TestDNSProviders/jpbe123.de/00:GeneralACD:Change_a_ttl
    integration_test.go:193: MODIFY A jpbe123.de: (1.2.3.4 ttl=300) -> (1.2.3.4 ttl=1000)
=== RUN   TestDNSProviders/jpbe123.de/00:GeneralACD:Change_single_target_from_set
    integration_test.go:193: MODIFY A www.jpbe123.de: (1.2.3.4 ttl=300) -> (2.2.2.2 ttl=300)
=== RUN   TestDNSProviders/jpbe123.de/00:GeneralACD:Change_all_ttls
    integration_test.go:193: MODIFY A jpbe123.de: (1.2.3.4 ttl=1000) -> (1.2.3.4 ttl=500)
    integration_test.go:193: MODIFY A www.jpbe123.de: (5.6.7.8 ttl=300) -> (5.6.7.8 ttl=400)
           MODIFY A www.jpbe123.de: (2.2.2.2 ttl=300) -> (2.2.2.2 ttl=400)
=== RUN   TestDNSProviders/jpbe123.de/00:GeneralACD:Delete_one
    integration_test.go:193: DELETE A www.jpbe123.de 2.2.2.2 ttl=400
=== RUN   TestDNSProviders/jpbe123.de/00:GeneralACD:Add_back_and_change_ttl
    integration_test.go:193: CREATE A www.jpbe123.de 1.2.3.4 ttl=700
           MODIFY A www.jpbe123.de: (5.6.7.8 ttl=400) -> (5.6.7.8 ttl=700)
    integration_test.go:193: DELETE A jpbe123.de 1.2.3.4 ttl=500
=== RUN   TestDNSProviders/jpbe123.de/00:GeneralACD:Change_targets_and_ttls
    integration_test.go:193: MODIFY A www.jpbe123.de: (1.2.3.4 ttl=700) -> (1.1.1.1 ttl=300)
           MODIFY A www.jpbe123.de: (5.6.7.8 ttl=700) -> (2.2.2.2 ttl=300)
=== RUN   TestDNSProviders/jpbe123.de/Post_cleanup:Empty
    integration_test.go:193: DELETE A www.jpbe123.de 1.1.1.1 ttl=300
           DELETE A www.jpbe123.de 2.2.2.2 ttl=300
=== RUN   TestDNSProviders/jpbe123.de/01:WildcardACD:Create_wildcard
    integration_test.go:193: CREATE A *.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A www.jpbe123.de 1.1.1.1 ttl=300
=== RUN   TestDNSProviders/jpbe123.de/01:WildcardACD:Delete_wildcard
    integration_test.go:193: DELETE A *.jpbe123.de 1.2.3.4 ttl=300
=== RUN   TestDNSProviders/jpbe123.de/Post_cleanup:Empty#01
    integration_test.go:193: DELETE A www.jpbe123.de 1.1.1.1 ttl=300
=== RUN   TestDNSProviders/jpbe123.de/02:CNAME:Create_a_CNAME
    integration_test.go:193: CREATE CNAME foo.jpbe123.de google.com. ttl=300
=== RUN   TestDNSProviders/jpbe123.de/02:CNAME:Change_CNAME_target
    integration_test.go:193: MODIFY CNAME foo.jpbe123.de: (google.com. ttl=300) -> (google2.com. ttl=300)
=== RUN   TestDNSProviders/jpbe123.de/02:CNAME:Empty
    integration_test.go:193: DELETE CNAME foo.jpbe123.de google2.com. ttl=300
=== RUN   TestDNSProviders/jpbe123.de/02:CNAME:Record_pointing_to_@
    integration_test.go:193: CREATE CNAME foo.jpbe123.de jpbe123.de. ttl=300
=== RUN   TestDNSProviders/jpbe123.de/Post_cleanup:Empty#02
    integration_test.go:193: DELETE CNAME foo.jpbe123.de jpbe123.de. ttl=300
=== RUN   TestDNSProviders/jpbe123.de/03:MX:MX_record
    integration_test.go:193: CREATE MX jpbe123.de 5 foo.com. ttl=300
=== RUN   TestDNSProviders/jpbe123.de/03:MX:Second_MX_record,_same_prio
    integration_test.go:193: CREATE MX jpbe123.de 5 foo2.com. ttl=300
=== RUN   TestDNSProviders/jpbe123.de/03:MX:3_MX
    integration_test.go:193: CREATE MX jpbe123.de 15 foo3.com. ttl=300
=== RUN   TestDNSProviders/jpbe123.de/03:MX:Delete_one
    integration_test.go:193: DELETE MX jpbe123.de 5 foo.com. ttl=300
=== RUN   TestDNSProviders/jpbe123.de/03:MX:Change_to_other_name
    integration_test.go:193: CREATE MX mail.jpbe123.de 15 foo3.com. ttl=300
    integration_test.go:193: DELETE MX jpbe123.de 15 foo3.com. ttl=300
=== RUN   TestDNSProviders/jpbe123.de/03:MX:Change_Preference
    integration_test.go:193: MODIFY MX jpbe123.de: (5 foo2.com. ttl=300) -> (7 foo2.com. ttl=300)
=== RUN   TestDNSProviders/jpbe123.de/03:MX:Record_pointing_to_@
    integration_test.go:193: CREATE MX foo.jpbe123.de 8 jpbe123.de. ttl=300
    integration_test.go:193: DELETE MX jpbe123.de 7 foo2.com. ttl=300
    integration_test.go:193: DELETE MX mail.jpbe123.de 15 foo3.com. ttl=300
=== RUN   TestDNSProviders/jpbe123.de/Post_cleanup:Empty#03
    integration_test.go:193: DELETE MX foo.jpbe123.de 8 jpbe123.de. ttl=300
=== RUN   TestDNSProviders/jpbe123.de/04:Null_MX:Null_MX
    integration_test.go:193: CREATE MX jpbe123.de 0 . ttl=300
=== RUN   TestDNSProviders/jpbe123.de/Post_cleanup:Empty#04
    integration_test.go:193: DELETE MX jpbe123.de 0 . ttl=300
=== RUN   TestDNSProviders/jpbe123.de/05:NS:NS_for_subdomain
    integration_test.go:193: CREATE NS xyz.jpbe123.de ns2.foo.com. ttl=300
=== RUN   TestDNSProviders/jpbe123.de/05:NS:Dual_NS_for_subdomain
    integration_test.go:193: CREATE NS xyz.jpbe123.de ns1.foo.com. ttl=300
=== RUN   TestDNSProviders/jpbe123.de/05:NS:NS_Record_pointing_to_@
    integration_test.go:193: CREATE NS foo.jpbe123.de jpbe123.de. ttl=300
    integration_test.go:193: CREATE A jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: DELETE NS xyz.jpbe123.de ns1.foo.com. ttl=300
           DELETE NS xyz.jpbe123.de ns2.foo.com. ttl=300
=== RUN   TestDNSProviders/jpbe123.de/Post_cleanup:Empty#05
    integration_test.go:193: DELETE NS foo.jpbe123.de jpbe123.de. ttl=300
    integration_test.go:193: DELETE A jpbe123.de 1.2.3.4 ttl=300
=== RUN   TestDNSProviders/jpbe123.de/06:IGNORE_NAME_function:Create_some_records
    integration_test.go:193: CREATE TXT foo.jpbe123.de "simple" ttl=300
    integration_test.go:193: CREATE A foo.jpbe123.de 1.2.3.4 ttl=300
=== RUN   TestDNSProviders/jpbe123.de/06:IGNORE_NAME_function:Add_a_new_record_-_ignoring_foo
    integration_test.go:193: CREATE A bar.jpbe123.de 1.2.3.4 ttl=300
=== RUN   TestDNSProviders/jpbe123.de/06:IGNORE_NAME_function:Empty
    integration_test.go:193: DELETE A bar.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A foo.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: DELETE TXT foo.jpbe123.de "simple" ttl=300
=== RUN   TestDNSProviders/jpbe123.de/06:IGNORE_NAME_function:Create_some_records#01
    integration_test.go:193: CREATE TXT bar.foo.jpbe123.de "simple" ttl=300
    integration_test.go:193: CREATE A bar.foo.jpbe123.de 1.2.3.4 ttl=300
=== RUN   TestDNSProviders/jpbe123.de/06:IGNORE_NAME_function:Add_a_new_record_-_ignoring_*.foo
    integration_test.go:193: CREATE A bar.jpbe123.de 1.2.3.4 ttl=300
=== RUN   TestDNSProviders/jpbe123.de/Post_cleanup:Empty#06
    integration_test.go:193: DELETE A bar.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: DELETE TXT bar.foo.jpbe123.de "simple" ttl=300
    integration_test.go:193: DELETE A bar.foo.jpbe123.de 1.2.3.4 ttl=300
=== RUN   TestDNSProviders/jpbe123.de/07:IGNORE_TARGET_function:Create_some_records
    integration_test.go:193: CREATE CNAME bar.jpbe123.de test.bar.com. ttl=300
    integration_test.go:193: CREATE CNAME foo.jpbe123.de test.foo.com. ttl=300
=== RUN   TestDNSProviders/jpbe123.de/07:IGNORE_TARGET_function:Add_a_new_record_-_ignoring_test.foo.com.
    integration_test.go:193: MODIFY CNAME bar.jpbe123.de: (test.bar.com. ttl=300) -> (bar.foo.com. ttl=300)
=== RUN   TestDNSProviders/jpbe123.de/07:IGNORE_TARGET_function:Empty
    integration_test.go:193: DELETE CNAME bar.jpbe123.de bar.foo.com. ttl=300
    integration_test.go:193: DELETE CNAME foo.jpbe123.de test.foo.com. ttl=300
=== RUN   TestDNSProviders/jpbe123.de/07:IGNORE_TARGET_function:Create_some_records#01
    integration_test.go:193: CREATE CNAME bar.foo.jpbe123.de a.b.foo.com. ttl=300
    integration_test.go:193: CREATE A test.foo.jpbe123.de 1.2.3.4 ttl=300
=== RUN   TestDNSProviders/jpbe123.de/07:IGNORE_TARGET_function:Add_a_new_record_-_ignoring_**.foo.com._targets
    integration_test.go:193: CREATE A bar.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A test.foo.jpbe123.de 1.2.3.4 ttl=300
=== RUN   TestDNSProviders/jpbe123.de/Post_cleanup:Empty#07
    integration_test.go:193: DELETE CNAME bar.foo.jpbe123.de a.b.foo.com. ttl=300
    integration_test.go:193: DELETE A bar.jpbe123.de 1.2.3.4 ttl=300
=== RUN   TestDNSProviders/jpbe123.de/08:single_TXT:Create_a_TXT
    integration_test.go:193: CREATE TXT foo.jpbe123.de "simple" ttl=300
=== RUN   TestDNSProviders/jpbe123.de/08:single_TXT:Change_a_TXT
    integration_test.go:193: MODIFY TXT foo.jpbe123.de: ("simple" ttl=300) -> ("changed" ttl=300)
=== RUN   TestDNSProviders/jpbe123.de/08:single_TXT:Empty
    integration_test.go:193: DELETE TXT foo.jpbe123.de "changed" ttl=300
=== RUN   TestDNSProviders/jpbe123.de/08:single_TXT:Create_a_TXT_with_spaces
    integration_test.go:193: CREATE TXT foo.jpbe123.de "with spaces" ttl=300
=== RUN   TestDNSProviders/jpbe123.de/08:single_TXT:Create_1_TXT_as_array
    integration_test.go:193: MODIFY TXT foo.jpbe123.de: ("with spaces" ttl=300) -> ("simple" ttl=300)
=== RUN   TestDNSProviders/jpbe123.de/08:single_TXT:Empty#01
    integration_test.go:193: DELETE TXT foo.jpbe123.de "simple" ttl=300
=== RUN   TestDNSProviders/jpbe123.de/08:single_TXT:Create_a_254-byte_TXT
    integration_test.go:193: CREATE TXT foo.jpbe123.de "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" ttl=300
=== RUN   TestDNSProviders/jpbe123.de/Post_cleanup:Empty#08
    integration_test.go:193: DELETE TXT foo.jpbe123.de "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" ttl=300
=== RUN   TestDNSProviders/jpbe123.de/09:max-sized_TXT:Create_a_255-byte_TXT
    integration_test.go:193: CREATE TXT foo.jpbe123.de "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" ttl=300
=== RUN   TestDNSProviders/jpbe123.de/Post_cleanup:Empty#09
    integration_test.go:193: DELETE TXT foo.jpbe123.de "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" ttl=300
=== RUN   TestDNSProviders/jpbe123.de/10:single_TXT_with_single-quote:Create_TXT_with_single-quote
    integration_test.go:193: CREATE TXT foo.jpbe123.de "blah`blah" ttl=300
=== RUN   TestDNSProviders/jpbe123.de/Post_cleanup:Empty#10
    integration_test.go:193: DELETE TXT foo.jpbe123.de "blah`blah" ttl=300
=== RUN   TestDNSProviders/jpbe123.de/11:ws_TXT:Change_a_TXT_with_ws_at_end
    integration_test.go:193: CREATE TXT foo.jpbe123.de "with space at end  " ttl=300
=== RUN   TestDNSProviders/jpbe123.de/Post_cleanup:Empty#11
    integration_test.go:193: DELETE TXT foo.jpbe123.de "with space at end  " ttl=300
=== RUN   TestDNSProviders/jpbe123.de/12:empty_TXT:TXT_with_empty_str
    integration_test.go:193: CREATE TXT foo1.jpbe123.de "" ttl=300
=== RUN   TestDNSProviders/jpbe123.de/Post_cleanup:Empty#12
    integration_test.go:193: DELETE TXT foo1.jpbe123.de "" ttl=300
=== RUN   TestDNSProviders/jpbe123.de/13:TypeChange:Create_a_CNAME
    integration_test.go:193: CREATE CNAME foo.jpbe123.de google.com. ttl=300
=== RUN   TestDNSProviders/jpbe123.de/13:TypeChange:Change_to_A_record
    integration_test.go:193: CREATE A foo.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:197: unexpected status code 422: https://master.anydns.io/api/v1/servers/localhost/zones/jpbe123.de RRset foo.jpbe123.de. IN A: Conflicts with pre-existing RRset
=== RUN   TestDNSProviders/jpbe123.de/Post_cleanup:Empty#13
    integration_test.go:193: DELETE CNAME foo.jpbe123.de google.com. ttl=300
=== RUN   TestDNSProviders/jpbe123.de/14:Case_Sensitivity:Create_CAPS
    integration_test.go:193: CREATE MX bar.jpbe123.de 5 bar.com. ttl=300
=== RUN   TestDNSProviders/jpbe123.de/Post_cleanup:Empty#14
    integration_test.go:193: DELETE MX bar.jpbe123.de 5 bar.com. ttl=300
=== RUN   TestDNSProviders/jpbe123.de/15:IDNA:Internationalized_name
    integration_test.go:193: CREATE A xn--ndaaa.jpbe123.de 1.2.3.4 ttl=300
=== RUN   TestDNSProviders/jpbe123.de/Post_cleanup:Empty#15
    integration_test.go:193: DELETE A xn--ndaaa.jpbe123.de 1.2.3.4 ttl=300
=== RUN   TestDNSProviders/jpbe123.de/16:IDNAs_in_CNAME_targets:IDN_CNAME_AND_Target
    integration_test.go:193: CREATE CNAME xn--o-0gab.jpbe123.de xn--ndaaa.xn--vhquv. ttl=300
=== RUN   TestDNSProviders/jpbe123.de/Post_cleanup:Empty#16
    integration_test.go:193: DELETE CNAME xn--o-0gab.jpbe123.de xn--ndaaa.xn--vhquv. ttl=300
=== RUN   TestDNSProviders/jpbe123.de/17:pager101:99_records
    integration_test.go:193: CREATE A rec0037.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0046.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0070.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0093.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0003.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0022.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0026.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0030.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0034.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0045.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0076.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0049.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0053.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0059.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0002.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0014.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0021.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0033.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0035.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0055.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0063.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0073.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0087.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0091.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0011.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0048.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0056.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0077.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0085.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0012.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0016.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0017.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0027.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0051.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0001.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0008.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0013.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0029.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0031.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0043.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0054.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0094.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0000.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0018.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0072.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0083.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0089.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0024.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0069.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0079.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0006.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0010.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0032.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0040.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0047.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0061.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0071.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0086.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0088.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0095.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0036.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0065.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0074.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0081.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0023.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0028.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0057.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0058.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0064.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0068.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0015.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0025.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0041.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0042.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0050.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0078.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0080.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0084.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0004.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0005.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0038.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0092.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0096.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0098.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0007.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0009.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0020.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0039.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0044.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0067.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0075.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0019.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0052.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0060.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0062.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0066.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0082.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0090.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0097.jpbe123.de 1.2.3.4 ttl=300
=== RUN   TestDNSProviders/jpbe123.de/Post_cleanup:Empty#17
    integration_test.go:193: DELETE A rec0005.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0034.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0057.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0058.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0061.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0092.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0001.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0024.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0052.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0069.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0079.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0083.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0096.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0019.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0030.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0060.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0082.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0039.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0059.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0064.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0078.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0038.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0045.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0055.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0036.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0041.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0046.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0053.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0076.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0090.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0093.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0006.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0011.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0013.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0025.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0043.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0047.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0075.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0085.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0000.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0051.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0054.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0091.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0098.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0002.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0003.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0017.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0020.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0027.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0040.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0072.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0084.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0094.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0012.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0016.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0021.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0037.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0067.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0070.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0077.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0095.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0008.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0014.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0022.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0033.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0042.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0066.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0010.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0018.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0028.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0044.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0080.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0007.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0015.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0065.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0023.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0029.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0031.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0048.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0049.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0073.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0086.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0097.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0004.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0032.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0050.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0063.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0068.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0071.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0088.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0089.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0009.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0026.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0035.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0056.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0062.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0074.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0081.jpbe123.de 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0087.jpbe123.de 1.2.3.4 ttl=300
=== RUN   TestDNSProviders/jpbe123.de/18:pager601_***SKIPPED(disabled_by_only)***:Empty
=== RUN   TestDNSProviders/jpbe123.de/19:pager1201_***SKIPPED(disabled_by_only)***:Empty
=== RUN   TestDNSProviders/jpbe123.de/20:CAA:CAA_record
    integration_test.go:193: CREATE CAA jpbe123.de 0 issue "letsencrypt.org" ttl=300
=== RUN   TestDNSProviders/jpbe123.de/Post_cleanup:Empty#18
    integration_test.go:193: DELETE CAA jpbe123.de 0 issue "letsencrypt.org" ttl=300
=== RUN   TestDNSProviders/jpbe123.de/21:CAA_with_;:CAA_many_records
    integration_test.go:193: CREATE CAA jpbe123.de 0 issuewild ";" ttl=300
=== RUN   TestDNSProviders/jpbe123.de/Post_cleanup:Empty#19
    integration_test.go:193: DELETE CAA jpbe123.de 0 issuewild ";" ttl=300
=== RUN   TestDNSProviders/jpbe123.de/22:NAPTR_***SKIPPED(CanUseNAPTR_not_supported)***:Empty
=== RUN   TestDNSProviders/jpbe123.de/23:PTR:Create_PTR_record
    integration_test.go:193: CREATE PTR 4.jpbe123.de foo.com. ttl=300
=== RUN   TestDNSProviders/jpbe123.de/Post_cleanup:Empty#20
    integration_test.go:193: DELETE PTR 4.jpbe123.de foo.com. ttl=300
=== RUN   TestDNSProviders/jpbe123.de/24:SRV:SRV_record
    integration_test.go:193: CREATE SRV _sip._tcp.jpbe123.de 5 6 7 foo.com. ttl=300
=== RUN   TestDNSProviders/jpbe123.de/Post_cleanup:Empty#21
    integration_test.go:193: DELETE SRV _sip._tcp.jpbe123.de 5 6 7 foo.com. ttl=300
=== RUN   TestDNSProviders/jpbe123.de/25:SRV_w/_null_target:Null_Target
    integration_test.go:193: CREATE SRV _sip._tcp.jpbe123.de 52 62 72 foo.com. ttl=300
           CREATE SRV _sip._tcp.jpbe123.de 15 65 75 . ttl=300
=== RUN   TestDNSProviders/jpbe123.de/Post_cleanup:Empty#22
    integration_test.go:193: DELETE SRV _sip._tcp.jpbe123.de 15 65 75 . ttl=300
           DELETE SRV _sip._tcp.jpbe123.de 52 62 72 foo.com. ttl=300
=== RUN   TestDNSProviders/jpbe123.de/26:SSHFP:SSHFP_record
    integration_test.go:193: CREATE SSHFP jpbe123.de 1 1 66C7D5540B7D75A1FB4C84FEBFA178AD99BDD67C ttl=300
=== RUN   TestDNSProviders/jpbe123.de/Post_cleanup:Empty#23
    integration_test.go:193: DELETE SSHFP jpbe123.de 1 1 66C7D5540B7D75A1FB4C84FEBFA178AD99BDD67C ttl=300
=== RUN   TestDNSProviders/jpbe123.de/27:TLSA:TLSA_record
    integration_test.go:193: CREATE TLSA _443._tcp.jpbe123.de 3 1 1 0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef ttl=300
=== RUN   TestDNSProviders/jpbe123.de/Post_cleanup:Empty#24
    integration_test.go:193: DELETE TLSA _443._tcp.jpbe123.de 3 1 1 0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef ttl=300
=== RUN   TestDNSProviders/jpbe123.de/28:TXTMulti_***SKIPPED(CanUseTXTMulti_not_supported)***:Empty
=== RUN   TestDNSProviders/jpbe123.de/29:TXTMulti_tests_that_break_DO_***SKIPPED(CanUseTXTMulti_not_supported)***:Empty
=== RUN   TestDNSProviders/jpbe123.de/30:DS_***SKIPPED(CanUseDS_not_supported)***:Empty
=== RUN   TestDNSProviders/jpbe123.de/31:DS_(children_only)_***SKIPPED(CanUseDSForChildren_not_supported)***:Empty
=== RUN   TestDNSProviders/jpbe123.de/32:DS_(children_only)_CLOUDNS_***SKIPPED(CanUseDSForChildren_not_supported)***:Empty
=== RUN   TestDNSProviders/jpbe123.de/33:ALIAS:ALIAS_at_root
    integration_test.go:193: CREATE ALIAS jpbe123.de foo.com. ttl=300
    integration_test.go:209: unknown rtype (ALIAS) when parsing (foo.com.) domain=(jpbe123.de)
=== RUN   TestDNSProviders/jpbe123.de/Post_cleanup:Empty#25
    integration_test.go:186: runTests: unknown rtype (ALIAS) when parsing (foo.com.) domain=(jpbe123.de)
=== RUN   TestDNSProviders/jpbe123.de/34:AZURE_ALIAS_***SKIPPED(CanUseAzureAlias_not_supported)***:Empty
    integration_test.go:186: runTests: unknown rtype (ALIAS) when parsing (foo.com.) domain=(jpbe123.de)
=== RUN   TestDNSProviders/jpbe123.de/35:R53_ALIAS2_***SKIPPED(CanUseRoute53Alias_not_supported)***:Empty
    integration_test.go:186: runTests: unknown rtype (ALIAS) when parsing (foo.com.) domain=(jpbe123.de)
=== RUN   TestDNSProviders/jpbe123.de/36:R53_ALIAS_ORDER_***SKIPPED(CanUseRoute53Alias_not_supported)***:Empty
    integration_test.go:186: runTests: unknown rtype (ALIAS) when parsing (foo.com.) domain=(jpbe123.de)
=== RUN   TestDNSProviders/jpbe123.de/37:CF_REDIRECT_***SKIPPED(disabled_by_only)***:Empty
    integration_test.go:186: runTests: unknown rtype (ALIAS) when parsing (foo.com.) domain=(jpbe123.de)
--- FAIL: TestDNSProviders (26.73s)
    --- FAIL: TestDNSProviders/jpbe123.de (26.73s)
        --- PASS: TestDNSProviders/jpbe123.de/Clean_Slate:Empty (0.34s)
        --- PASS: TestDNSProviders/jpbe123.de/00:GeneralACD:Create_an_A_record (0.18s)
        --- PASS: TestDNSProviders/jpbe123.de/00:GeneralACD:Change_it (0.17s)
        --- PASS: TestDNSProviders/jpbe123.de/00:GeneralACD:Add_another (0.17s)
        --- PASS: TestDNSProviders/jpbe123.de/00:GeneralACD:Add_another(same_name) (0.17s)
        --- PASS: TestDNSProviders/jpbe123.de/00:GeneralACD:Change_a_ttl (0.16s)
        --- PASS: TestDNSProviders/jpbe123.de/00:GeneralACD:Change_single_target_from_set (0.17s)
        --- PASS: TestDNSProviders/jpbe123.de/00:GeneralACD:Change_all_ttls (0.22s)
        --- PASS: TestDNSProviders/jpbe123.de/00:GeneralACD:Delete_one (0.17s)
        --- PASS: TestDNSProviders/jpbe123.de/00:GeneralACD:Add_back_and_change_ttl (0.22s)
        --- PASS: TestDNSProviders/jpbe123.de/00:GeneralACD:Change_targets_and_ttls (0.18s)
        --- PASS: TestDNSProviders/jpbe123.de/Post_cleanup:Empty (0.10s)
        --- PASS: TestDNSProviders/jpbe123.de/01:WildcardACD:Create_wildcard (0.20s)
        --- PASS: TestDNSProviders/jpbe123.de/01:WildcardACD:Delete_wildcard (0.17s)
        --- PASS: TestDNSProviders/jpbe123.de/Post_cleanup:Empty#01 (0.10s)
        --- PASS: TestDNSProviders/jpbe123.de/02:CNAME:Create_a_CNAME (0.18s)
        --- PASS: TestDNSProviders/jpbe123.de/02:CNAME:Change_CNAME_target (0.16s)
        --- PASS: TestDNSProviders/jpbe123.de/02:CNAME:Empty (0.10s)
        --- PASS: TestDNSProviders/jpbe123.de/02:CNAME:Record_pointing_to_@ (0.17s)
        --- PASS: TestDNSProviders/jpbe123.de/Post_cleanup:Empty#02 (0.10s)
        --- PASS: TestDNSProviders/jpbe123.de/03:MX:MX_record (0.16s)
        --- PASS: TestDNSProviders/jpbe123.de/03:MX:Second_MX_record,_same_prio (0.17s)
        --- PASS: TestDNSProviders/jpbe123.de/03:MX:3_MX (0.16s)
        --- PASS: TestDNSProviders/jpbe123.de/03:MX:Delete_one (0.18s)
        --- PASS: TestDNSProviders/jpbe123.de/03:MX:Change_to_other_name (0.19s)
        --- PASS: TestDNSProviders/jpbe123.de/03:MX:Change_Preference (0.17s)
        --- PASS: TestDNSProviders/jpbe123.de/03:MX:Record_pointing_to_@ (0.25s)
        --- PASS: TestDNSProviders/jpbe123.de/Post_cleanup:Empty#03 (0.11s)
        --- PASS: TestDNSProviders/jpbe123.de/04:Null_MX:Null_MX (0.16s)
        --- PASS: TestDNSProviders/jpbe123.de/Post_cleanup:Empty#04 (0.11s)
        --- PASS: TestDNSProviders/jpbe123.de/05:NS:NS_for_subdomain (0.17s)
        --- PASS: TestDNSProviders/jpbe123.de/05:NS:Dual_NS_for_subdomain (0.17s)
        --- PASS: TestDNSProviders/jpbe123.de/05:NS:NS_Record_pointing_to_@ (0.26s)
        --- PASS: TestDNSProviders/jpbe123.de/Post_cleanup:Empty#05 (0.15s)
        --- PASS: TestDNSProviders/jpbe123.de/06:IGNORE_NAME_function:Create_some_records (0.21s)
        --- PASS: TestDNSProviders/jpbe123.de/06:IGNORE_NAME_function:Add_a_new_record_-_ignoring_foo (0.19s)
        --- PASS: TestDNSProviders/jpbe123.de/06:IGNORE_NAME_function:Empty (0.18s)
        --- PASS: TestDNSProviders/jpbe123.de/06:IGNORE_NAME_function:Create_some_records#01 (0.27s)
        --- PASS: TestDNSProviders/jpbe123.de/06:IGNORE_NAME_function:Add_a_new_record_-_ignoring_*.foo (0.16s)
        --- PASS: TestDNSProviders/jpbe123.de/Post_cleanup:Empty#06 (0.19s)
        --- PASS: TestDNSProviders/jpbe123.de/07:IGNORE_TARGET_function:Create_some_records (0.20s)
        --- PASS: TestDNSProviders/jpbe123.de/07:IGNORE_TARGET_function:Add_a_new_record_-_ignoring_test.foo.com. (0.16s)
        --- PASS: TestDNSProviders/jpbe123.de/07:IGNORE_TARGET_function:Empty (0.13s)
        --- PASS: TestDNSProviders/jpbe123.de/07:IGNORE_TARGET_function:Create_some_records#01 (0.21s)
        --- PASS: TestDNSProviders/jpbe123.de/07:IGNORE_TARGET_function:Add_a_new_record_-_ignoring_**.foo.com._targets (0.21s)
        --- PASS: TestDNSProviders/jpbe123.de/Post_cleanup:Empty#07 (0.14s)
        --- PASS: TestDNSProviders/jpbe123.de/08:single_TXT:Create_a_TXT (0.16s)
        --- PASS: TestDNSProviders/jpbe123.de/08:single_TXT:Change_a_TXT (0.16s)
        --- PASS: TestDNSProviders/jpbe123.de/08:single_TXT:Empty (0.10s)
        --- PASS: TestDNSProviders/jpbe123.de/08:single_TXT:Create_a_TXT_with_spaces (0.17s)
        --- PASS: TestDNSProviders/jpbe123.de/08:single_TXT:Create_1_TXT_as_array (0.18s)
        --- PASS: TestDNSProviders/jpbe123.de/08:single_TXT:Empty#01 (0.10s)
        --- PASS: TestDNSProviders/jpbe123.de/08:single_TXT:Create_a_254-byte_TXT (0.16s)
        --- PASS: TestDNSProviders/jpbe123.de/Post_cleanup:Empty#08 (0.11s)
        --- PASS: TestDNSProviders/jpbe123.de/09:max-sized_TXT:Create_a_255-byte_TXT (0.16s)
        --- PASS: TestDNSProviders/jpbe123.de/Post_cleanup:Empty#09 (0.10s)
        --- PASS: TestDNSProviders/jpbe123.de/10:single_TXT_with_single-quote:Create_TXT_with_single-quote (0.16s)
        --- PASS: TestDNSProviders/jpbe123.de/Post_cleanup:Empty#10 (0.10s)
        --- PASS: TestDNSProviders/jpbe123.de/11:ws_TXT:Change_a_TXT_with_ws_at_end (0.16s)
        --- PASS: TestDNSProviders/jpbe123.de/Post_cleanup:Empty#11 (0.10s)
        --- PASS: TestDNSProviders/jpbe123.de/12:empty_TXT:TXT_with_empty_str (0.17s)
        --- PASS: TestDNSProviders/jpbe123.de/Post_cleanup:Empty#12 (0.09s)
        --- PASS: TestDNSProviders/jpbe123.de/13:TypeChange:Create_a_CNAME (0.17s)
        --- FAIL: TestDNSProviders/jpbe123.de/13:TypeChange:Change_to_A_record (0.10s)
        --- PASS: TestDNSProviders/jpbe123.de/Post_cleanup:Empty#13 (0.10s)
        --- PASS: TestDNSProviders/jpbe123.de/14:Case_Sensitivity:Create_CAPS (0.18s)
        --- PASS: TestDNSProviders/jpbe123.de/Post_cleanup:Empty#14 (0.10s)
        --- PASS: TestDNSProviders/jpbe123.de/15:IDNA:Internationalized_name (0.18s)
        --- PASS: TestDNSProviders/jpbe123.de/Post_cleanup:Empty#15 (0.09s)
        --- PASS: TestDNSProviders/jpbe123.de/16:IDNAs_in_CNAME_targets:IDN_CNAME_AND_Target (0.18s)
        --- PASS: TestDNSProviders/jpbe123.de/Post_cleanup:Empty#16 (0.10s)
        --- PASS: TestDNSProviders/jpbe123.de/17:pager101:99_records (6.44s)
        --- PASS: TestDNSProviders/jpbe123.de/Post_cleanup:Empty#17 (6.16s)
        --- PASS: TestDNSProviders/jpbe123.de/18:pager601_***SKIPPED(disabled_by_only)***:Empty (0.06s)
        --- PASS: TestDNSProviders/jpbe123.de/19:pager1201_***SKIPPED(disabled_by_only)***:Empty (0.06s)
        --- PASS: TestDNSProviders/jpbe123.de/20:CAA:CAA_record (0.16s)
        --- PASS: TestDNSProviders/jpbe123.de/Post_cleanup:Empty#18 (0.10s)
        --- PASS: TestDNSProviders/jpbe123.de/21:CAA_with_;:CAA_many_records (0.15s)
        --- PASS: TestDNSProviders/jpbe123.de/Post_cleanup:Empty#19 (0.09s)
        --- PASS: TestDNSProviders/jpbe123.de/22:NAPTR_***SKIPPED(CanUseNAPTR_not_supported)***:Empty (0.06s)
        --- PASS: TestDNSProviders/jpbe123.de/23:PTR:Create_PTR_record (0.17s)
        --- PASS: TestDNSProviders/jpbe123.de/Post_cleanup:Empty#20 (0.10s)
        --- PASS: TestDNSProviders/jpbe123.de/24:SRV:SRV_record (0.16s)
        --- PASS: TestDNSProviders/jpbe123.de/Post_cleanup:Empty#21 (0.10s)
        --- PASS: TestDNSProviders/jpbe123.de/25:SRV_w/_null_target:Null_Target (0.16s)
        --- PASS: TestDNSProviders/jpbe123.de/Post_cleanup:Empty#22 (0.10s)
        --- PASS: TestDNSProviders/jpbe123.de/26:SSHFP:SSHFP_record (0.18s)
        --- PASS: TestDNSProviders/jpbe123.de/Post_cleanup:Empty#23 (0.11s)
        --- PASS: TestDNSProviders/jpbe123.de/27:TLSA:TLSA_record (0.17s)
        --- PASS: TestDNSProviders/jpbe123.de/Post_cleanup:Empty#24 (0.11s)
        --- PASS: TestDNSProviders/jpbe123.de/28:TXTMulti_***SKIPPED(CanUseTXTMulti_not_supported)***:Empty (0.06s)
        --- PASS: TestDNSProviders/jpbe123.de/29:TXTMulti_tests_that_break_DO_***SKIPPED(CanUseTXTMulti_not_supported)***:Empty (0.06s)
        --- PASS: TestDNSProviders/jpbe123.de/30:DS_***SKIPPED(CanUseDS_not_supported)***:Empty (0.08s)
        --- PASS: TestDNSProviders/jpbe123.de/31:DS_(children_only)_***SKIPPED(CanUseDSForChildren_not_supported)***:Empty (0.07s)
        --- PASS: TestDNSProviders/jpbe123.de/32:DS_(children_only)_CLOUDNS_***SKIPPED(CanUseDSForChildren_not_supported)***:Empty (0.07s)
        --- FAIL: TestDNSProviders/jpbe123.de/33:ALIAS:ALIAS_at_root (0.15s)
        --- FAIL: TestDNSProviders/jpbe123.de/Post_cleanup:Empty#25 (0.03s)
        --- FAIL: TestDNSProviders/jpbe123.de/34:AZURE_ALIAS_***SKIPPED(CanUseAzureAlias_not_supported)***:Empty (0.03s)
        --- FAIL: TestDNSProviders/jpbe123.de/35:R53_ALIAS2_***SKIPPED(CanUseRoute53Alias_not_supported)***:Empty (0.04s)
        --- FAIL: TestDNSProviders/jpbe123.de/36:R53_ALIAS_ORDER_***SKIPPED(CanUseRoute53Alias_not_supported)***:Empty (0.04s)
        --- FAIL: TestDNSProviders/jpbe123.de/37:CF_REDIRECT_***SKIPPED(disabled_by_only)***:Empty (0.03s)
=== RUN   TestDualProviders
    integration_test.go:290: Clearing everything
    integration_test.go:281: unknown rtype (ALIAS) when parsing (foo.com.) domain=(jpbe123.de)
--- FAIL: TestDualProviders (0.04s)
FAIL
exit status 1
`
``


</details>

kordianbruck: LGTM for netcup. Just the usual failure as the provider still doesn't allow TTL modification for individual records.

<details>
<summary>go test -v -verbose -provider NETCUP</summary>
=== RUN   TestDNSProviders
=== RUN   TestDNSProviders/example.com
=== RUN   TestDNSProviders/example.com/Clean_Slate:Empty
    integration_test.go:193: DELETE A rec0000.example.com 1.2.3.4 ttl=0, Netcup ID: 33597137
    integration_test.go:193: DELETE A rec0001.example.com 1.2.3.4 ttl=0, Netcup ID: 33597138
    integration_test.go:193: DELETE A rec0002.example.com 1.2.3.4 ttl=0, Netcup ID: 33597139
    integration_test.go:193: DELETE A rec0003.example.com 1.2.3.4 ttl=0, Netcup ID: 33597153
    integration_test.go:193: DELETE A rec0004.example.com 1.2.3.4 ttl=0, Netcup ID: 33597154
    integration_test.go:193: DELETE A rec0005.example.com 1.2.3.4 ttl=0, Netcup ID: 33597155
    integration_test.go:193: DELETE A rec0006.example.com 1.2.3.4 ttl=0, Netcup ID: 33597156
    integration_test.go:193: DELETE A rec0007.example.com 1.2.3.4 ttl=0, Netcup ID: 33597157
    integration_test.go:193: DELETE A rec0008.example.com 1.2.3.4 ttl=0, Netcup ID: 33597158
    integration_test.go:193: DELETE A rec0009.example.com 1.2.3.4 ttl=0, Netcup ID: 33597159
    integration_test.go:193: DELETE A rec0010.example.com 1.2.3.4 ttl=0, Netcup ID: 33597160
    integration_test.go:193: DELETE A rec0011.example.com 1.2.3.4 ttl=0, Netcup ID: 33597161
    integration_test.go:193: DELETE A rec0012.example.com 1.2.3.4 ttl=0, Netcup ID: 33597162
    integration_test.go:193: DELETE A rec0013.example.com 1.2.3.4 ttl=0, Netcup ID: 33597163
=== RUN   TestDNSProviders/example.com/00:GeneralACD:Create_an_A_record
    integration_test.go:193: CREATE A example.com 1.1.1.1 ttl=0
=== RUN   TestDNSProviders/example.com/00:GeneralACD:Change_it
    integration_test.go:193: MODIFY A example.com: (1.1.1.1 ttl=0) -> (1.2.3.4 ttl=0), Netcup ID: 33597164: 
=== RUN   TestDNSProviders/example.com/00:GeneralACD:Add_another
    integration_test.go:193: CREATE A www.example.com 1.2.3.4 ttl=0
=== RUN   TestDNSProviders/example.com/00:GeneralACD:Add_another(same_name)
    integration_test.go:193: CREATE A www.example.com 5.6.7.8 ttl=0
=== RUN   TestDNSProviders/example.com/00:GeneralACD:Change_a_ttl
    integration_test.go:189: Expected changes, but got none
=== RUN   TestDNSProviders/example.com/Post_cleanup:Empty
    integration_test.go:193: DELETE A example.com 1.2.3.4 ttl=0, Netcup ID: 33597164
    integration_test.go:193: DELETE A www.example.com 1.2.3.4 ttl=0, Netcup ID: 33597165
    integration_test.go:193: DELETE A www.example.com 5.6.7.8 ttl=0, Netcup ID: 33597166
=== RUN   TestDNSProviders/example.com/01:WildcardACD:Create_wildcard
    integration_test.go:193: CREATE A *.example.com 1.2.3.4 ttl=0
    integration_test.go:193: CREATE A www.example.com 1.1.1.1 ttl=0
=== RUN   TestDNSProviders/example.com/Post_cleanup:Empty#01
    integration_test.go:193: DELETE A *.example.com 1.2.3.4 ttl=0, Netcup ID: 33597167
    integration_test.go:193: DELETE A www.example.com 1.1.1.1 ttl=0, Netcup ID: 33597168
=== RUN   TestDNSProviders/example.com/02:CNAME:Create_a_CNAME
    integration_test.go:193: CREATE CNAME foo.example.com google.com. ttl=0
=== RUN   TestDNSProviders/example.com/Post_cleanup:Empty#02
    integration_test.go:193: DELETE CNAME foo.example.com google.com. ttl=0, Netcup ID: 33597169
=== RUN   TestDNSProviders/example.com/03:MX:MX_record
    integration_test.go:193: CREATE MX example.com 5 foo.com. ttl=0
=== RUN   TestDNSProviders/example.com/Post_cleanup:Empty#03
    integration_test.go:193: DELETE MX example.com 5 foo.com. ttl=0, Netcup ID: 33597170
=== RUN   TestDNSProviders/example.com/04:Null_MX_***SKIPPED(excluded_by_not("NETCUP"))***:Empty
=== RUN   TestDNSProviders/example.com/05:NS_***SKIPPED(excluded_by_not("NETCUP"))***:Empty
=== RUN   TestDNSProviders/example.com/06:IGNORE_NAME_function:Create_some_records
    integration_test.go:193: CREATE TXT foo.example.com "simple" ttl=0
    integration_test.go:193: CREATE A foo.example.com 1.2.3.4 ttl=0
=== RUN   TestDNSProviders/example.com/Post_cleanup:Empty#04
    integration_test.go:193: DELETE TXT foo.example.com "simple" ttl=0, Netcup ID: 33597171
    integration_test.go:193: DELETE A foo.example.com 1.2.3.4 ttl=0, Netcup ID: 33597172
=== RUN   TestDNSProviders/example.com/07:IGNORE_TARGET_function:Create_some_records
    integration_test.go:193: CREATE CNAME bar.example.com test.bar.com. ttl=0
    integration_test.go:193: CREATE CNAME foo.example.com test.foo.com. ttl=0
=== RUN   TestDNSProviders/example.com/Post_cleanup:Empty#05
    integration_test.go:193: DELETE CNAME bar.example.com test.bar.com. ttl=0, Netcup ID: 33597173
    integration_test.go:193: DELETE CNAME foo.example.com test.foo.com. ttl=0, Netcup ID: 33597174
=== RUN   TestDNSProviders/example.com/08:single_TXT:Create_a_TXT
    integration_test.go:193: CREATE TXT foo.example.com "simple" ttl=0
=== RUN   TestDNSProviders/example.com/Post_cleanup:Empty#06
    integration_test.go:193: DELETE TXT foo.example.com "simple" ttl=0, Netcup ID: 33597175
=== RUN   TestDNSProviders/example.com/09:max-sized_TXT:Create_a_255-byte_TXT
    integration_test.go:193: CREATE TXT foo.example.com "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" ttl=0
=== RUN   TestDNSProviders/example.com/Post_cleanup:Empty#07
    integration_test.go:193: DELETE TXT foo.example.com "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" ttl=0, Netcup ID: 33597176
=== RUN   TestDNSProviders/example.com/10:single_TXT_with_single-quote:Create_TXT_with_single-quote
    integration_test.go:193: CREATE TXT foo.example.com "blah`blah" ttl=0
=== RUN   TestDNSProviders/example.com/Post_cleanup:Empty#08
    integration_test.go:193: DELETE TXT foo.example.com "blah`blah" ttl=0, Netcup ID: 33597177
=== RUN   TestDNSProviders/example.com/11:ws_TXT:Change_a_TXT_with_ws_at_end
    integration_test.go:193: CREATE TXT foo.example.com "with space at end  " ttl=0
=== RUN   TestDNSProviders/example.com/Post_cleanup:Empty#09
    integration_test.go:193: DELETE TXT foo.example.com "with space at end  " ttl=0, Netcup ID: 33597178
=== RUN   TestDNSProviders/example.com/12:empty_TXT_***SKIPPED(excluded_by_not("NETCUP"))***:Empty
=== RUN   TestDNSProviders/example.com/13:TypeChange:Create_a_CNAME
    integration_test.go:193: CREATE CNAME foo.example.com google.com. ttl=0
=== RUN   TestDNSProviders/example.com/Post_cleanup:Empty#10
    integration_test.go:193: DELETE CNAME foo.example.com google.com. ttl=0, Netcup ID: 33597179
=== RUN   TestDNSProviders/example.com/14:Case_Sensitivity:Create_CAPS
    integration_test.go:193: CREATE MX bar.example.com 5 bar.com. ttl=0
=== RUN   TestDNSProviders/example.com/Post_cleanup:Empty#11
    integration_test.go:193: DELETE MX bar.example.com 5 bar.com. ttl=0, Netcup ID: 33597180
=== RUN   TestDNSProviders/example.com/15:IDNA:Internationalized_name
    integration_test.go:193: CREATE A xn--ndaaa.example.com 1.2.3.4 ttl=0
=== RUN   TestDNSProviders/example.com/Post_cleanup:Empty#12
    integration_test.go:193: DELETE A xn--ndaaa.example.com 1.2.3.4 ttl=0, Netcup ID: 33597181
=== RUN   TestDNSProviders/example.com/16:IDNAs_in_CNAME_targets:IDN_CNAME_AND_Target
    integration_test.go:193: CREATE CNAME xn--o-0gab.example.com xn--ndaaa.xn--vhquv. ttl=0
=== RUN   TestDNSProviders/example.com/Post_cleanup:Empty#13
    integration_test.go:193: DELETE CNAME xn--o-0gab.example.com xn--ndaaa.xn--vhquv. ttl=0, Netcup ID: 33597182
=== RUN   TestDNSProviders/example.com/17:pager101:99_records
    integration_test.go:193: CREATE A rec0000.example.com 1.2.3.4 ttl=0
    integration_test.go:193: CREATE A rec0001.example.com 1.2.3.4 ttl=0
    integration_test.go:193: CREATE A rec0002.example.com 1.2.3.4 ttl=0
    integration_test.go:193: CREATE A rec0003.example.com 1.2.3.4 ttl=0
    integration_test.go:193: CREATE A rec0004.example.com 1.2.3.4 ttl=0
    integration_test.go:193: CREATE A rec0005.example.com 1.2.3.4 ttl=0
    integration_test.go:193: CREATE A rec0006.example.com 1.2.3.4 ttl=0
    integration_test.go:193: CREATE A rec0007.example.com 1.2.3.4 ttl=0
    integration_test.go:193: CREATE A rec0008.example.com 1.2.3.4 ttl=0
    integration_test.go:193: CREATE A rec0009.example.com 1.2.3.4 ttl=0
    integration_test.go:193: CREATE A rec0010.example.com 1.2.3.4 ttl=0
    integration_test.go:193: CREATE A rec0011.example.com 1.2.3.4 ttl=0
    integration_test.go:193: CREATE A rec0012.example.com 1.2.3.4 ttl=0
    integration_test.go:193: CREATE A rec0013.example.com 1.2.3.4 ttl=0
    integration_test.go:193: CREATE A rec0014.example.com 1.2.3.4 ttl=0
    integration_test.go:193: CREATE A rec0015.example.com 1.2.3.4 ttl=0
    integration_test.go:193: CREATE A rec0016.example.com 1.2.3.4 ttl=0
    integration_test.go:193: CREATE A rec0017.example.com 1.2.3.4 ttl=0
    integration_test.go:193: CREATE A rec0018.example.com 1.2.3.4 ttl=0
    integration_test.go:193: CREATE A rec0019.example.com 1.2.3.4 ttl=0
    integration_test.go:193: CREATE A rec0020.example.com 1.2.3.4 ttl=0
    integration_test.go:193: CREATE A rec0021.example.com 1.2.3.4 ttl=0
    integration_test.go:193: CREATE A rec0022.example.com 1.2.3.4 ttl=0
    integration_test.go:193: CREATE A rec0023.example.com 1.2.3.4 ttl=0
    integration_test.go:193: CREATE A rec0024.example.com 1.2.3.4 ttl=0
    integration_test.go:193: CREATE A rec0025.example.com 1.2.3.4 ttl=0
    integration_test.go:193: CREATE A rec0026.example.com 1.2.3.4 ttl=0
    integration_test.go:193: CREATE A rec0027.example.com 1.2.3.4 ttl=0
    integration_test.go:193: CREATE A rec0028.example.com 1.2.3.4 ttl=0
    integration_test.go:193: CREATE A rec0029.example.com 1.2.3.4 ttl=0
    integration_test.go:193: CREATE A rec0030.example.com 1.2.3.4 ttl=0
    integration_test.go:193: CREATE A rec0031.example.com 1.2.3.4 ttl=0
    integration_test.go:193: CREATE A rec0032.example.com 1.2.3.4 ttl=0
    integration_test.go:193: CREATE A rec0033.example.com 1.2.3.4 ttl=0
    integration_test.go:193: CREATE A rec0034.example.com 1.2.3.4 ttl=0
    integration_test.go:193: CREATE A rec0035.example.com 1.2.3.4 ttl=0
    integration_test.go:193: CREATE A rec0036.example.com 1.2.3.4 ttl=0
    integration_test.go:193: CREATE A rec0037.example.com 1.2.3.4 ttl=0
    integration_test.go:193: CREATE A rec0038.example.com 1.2.3.4 ttl=0
    integration_test.go:193: CREATE A rec0039.example.com 1.2.3.4 ttl=0
    integration_test.go:193: CREATE A rec0040.example.com 1.2.3.4 ttl=0
    integration_test.go:193: CREATE A rec0041.example.com 1.2.3.4 ttl=0
    integration_test.go:193: CREATE A rec0042.example.com 1.2.3.4 ttl=0
    integration_test.go:193: CREATE A rec0043.example.com 1.2.3.4 ttl=0
    integration_test.go:193: CREATE A rec0044.example.com 1.2.3.4 ttl=0
    integration_test.go:193: CREATE A rec0045.example.com 1.2.3.4 ttl=0
    integration_test.go:193: CREATE A rec0046.example.com 1.2.3.4 ttl=0
    integration_test.go:193: CREATE A rec0047.example.com 1.2.3.4 ttl=0
    integration_test.go:193: CREATE A rec0048.example.com 1.2.3.4 ttl=0
    integration_test.go:193: CREATE A rec0049.example.com 1.2.3.4 ttl=0
    integration_test.go:193: CREATE A rec0050.example.com 1.2.3.4 ttl=0
    integration_test.go:193: CREATE A rec0051.example.com 1.2.3.4 ttl=0
    integration_test.go:193: CREATE A rec0052.example.com 1.2.3.4 ttl=0
    integration_test.go:193: CREATE A rec0053.example.com 1.2.3.4 ttl=0
    integration_test.go:193: CREATE A rec0054.example.com 1.2.3.4 ttl=0
    integration_test.go:193: CREATE A rec0055.example.com 1.2.3.4 ttl=0
    integration_test.go:193: CREATE A rec0056.example.com 1.2.3.4 ttl=0
    integration_test.go:193: CREATE A rec0057.example.com 1.2.3.4 ttl=0
    integration_test.go:193: CREATE A rec0058.example.com 1.2.3.4 ttl=0
    integration_test.go:193: CREATE A rec0059.example.com 1.2.3.4 ttl=0
    integration_test.go:193: CREATE A rec0060.example.com 1.2.3.4 ttl=0
    integration_test.go:193: CREATE A rec0061.example.com 1.2.3.4 ttl=0
    integration_test.go:193: CREATE A rec0062.example.com 1.2.3.4 ttl=0
    integration_test.go:193: CREATE A rec0063.example.com 1.2.3.4 ttl=0
    integration_test.go:193: CREATE A rec0064.example.com 1.2.3.4 ttl=0
    integration_test.go:193: CREATE A rec0065.example.com 1.2.3.4 ttl=0
    integration_test.go:193: CREATE A rec0066.example.com 1.2.3.4 ttl=0
    integration_test.go:193: CREATE A rec0067.example.com 1.2.3.4 ttl=0
    integration_test.go:193: CREATE A rec0068.example.com 1.2.3.4 ttl=0
    integration_test.go:193: CREATE A rec0069.example.com 1.2.3.4 ttl=0
    integration_test.go:193: CREATE A rec0070.example.com 1.2.3.4 ttl=0
    integration_test.go:193: CREATE A rec0071.example.com 1.2.3.4 ttl=0
    integration_test.go:193: CREATE A rec0072.example.com 1.2.3.4 ttl=0
    integration_test.go:193: CREATE A rec0073.example.com 1.2.3.4 ttl=0
    integration_test.go:193: CREATE A rec0074.example.com 1.2.3.4 ttl=0
    integration_test.go:193: CREATE A rec0075.example.com 1.2.3.4 ttl=0
    integration_test.go:193: CREATE A rec0076.example.com 1.2.3.4 ttl=0
    integration_test.go:193: CREATE A rec0077.example.com 1.2.3.4 ttl=0
    integration_test.go:193: CREATE A rec0078.example.com 1.2.3.4 ttl=0
    integration_test.go:193: CREATE A rec0079.example.com 1.2.3.4 ttl=0
    integration_test.go:193: CREATE A rec0080.example.com 1.2.3.4 ttl=0
    integration_test.go:193: CREATE A rec0081.example.com 1.2.3.4 ttl=0
    integration_test.go:193: CREATE A rec0082.example.com 1.2.3.4 ttl=0
    integration_test.go:193: CREATE A rec0083.example.com 1.2.3.4 ttl=0
    integration_test.go:193: CREATE A rec0084.example.com 1.2.3.4 ttl=0
    integration_test.go:193: CREATE A rec0085.example.com 1.2.3.4 ttl=0
    integration_test.go:193: CREATE A rec0086.example.com 1.2.3.4 ttl=0
    integration_test.go:193: CREATE A rec0087.example.com 1.2.3.4 ttl=0
    integration_test.go:193: CREATE A rec0088.example.com 1.2.3.4 ttl=0
    integration_test.go:193: CREATE A rec0089.example.com 1.2.3.4 ttl=0
    integration_test.go:193: CREATE A rec0090.example.com 1.2.3.4 ttl=0
    integration_test.go:193: CREATE A rec0091.example.com 1.2.3.4 ttl=0
    integration_test.go:193: CREATE A rec0092.example.com 1.2.3.4 ttl=0
    integration_test.go:193: CREATE A rec0093.example.com 1.2.3.4 ttl=0
    integration_test.go:193: CREATE A rec0094.example.com 1.2.3.4 ttl=0
    integration_test.go:193: CREATE A rec0095.example.com 1.2.3.4 ttl=0
    integration_test.go:193: CREATE A rec0096.example.com 1.2.3.4 ttl=0
    integration_test.go:193: CREATE A rec0097.example.com 1.2.3.4 ttl=0
    integration_test.go:193: CREATE A rec0098.example.com 1.2.3.4 ttl=0
=== RUN   TestDNSProviders/example.com/Post_cleanup:Empty#14
    integration_test.go:193: DELETE A rec0000.example.com 1.2.3.4 ttl=0, Netcup ID: 33597183
    integration_test.go:193: DELETE A rec0001.example.com 1.2.3.4 ttl=0, Netcup ID: 33597184
    integration_test.go:193: DELETE A rec0002.example.com 1.2.3.4 ttl=0, Netcup ID: 33597185
    integration_test.go:193: DELETE A rec0003.example.com 1.2.3.4 ttl=0, Netcup ID: 33597186
    integration_test.go:193: DELETE A rec0004.example.com 1.2.3.4 ttl=0, Netcup ID: 33597187
    integration_test.go:193: DELETE A rec0005.example.com 1.2.3.4 ttl=0, Netcup ID: 33597188
    integration_test.go:193: DELETE A rec0006.example.com 1.2.3.4 ttl=0, Netcup ID: 33597339
    integration_test.go:193: DELETE A rec0007.example.com 1.2.3.4 ttl=0, Netcup ID: 33597383
    integration_test.go:193: DELETE A rec0008.example.com 1.2.3.4 ttl=0, Netcup ID: 33597418
    integration_test.go:193: DELETE A rec0009.example.com 1.2.3.4 ttl=0, Netcup ID: 33597419
    integration_test.go:193: DELETE A rec0010.example.com 1.2.3.4 ttl=0, Netcup ID: 33597420
    integration_test.go:193: DELETE A rec0011.example.com 1.2.3.4 ttl=0, Netcup ID: 33597421
    integration_test.go:193: DELETE A rec0012.example.com 1.2.3.4 ttl=0, Netcup ID: 33597422
    integration_test.go:193: DELETE A rec0013.example.com 1.2.3.4 ttl=0, Netcup ID: 33597423
    integration_test.go:193: DELETE A rec0014.example.com 1.2.3.4 ttl=0, Netcup ID: 33597424
    integration_test.go:193: DELETE A rec0015.example.com 1.2.3.4 ttl=0, Netcup ID: 33597425
    integration_test.go:193: DELETE A rec0016.example.com 1.2.3.4 ttl=0, Netcup ID: 33597426
    integration_test.go:193: DELETE A rec0017.example.com 1.2.3.4 ttl=0, Netcup ID: 33597427
    integration_test.go:193: DELETE A rec0018.example.com 1.2.3.4 ttl=0, Netcup ID: 33597428
    integration_test.go:193: DELETE A rec0019.example.com 1.2.3.4 ttl=0, Netcup ID: 33597429
    integration_test.go:193: DELETE A rec0020.example.com 1.2.3.4 ttl=0, Netcup ID: 33597430
    integration_test.go:193: DELETE A rec0021.example.com 1.2.3.4 ttl=0, Netcup ID: 33597431
    integration_test.go:193: DELETE A rec0022.example.com 1.2.3.4 ttl=0, Netcup ID: 33597432
    integration_test.go:193: DELETE A rec0023.example.com 1.2.3.4 ttl=0, Netcup ID: 33597433
    integration_test.go:193: DELETE A rec0024.example.com 1.2.3.4 ttl=0, Netcup ID: 33597434
    integration_test.go:193: DELETE A rec0025.example.com 1.2.3.4 ttl=0, Netcup ID: 33597435
    integration_test.go:193: DELETE A rec0026.example.com 1.2.3.4 ttl=0, Netcup ID: 33597436
    integration_test.go:193: DELETE A rec0027.example.com 1.2.3.4 ttl=0, Netcup ID: 33597437
    integration_test.go:193: DELETE A rec0028.example.com 1.2.3.4 ttl=0, Netcup ID: 33597438
    integration_test.go:193: DELETE A rec0029.example.com 1.2.3.4 ttl=0, Netcup ID: 33597439
    integration_test.go:193: DELETE A rec0030.example.com 1.2.3.4 ttl=0, Netcup ID: 33597440
    integration_test.go:193: DELETE A rec0031.example.com 1.2.3.4 ttl=0, Netcup ID: 33597441
    integration_test.go:193: DELETE A rec0032.example.com 1.2.3.4 ttl=0, Netcup ID: 33597442
    integration_test.go:193: DELETE A rec0033.example.com 1.2.3.4 ttl=0, Netcup ID: 33597443
    integration_test.go:193: DELETE A rec0034.example.com 1.2.3.4 ttl=0, Netcup ID: 33597444
    integration_test.go:193: DELETE A rec0035.example.com 1.2.3.4 ttl=0, Netcup ID: 33597445
    integration_test.go:193: DELETE A rec0036.example.com 1.2.3.4 ttl=0, Netcup ID: 33597446
    integration_test.go:193: DELETE A rec0037.example.com 1.2.3.4 ttl=0, Netcup ID: 33597447
    integration_test.go:193: DELETE A rec0038.example.com 1.2.3.4 ttl=0, Netcup ID: 33597448
    integration_test.go:193: DELETE A rec0039.example.com 1.2.3.4 ttl=0, Netcup ID: 33597449
    integration_test.go:193: DELETE A rec0040.example.com 1.2.3.4 ttl=0, Netcup ID: 33597450
    integration_test.go:193: DELETE A rec0041.example.com 1.2.3.4 ttl=0, Netcup ID: 33597451
    integration_test.go:193: DELETE A rec0042.example.com 1.2.3.4 ttl=0, Netcup ID: 33597452
    integration_test.go:193: DELETE A rec0043.example.com 1.2.3.4 ttl=0, Netcup ID: 33597453
    integration_test.go:193: DELETE A rec0044.example.com 1.2.3.4 ttl=0, Netcup ID: 33597454
    integration_test.go:193: DELETE A rec0045.example.com 1.2.3.4 ttl=0, Netcup ID: 33597455
    integration_test.go:193: DELETE A rec0046.example.com 1.2.3.4 ttl=0, Netcup ID: 33597456
    integration_test.go:193: DELETE A rec0047.example.com 1.2.3.4 ttl=0, Netcup ID: 33597457
    integration_test.go:193: DELETE A rec0048.example.com 1.2.3.4 ttl=0, Netcup ID: 33597458
    integration_test.go:193: DELETE A rec0049.example.com 1.2.3.4 ttl=0, Netcup ID: 33597459
    integration_test.go:193: DELETE A rec0050.example.com 1.2.3.4 ttl=0, Netcup ID: 33597460
    integration_test.go:193: DELETE A rec0051.example.com 1.2.3.4 ttl=0, Netcup ID: 33597461
    integration_test.go:193: DELETE A rec0052.example.com 1.2.3.4 ttl=0, Netcup ID: 33597462
    integration_test.go:193: DELETE A rec0053.example.com 1.2.3.4 ttl=0, Netcup ID: 33597463
    integration_test.go:193: DELETE A rec0054.example.com 1.2.3.4 ttl=0, Netcup ID: 33597464
    integration_test.go:193: DELETE A rec0055.example.com 1.2.3.4 ttl=0, Netcup ID: 33597465
    integration_test.go:193: DELETE A rec0056.example.com 1.2.3.4 ttl=0, Netcup ID: 33597466
    integration_test.go:193: DELETE A rec0057.example.com 1.2.3.4 ttl=0, Netcup ID: 33597467
    integration_test.go:193: DELETE A rec0058.example.com 1.2.3.4 ttl=0, Netcup ID: 33597468
    integration_test.go:193: DELETE A rec0059.example.com 1.2.3.4 ttl=0, Netcup ID: 33597469
    integration_test.go:193: DELETE A rec0060.example.com 1.2.3.4 ttl=0, Netcup ID: 33597470
    integration_test.go:193: DELETE A rec0061.example.com 1.2.3.4 ttl=0, Netcup ID: 33597471
    integration_test.go:193: DELETE A rec0062.example.com 1.2.3.4 ttl=0, Netcup ID: 33597472
    integration_test.go:193: DELETE A rec0063.example.com 1.2.3.4 ttl=0, Netcup ID: 33597473
    integration_test.go:193: DELETE A rec0064.example.com 1.2.3.4 ttl=0, Netcup ID: 33597474
    integration_test.go:193: DELETE A rec0065.example.com 1.2.3.4 ttl=0, Netcup ID: 33597475
    integration_test.go:193: DELETE A rec0066.example.com 1.2.3.4 ttl=0, Netcup ID: 33597476
    integration_test.go:193: DELETE A rec0067.example.com 1.2.3.4 ttl=0, Netcup ID: 33597477
    integration_test.go:193: DELETE A rec0068.example.com 1.2.3.4 ttl=0, Netcup ID: 33597478
    integration_test.go:193: DELETE A rec0069.example.com 1.2.3.4 ttl=0, Netcup ID: 33597479
    integration_test.go:193: DELETE A rec0070.example.com 1.2.3.4 ttl=0, Netcup ID: 33597480
    integration_test.go:193: DELETE A rec0071.example.com 1.2.3.4 ttl=0, Netcup ID: 33597481
    integration_test.go:193: DELETE A rec0072.example.com 1.2.3.4 ttl=0, Netcup ID: 33597482
    integration_test.go:193: DELETE A rec0073.example.com 1.2.3.4 ttl=0, Netcup ID: 33597483
    integration_test.go:193: DELETE A rec0074.example.com 1.2.3.4 ttl=0, Netcup ID: 33597484
    integration_test.go:193: DELETE A rec0075.example.com 1.2.3.4 ttl=0, Netcup ID: 33597485
    integration_test.go:193: DELETE A rec0076.example.com 1.2.3.4 ttl=0, Netcup ID: 33597486
    integration_test.go:193: DELETE A rec0077.example.com 1.2.3.4 ttl=0, Netcup ID: 33597487
    integration_test.go:193: DELETE A rec0078.example.com 1.2.3.4 ttl=0, Netcup ID: 33597488
    integration_test.go:193: DELETE A rec0079.example.com 1.2.3.4 ttl=0, Netcup ID: 33597489
    integration_test.go:193: DELETE A rec0080.example.com 1.2.3.4 ttl=0, Netcup ID: 33597490
    integration_test.go:193: DELETE A rec0081.example.com 1.2.3.4 ttl=0, Netcup ID: 33597491
    integration_test.go:193: DELETE A rec0082.example.com 1.2.3.4 ttl=0, Netcup ID: 33597492
    integration_test.go:193: DELETE A rec0083.example.com 1.2.3.4 ttl=0, Netcup ID: 33597493
    integration_test.go:193: DELETE A rec0084.example.com 1.2.3.4 ttl=0, Netcup ID: 33597494
    integration_test.go:193: DELETE A rec0085.example.com 1.2.3.4 ttl=0, Netcup ID: 33597495
    integration_test.go:193: DELETE A rec0086.example.com 1.2.3.4 ttl=0, Netcup ID: 33597496
    integration_test.go:193: DELETE A rec0087.example.com 1.2.3.4 ttl=0, Netcup ID: 33597497
    integration_test.go:193: DELETE A rec0088.example.com 1.2.3.4 ttl=0, Netcup ID: 33597498
    integration_test.go:193: DELETE A rec0089.example.com 1.2.3.4 ttl=0, Netcup ID: 33597499
    integration_test.go:193: DELETE A rec0090.example.com 1.2.3.4 ttl=0, Netcup ID: 33597500
    integration_test.go:193: DELETE A rec0091.example.com 1.2.3.4 ttl=0, Netcup ID: 33597501
    integration_test.go:193: DELETE A rec0092.example.com 1.2.3.4 ttl=0, Netcup ID: 33597502
    integration_test.go:193: DELETE A rec0093.example.com 1.2.3.4 ttl=0, Netcup ID: 33597503
    integration_test.go:193: DELETE A rec0094.example.com 1.2.3.4 ttl=0, Netcup ID: 33597504
    integration_test.go:193: DELETE A rec0095.example.com 1.2.3.4 ttl=0, Netcup ID: 33597505
    integration_test.go:193: DELETE A rec0096.example.com 1.2.3.4 ttl=0, Netcup ID: 33597506
    integration_test.go:193: DELETE A rec0097.example.com 1.2.3.4 ttl=0, Netcup ID: 33597507
    integration_test.go:193: DELETE A rec0098.example.com 1.2.3.4 ttl=0, Netcup ID: 33597508
=== RUN   TestDNSProviders/example.com/18:pager601_***SKIPPED(disabled_by_only)***:Empty
=== RUN   TestDNSProviders/example.com/19:pager1201_***SKIPPED(disabled_by_only)***:Empty
=== RUN   TestDNSProviders/example.com/20:CAA:CAA_record
    integration_test.go:193: CREATE CAA example.com 0 issue "letsencrypt.org" ttl=0
=== RUN   TestDNSProviders/example.com/Post_cleanup:Empty#15
    integration_test.go:193: DELETE CAA example.com 0 issue "letsencrypt.org" ttl=0, Netcup ID: 33597517
=== RUN   TestDNSProviders/example.com/21:CAA_with_;:CAA_many_records
    integration_test.go:193: CREATE CAA example.com 0 issuewild ";" ttl=0
=== RUN   TestDNSProviders/example.com/Post_cleanup:Empty#16
    integration_test.go:193: DELETE CAA example.com 0 issuewild ";" ttl=0, Netcup ID: 33597518
=== RUN   TestDNSProviders/example.com/22:NAPTR_***SKIPPED(CanUseNAPTR_not_supported)***:Empty
=== RUN   TestDNSProviders/example.com/23:PTR_***SKIPPED(CanUsePTR_not_supported)***:Empty
=== RUN   TestDNSProviders/example.com/24:SRV:SRV_record
    integration_test.go:193: CREATE SRV _sip._tcp.example.com 5 6 7 foo.com. ttl=0
=== RUN   TestDNSProviders/example.com/Post_cleanup:Empty#17
    integration_test.go:193: DELETE SRV _sip._tcp.example.com 5 6 7 foo.com. ttl=0, Netcup ID: 33597519
=== RUN   TestDNSProviders/example.com/25:SRV_w/_null_target:Null_Target
    integration_test.go:193: CREATE SRV _sip._tcp.example.com 52 62 72 foo.com. ttl=0
    integration_test.go:193: CREATE SRV _sip._tcp.example.com 15 65 75 . ttl=0
=== RUN   TestDNSProviders/example.com/Post_cleanup:Empty#18
    integration_test.go:193: DELETE SRV _sip._tcp.example.com 15 65 75 . ttl=0, Netcup ID: 33597521
    integration_test.go:193: DELETE SRV _sip._tcp.example.com 52 62 72 foo.com. ttl=0, Netcup ID: 33597520
=== RUN   TestDNSProviders/example.com/26:SSHFP_***SKIPPED(CanUseSSHFP_not_supported)***:Empty
=== RUN   TestDNSProviders/example.com/27:TLSA_***SKIPPED(CanUseTLSA_not_supported)***:Empty
=== RUN   TestDNSProviders/example.com/28:TXTMulti:Create_TXTMulti_1
    integration_test.go:193: CREATE TXT foo1.example.com "simple" ttl=0
=== RUN   TestDNSProviders/example.com/Post_cleanup:Empty#19
    integration_test.go:193: DELETE TXT foo1.example.com "simple" ttl=0, Netcup ID: 33597522
=== RUN   TestDNSProviders/example.com/29:TXTMulti_tests_that_break_DO:3x255-byte_TXTMulti
    integration_test.go:193: CREATE TXT foo3.example.com "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" "YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY" "ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ" ttl=0
    integration_test.go:212: Expected 0 corrections on second run, but found 1.
    integration_test.go:214: #0: MODIFY TXT foo3.example.com: ("XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ" ttl=0) -> ("XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" "YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY" "ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ" ttl=0), Netcup ID: 33597523: 
=== RUN   TestDNSProviders/example.com/Post_cleanup:Empty#20
    integration_test.go:193: DELETE TXT foo3.example.com "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ" ttl=0, Netcup ID: 33597523
=== RUN   TestDNSProviders/example.com/30:DS_***SKIPPED(CanUseDS_not_supported)***:Empty
=== RUN   TestDNSProviders/example.com/31:DS_(children_only)_***SKIPPED(CanUseDSForChildren_not_supported)***:Empty
=== RUN   TestDNSProviders/example.com/32:DS_(children_only)_CLOUDNS_***SKIPPED(CanUseDSForChildren_not_supported)***:Empty
=== RUN   TestDNSProviders/example.com/33:ALIAS_***SKIPPED(CanUseAlias_not_supported)***:Empty
=== RUN   TestDNSProviders/example.com/34:AZURE_ALIAS_***SKIPPED(CanUseAzureAlias_not_supported)***:Empty
=== RUN   TestDNSProviders/example.com/35:R53_ALIAS2_***SKIPPED(CanUseRoute53Alias_not_supported)***:Empty
=== RUN   TestDNSProviders/example.com/36:R53_ALIAS_ORDER_***SKIPPED(CanUseRoute53Alias_not_supported)***:Empty
=== RUN   TestDNSProviders/example.com/37:CF_REDIRECT_***SKIPPED(disabled_by_only)***:Empty
--- FAIL: TestDNSProviders (313.03s)
    --- FAIL: TestDNSProviders/example.com (312.85s)
        --- PASS: TestDNSProviders/example.com/Clean_Slate:Empty (1.48s)
        --- PASS: TestDNSProviders/example.com/00:GeneralACD:Create_an_A_record (2.92s)
        --- PASS: TestDNSProviders/example.com/00:GeneralACD:Change_it (0.22s)
        --- PASS: TestDNSProviders/example.com/00:GeneralACD:Add_another (2.42s)
        --- PASS: TestDNSProviders/example.com/00:GeneralACD:Add_another(same_name) (2.58s)
        --- FAIL: TestDNSProviders/example.com/00:GeneralACD:Change_a_ttl (0.07s)
        --- PASS: TestDNSProviders/example.com/Post_cleanup:Empty (0.36s)
        --- PASS: TestDNSProviders/example.com/01:WildcardACD:Create_wildcard (4.69s)
        --- PASS: TestDNSProviders/example.com/Post_cleanup:Empty#01 (0.30s)
        --- PASS: TestDNSProviders/example.com/02:CNAME:Create_a_CNAME (2.41s)
        --- PASS: TestDNSProviders/example.com/Post_cleanup:Empty#02 (0.18s)
        --- PASS: TestDNSProviders/example.com/03:MX:MX_record (2.51s)
        --- PASS: TestDNSProviders/example.com/Post_cleanup:Empty#03 (0.17s)
        --- PASS: TestDNSProviders/example.com/04:Null_MX_***SKIPPED(excluded_by_not("NETCUP"))***:Empty (0.06s)
        --- PASS: TestDNSProviders/example.com/05:NS_***SKIPPED(excluded_by_not("NETCUP"))***:Empty (0.06s)
        --- PASS: TestDNSProviders/example.com/06:IGNORE_NAME_function:Create_some_records (4.80s)
        --- PASS: TestDNSProviders/example.com/Post_cleanup:Empty#04 (0.30s)
        --- PASS: TestDNSProviders/example.com/07:IGNORE_TARGET_function:Create_some_records (4.84s)
        --- PASS: TestDNSProviders/example.com/Post_cleanup:Empty#05 (0.27s)
        --- PASS: TestDNSProviders/example.com/08:single_TXT:Create_a_TXT (2.45s)
        --- PASS: TestDNSProviders/example.com/Post_cleanup:Empty#06 (0.17s)
        --- PASS: TestDNSProviders/example.com/09:max-sized_TXT:Create_a_255-byte_TXT (2.38s)
        --- PASS: TestDNSProviders/example.com/Post_cleanup:Empty#07 (0.20s)
        --- PASS: TestDNSProviders/example.com/10:single_TXT_with_single-quote:Create_TXT_with_single-quote (2.47s)
        --- PASS: TestDNSProviders/example.com/Post_cleanup:Empty#08 (0.15s)
        --- PASS: TestDNSProviders/example.com/11:ws_TXT:Change_a_TXT_with_ws_at_end (2.41s)
        --- PASS: TestDNSProviders/example.com/Post_cleanup:Empty#09 (0.17s)
        --- PASS: TestDNSProviders/example.com/12:empty_TXT_***SKIPPED(excluded_by_not("NETCUP"))***:Empty (0.06s)
        --- PASS: TestDNSProviders/example.com/13:TypeChange:Create_a_CNAME (2.39s)
        --- PASS: TestDNSProviders/example.com/Post_cleanup:Empty#10 (0.16s)
        --- PASS: TestDNSProviders/example.com/14:Case_Sensitivity:Create_CAPS (2.44s)
        --- PASS: TestDNSProviders/example.com/Post_cleanup:Empty#11 (0.17s)
        --- PASS: TestDNSProviders/example.com/15:IDNA:Internationalized_name (2.48s)
        --- PASS: TestDNSProviders/example.com/Post_cleanup:Empty#12 (0.18s)
        --- PASS: TestDNSProviders/example.com/16:IDNAs_in_CNAME_targets:IDN_CNAME_AND_Target (2.45s)
        --- PASS: TestDNSProviders/example.com/Post_cleanup:Empty#13 (0.19s)
        --- PASS: TestDNSProviders/example.com/17:pager101:99_records (230.59s)
        --- PASS: TestDNSProviders/example.com/Post_cleanup:Empty#14 (11.56s)
        --- PASS: TestDNSProviders/example.com/18:pager601_***SKIPPED(disabled_by_only)***:Empty (0.06s)
        --- PASS: TestDNSProviders/example.com/19:pager1201_***SKIPPED(disabled_by_only)***:Empty (0.06s)
        --- PASS: TestDNSProviders/example.com/20:CAA:CAA_record (2.50s)
        --- PASS: TestDNSProviders/example.com/Post_cleanup:Empty#15 (0.19s)
        --- PASS: TestDNSProviders/example.com/21:CAA_with_;:CAA_many_records (2.50s)
        --- PASS: TestDNSProviders/example.com/Post_cleanup:Empty#16 (0.18s)
        --- PASS: TestDNSProviders/example.com/22:NAPTR_***SKIPPED(CanUseNAPTR_not_supported)***:Empty (0.06s)
        --- PASS: TestDNSProviders/example.com/23:PTR_***SKIPPED(CanUsePTR_not_supported)***:Empty (0.08s)
        --- PASS: TestDNSProviders/example.com/24:SRV:SRV_record (2.48s)
        --- PASS: TestDNSProviders/example.com/Post_cleanup:Empty#17 (0.17s)
        --- PASS: TestDNSProviders/example.com/25:SRV_w/_null_target:Null_Target (4.76s)
        --- PASS: TestDNSProviders/example.com/Post_cleanup:Empty#18 (0.29s)
        --- PASS: TestDNSProviders/example.com/26:SSHFP_***SKIPPED(CanUseSSHFP_not_supported)***:Empty (0.08s)
        --- PASS: TestDNSProviders/example.com/27:TLSA_***SKIPPED(CanUseTLSA_not_supported)***:Empty (0.06s)
        --- PASS: TestDNSProviders/example.com/28:TXTMulti:Create_TXTMulti_1 (2.40s)
        --- PASS: TestDNSProviders/example.com/Post_cleanup:Empty#19 (0.17s)
        --- FAIL: TestDNSProviders/example.com/29:TXTMulti_tests_that_break_DO:3x255-byte_TXTMulti (2.36s)
        --- PASS: TestDNSProviders/example.com/Post_cleanup:Empty#20 (0.17s)
        --- PASS: TestDNSProviders/example.com/30:DS_***SKIPPED(CanUseDS_not_supported)***:Empty (0.07s)
        --- PASS: TestDNSProviders/example.com/31:DS_(children_only)_***SKIPPED(CanUseDSForChildren_not_supported)***:Empty (0.07s)
        --- PASS: TestDNSProviders/example.com/32:DS_(children_only)_CLOUDNS_***SKIPPED(CanUseDSForChildren_not_supported)***:Empty (0.07s)
        --- PASS: TestDNSProviders/example.com/33:ALIAS_***SKIPPED(CanUseAlias_not_supported)***:Empty (0.06s)
        --- PASS: TestDNSProviders/example.com/34:AZURE_ALIAS_***SKIPPED(CanUseAzureAlias_not_supported)***:Empty (0.07s)
        --- PASS: TestDNSProviders/example.com/35:R53_ALIAS2_***SKIPPED(CanUseRoute53Alias_not_supported)***:Empty (0.06s)
        --- PASS: TestDNSProviders/example.com/36:R53_ALIAS_ORDER_***SKIPPED(CanUseRoute53Alias_not_supported)***:Empty (0.08s)
        --- PASS: TestDNSProviders/example.com/37:CF_REDIRECT_***SKIPPED(disabled_by_only)***:Empty (0.08s)
=== RUN   TestDualProviders
    integration_test.go:290: Clearing everything
    integration_test.go:296: Adding nameservers from another provider
    integration_test.go:299: Running again to ensure stability
--- PASS: TestDualProviders (0.27s)
FAIL
exit status 1
FAIL	github.com/StackExchange/dnscontrol/v3/integrationTest	313.313s

</details>
vatsalyagoel: AzureDNS looks Good. Thanks!
tlimoncelli: > Hi! Thanks for the ping.
> The tests are not passing for the Hetzner provider, but the failure is identical on master. Two `TXTMulti` test cases fail, likely since enabling them via #963. I can have a look at the failures today.
> This PR is not making things worse, so OK to proceed from my side.
> 

Thanks for letting me know.  If the bugs have to do with TXT records, I should warn you that I'm rewriting how TXT records are handled.  That branch (which is a fork of this one), is here https://github.com/StackExchange/dnscontrol/pull/1063

Deraen: Digitalocean is already checked, but I can confirm the tests are passing for me also.
papakai: HEXONET checked, working.

rblenkinsopp: HEDNS is currently not working, working on an MR to resolve.
tlimoncelli: CC @jamielennox  (Is there a maintainer for softlayer?)


tlimoncelli: Thanks for checking in, @svenpeter42 @das7pad @pgaskin @jpbede @kordianbruck @vatsalyagoel @Deraen @papakai @rblenkinsopp
rblenkinsopp: @tlimoncelli: So after porting #1064 which was also affecting this, this MR appears to have broken all TXT record handling with the HEDNS provider compared to `master` where it's functioning correctly. I'm investigating why this is, but wanted to check as you'd mentioned other refactorings around TXT records?
jamielennox: > CC @jamielennox  (Is there a maintainer for softlayer?)
> 
> 

I had asked a few people in that community to pick it up. I would suggest deprecating it and that will bring someone forward if it's important.

I'm not sure if it's even still a supported API.
masterzen: Hi @tlimoncelli ,

I confirm that OVH still pass the tests:

<details>
<summary>go test -v -verbose -provider OVH</summary>
<pre>
=== RUN   TestDNSProviders
=== RUN   TestDNSProviders/dnscontroltest.ovh
=== RUN   TestDNSProviders/dnscontroltest.ovh/Clean_Slate:Empty
    integration_test.go:201: DELETE A dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: REFRESH zone dnscontroltest.ovh
=== RUN   TestDNSProviders/dnscontroltest.ovh/00:GeneralACD:Create_an_A_record
    integration_test.go:201: CREATE A dnscontroltest.ovh 1.1.1.1 ttl=300
    integration_test.go:201: REFRESH zone dnscontroltest.ovh
=== RUN   TestDNSProviders/dnscontroltest.ovh/00:GeneralACD:Change_it
    integration_test.go:201: MODIFY A dnscontroltest.ovh: (1.1.1.1 ttl=300) -> (1.2.3.4 ttl=300)
    integration_test.go:201: REFRESH zone dnscontroltest.ovh
=== RUN   TestDNSProviders/dnscontroltest.ovh/00:GeneralACD:Add_another
    integration_test.go:201: CREATE A www.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: REFRESH zone dnscontroltest.ovh
=== RUN   TestDNSProviders/dnscontroltest.ovh/00:GeneralACD:Add_another(same_name)
    integration_test.go:201: CREATE A www.dnscontroltest.ovh 5.6.7.8 ttl=300
    integration_test.go:201: REFRESH zone dnscontroltest.ovh
=== RUN   TestDNSProviders/dnscontroltest.ovh/00:GeneralACD:Change_a_ttl
    integration_test.go:201: MODIFY A dnscontroltest.ovh: (1.2.3.4 ttl=300) -> (1.2.3.4 ttl=1000)
    integration_test.go:201: REFRESH zone dnscontroltest.ovh
=== RUN   TestDNSProviders/dnscontroltest.ovh/00:GeneralACD:Change_single_target_from_set
    integration_test.go:201: MODIFY A www.dnscontroltest.ovh: (1.2.3.4 ttl=300) -> (2.2.2.2 ttl=300)
    integration_test.go:201: REFRESH zone dnscontroltest.ovh
=== RUN   TestDNSProviders/dnscontroltest.ovh/00:GeneralACD:Change_all_ttls
    integration_test.go:201: MODIFY A dnscontroltest.ovh: (1.2.3.4 ttl=1000) -> (1.2.3.4 ttl=500)
    integration_test.go:201: MODIFY A www.dnscontroltest.ovh: (5.6.7.8 ttl=300) -> (5.6.7.8 ttl=400)
    integration_test.go:201: MODIFY A www.dnscontroltest.ovh: (2.2.2.2 ttl=300) -> (2.2.2.2 ttl=400)
    integration_test.go:201: REFRESH zone dnscontroltest.ovh
=== RUN   TestDNSProviders/dnscontroltest.ovh/00:GeneralACD:Delete_one
    integration_test.go:201: DELETE A www.dnscontroltest.ovh 2.2.2.2 ttl=400
    integration_test.go:201: REFRESH zone dnscontroltest.ovh
=== RUN   TestDNSProviders/dnscontroltest.ovh/00:GeneralACD:Add_back_and_change_ttl
    integration_test.go:201: DELETE A dnscontroltest.ovh 1.2.3.4 ttl=500
    integration_test.go:201: CREATE A www.dnscontroltest.ovh 1.2.3.4 ttl=700
    integration_test.go:201: MODIFY A www.dnscontroltest.ovh: (5.6.7.8 ttl=400) -> (5.6.7.8 ttl=700)
    integration_test.go:201: REFRESH zone dnscontroltest.ovh
=== RUN   TestDNSProviders/dnscontroltest.ovh/00:GeneralACD:Change_targets_and_ttls
    integration_test.go:201: MODIFY A www.dnscontroltest.ovh: (1.2.3.4 ttl=700) -> (1.1.1.1 ttl=300)
    integration_test.go:201: MODIFY A www.dnscontroltest.ovh: (5.6.7.8 ttl=700) -> (2.2.2.2 ttl=300)
    integration_test.go:201: REFRESH zone dnscontroltest.ovh
=== RUN   TestDNSProviders/dnscontroltest.ovh/Post_cleanup:Empty
    integration_test.go:201: DELETE A www.dnscontroltest.ovh 1.1.1.1 ttl=300
    integration_test.go:201: DELETE A www.dnscontroltest.ovh 2.2.2.2 ttl=300
    integration_test.go:201: REFRESH zone dnscontroltest.ovh
=== RUN   TestDNSProviders/dnscontroltest.ovh/01:WildcardACD:Create_wildcard
    integration_test.go:201: CREATE A *.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: CREATE A www.dnscontroltest.ovh 1.1.1.1 ttl=300
    integration_test.go:201: REFRESH zone dnscontroltest.ovh
=== RUN   TestDNSProviders/dnscontroltest.ovh/01:WildcardACD:Delete_wildcard
    integration_test.go:201: DELETE A *.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: REFRESH zone dnscontroltest.ovh
=== RUN   TestDNSProviders/dnscontroltest.ovh/Post_cleanup:Empty#01
    integration_test.go:201: DELETE A www.dnscontroltest.ovh 1.1.1.1 ttl=300
    integration_test.go:201: REFRESH zone dnscontroltest.ovh
=== RUN   TestDNSProviders/dnscontroltest.ovh/02:CNAME:Create_a_CNAME
    integration_test.go:201: CREATE CNAME foo.dnscontroltest.ovh google.com. ttl=300
    integration_test.go:201: REFRESH zone dnscontroltest.ovh
=== RUN   TestDNSProviders/dnscontroltest.ovh/02:CNAME:Change_CNAME_target
    integration_test.go:201: MODIFY CNAME foo.dnscontroltest.ovh: (google.com. ttl=300) -> (google2.com. ttl=300)
    integration_test.go:201: REFRESH zone dnscontroltest.ovh
=== RUN   TestDNSProviders/dnscontroltest.ovh/02:CNAME:Empty
    integration_test.go:201: DELETE CNAME foo.dnscontroltest.ovh google2.com. ttl=300
    integration_test.go:201: REFRESH zone dnscontroltest.ovh
=== RUN   TestDNSProviders/dnscontroltest.ovh/02:CNAME:Record_pointing_to_@
    integration_test.go:201: CREATE CNAME foo.dnscontroltest.ovh dnscontroltest.ovh. ttl=300
    integration_test.go:201: REFRESH zone dnscontroltest.ovh
=== RUN   TestDNSProviders/dnscontroltest.ovh/Post_cleanup:Empty#02
    integration_test.go:201: DELETE CNAME foo.dnscontroltest.ovh dnscontroltest.ovh. ttl=300
    integration_test.go:201: REFRESH zone dnscontroltest.ovh
=== RUN   TestDNSProviders/dnscontroltest.ovh/03:MX:MX_record
    integration_test.go:201: CREATE MX dnscontroltest.ovh 5 foo.com. ttl=300
    integration_test.go:201: REFRESH zone dnscontroltest.ovh
=== RUN   TestDNSProviders/dnscontroltest.ovh/03:MX:Second_MX_record,_same_prio
    integration_test.go:201: CREATE MX dnscontroltest.ovh 5 foo2.com. ttl=300
    integration_test.go:201: REFRESH zone dnscontroltest.ovh
=== RUN   TestDNSProviders/dnscontroltest.ovh/03:MX:3_MX
    integration_test.go:201: CREATE MX dnscontroltest.ovh 15 foo3.com. ttl=300
    integration_test.go:201: REFRESH zone dnscontroltest.ovh
=== RUN   TestDNSProviders/dnscontroltest.ovh/03:MX:Delete_one
    integration_test.go:201: DELETE MX dnscontroltest.ovh 5 foo.com. ttl=300
    integration_test.go:201: REFRESH zone dnscontroltest.ovh
=== RUN   TestDNSProviders/dnscontroltest.ovh/03:MX:Change_to_other_name
    integration_test.go:201: DELETE MX dnscontroltest.ovh 15 foo3.com. ttl=300
    integration_test.go:201: CREATE MX mail.dnscontroltest.ovh 15 foo3.com. ttl=300
    integration_test.go:201: REFRESH zone dnscontroltest.ovh
=== RUN   TestDNSProviders/dnscontroltest.ovh/03:MX:Change_Preference
    integration_test.go:201: MODIFY MX dnscontroltest.ovh: (5 foo2.com. ttl=300) -> (7 foo2.com. ttl=300)
    integration_test.go:201: REFRESH zone dnscontroltest.ovh
=== RUN   TestDNSProviders/dnscontroltest.ovh/03:MX:Record_pointing_to_@
    integration_test.go:201: DELETE MX dnscontroltest.ovh 7 foo2.com. ttl=300
    integration_test.go:201: DELETE MX mail.dnscontroltest.ovh 15 foo3.com. ttl=300
    integration_test.go:201: CREATE MX foo.dnscontroltest.ovh 8 dnscontroltest.ovh. ttl=300
    integration_test.go:201: REFRESH zone dnscontroltest.ovh
=== RUN   TestDNSProviders/dnscontroltest.ovh/Post_cleanup:Empty#03
    integration_test.go:201: DELETE MX foo.dnscontroltest.ovh 8 dnscontroltest.ovh. ttl=300
    integration_test.go:201: REFRESH zone dnscontroltest.ovh
=== RUN   TestDNSProviders/dnscontroltest.ovh/04:Null_MX_***SKIPPED(excluded_by_not("OVH"))***:Empty
=== RUN   TestDNSProviders/dnscontroltest.ovh/05:NS:NS_for_subdomain
    integration_test.go:201: CREATE NS xyz.dnscontroltest.ovh ns2.foo.com. ttl=300
    integration_test.go:201: REFRESH zone dnscontroltest.ovh
=== RUN   TestDNSProviders/dnscontroltest.ovh/05:NS:Dual_NS_for_subdomain
    integration_test.go:201: CREATE NS xyz.dnscontroltest.ovh ns1.foo.com. ttl=300
    integration_test.go:201: REFRESH zone dnscontroltest.ovh
=== RUN   TestDNSProviders/dnscontroltest.ovh/05:NS:NS_Record_pointing_to_@
    integration_test.go:201: DELETE NS xyz.dnscontroltest.ovh ns1.foo.com. ttl=300
    integration_test.go:201: DELETE NS xyz.dnscontroltest.ovh ns2.foo.com. ttl=300
    integration_test.go:201: CREATE A dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: CREATE NS foo.dnscontroltest.ovh dnscontroltest.ovh. ttl=300
    integration_test.go:201: REFRESH zone dnscontroltest.ovh
=== RUN   TestDNSProviders/dnscontroltest.ovh/Post_cleanup:Empty#04
    integration_test.go:201: DELETE A dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: DELETE NS foo.dnscontroltest.ovh dnscontroltest.ovh. ttl=300
    integration_test.go:201: REFRESH zone dnscontroltest.ovh
=== RUN   TestDNSProviders/dnscontroltest.ovh/06:IGNORE_NAME_function:Create_some_records
    integration_test.go:201: CREATE TXT foo.dnscontroltest.ovh "simple" ttl=300
    integration_test.go:201: CREATE A foo.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: REFRESH zone dnscontroltest.ovh
=== RUN   TestDNSProviders/dnscontroltest.ovh/06:IGNORE_NAME_function:Add_a_new_record_-_ignoring_foo
    integration_test.go:201: CREATE A bar.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: REFRESH zone dnscontroltest.ovh
=== RUN   TestDNSProviders/dnscontroltest.ovh/06:IGNORE_NAME_function:Empty
    integration_test.go:201: DELETE A bar.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: DELETE A foo.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: DELETE TXT foo.dnscontroltest.ovh "simple" ttl=300
    integration_test.go:201: REFRESH zone dnscontroltest.ovh
=== RUN   TestDNSProviders/dnscontroltest.ovh/06:IGNORE_NAME_function:Create_some_records#01
    integration_test.go:201: CREATE TXT bar.foo.dnscontroltest.ovh "simple" ttl=300
    integration_test.go:201: CREATE A bar.foo.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: REFRESH zone dnscontroltest.ovh
=== RUN   TestDNSProviders/dnscontroltest.ovh/06:IGNORE_NAME_function:Add_a_new_record_-_ignoring_*.foo
    integration_test.go:201: CREATE A bar.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: REFRESH zone dnscontroltest.ovh
=== RUN   TestDNSProviders/dnscontroltest.ovh/Post_cleanup:Empty#05
    integration_test.go:201: DELETE A bar.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: DELETE A bar.foo.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: DELETE TXT bar.foo.dnscontroltest.ovh "simple" ttl=300
    integration_test.go:201: REFRESH zone dnscontroltest.ovh
=== RUN   TestDNSProviders/dnscontroltest.ovh/07:IGNORE_TARGET_function:Create_some_records
    integration_test.go:201: CREATE CNAME bar.dnscontroltest.ovh test.bar.com. ttl=300
    integration_test.go:201: CREATE CNAME foo.dnscontroltest.ovh test.foo.com. ttl=300
    integration_test.go:201: REFRESH zone dnscontroltest.ovh
=== RUN   TestDNSProviders/dnscontroltest.ovh/07:IGNORE_TARGET_function:Add_a_new_record_-_ignoring_test.foo.com.
    integration_test.go:201: MODIFY CNAME bar.dnscontroltest.ovh: (test.bar.com. ttl=300) -> (bar.foo.com. ttl=300)
    integration_test.go:201: REFRESH zone dnscontroltest.ovh
=== RUN   TestDNSProviders/dnscontroltest.ovh/07:IGNORE_TARGET_function:Empty
    integration_test.go:201: DELETE CNAME bar.dnscontroltest.ovh bar.foo.com. ttl=300
    integration_test.go:201: DELETE CNAME foo.dnscontroltest.ovh test.foo.com. ttl=300
    integration_test.go:201: REFRESH zone dnscontroltest.ovh
=== RUN   TestDNSProviders/dnscontroltest.ovh/07:IGNORE_TARGET_function:Create_some_records#01
    integration_test.go:201: CREATE CNAME bar.foo.dnscontroltest.ovh a.b.foo.com. ttl=300
    integration_test.go:201: CREATE A test.foo.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: REFRESH zone dnscontroltest.ovh
=== RUN   TestDNSProviders/dnscontroltest.ovh/07:IGNORE_TARGET_function:Add_a_new_record_-_ignoring_**.foo.com._targets
    integration_test.go:201: DELETE A test.foo.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: CREATE A bar.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: REFRESH zone dnscontroltest.ovh
=== RUN   TestDNSProviders/dnscontroltest.ovh/Post_cleanup:Empty#06
    integration_test.go:201: DELETE A bar.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: DELETE CNAME bar.foo.dnscontroltest.ovh a.b.foo.com. ttl=300
    integration_test.go:201: REFRESH zone dnscontroltest.ovh
=== RUN   TestDNSProviders/dnscontroltest.ovh/08:single_TXT:Create_a_TXT
    integration_test.go:201: CREATE TXT foo.dnscontroltest.ovh "simple" ttl=300
    integration_test.go:201: REFRESH zone dnscontroltest.ovh
=== RUN   TestDNSProviders/dnscontroltest.ovh/08:single_TXT:Change_a_TXT
    integration_test.go:201: MODIFY TXT foo.dnscontroltest.ovh: ("simple" ttl=300) -> ("changed" ttl=300)
    integration_test.go:201: REFRESH zone dnscontroltest.ovh
=== RUN   TestDNSProviders/dnscontroltest.ovh/08:single_TXT:Empty
    integration_test.go:201: DELETE TXT foo.dnscontroltest.ovh "changed" ttl=300
    integration_test.go:201: REFRESH zone dnscontroltest.ovh
=== RUN   TestDNSProviders/dnscontroltest.ovh/08:single_TXT:Create_a_TXT_with_spaces
    integration_test.go:201: CREATE TXT foo.dnscontroltest.ovh "with spaces" ttl=300
    integration_test.go:201: REFRESH zone dnscontroltest.ovh
=== RUN   TestDNSProviders/dnscontroltest.ovh/08:single_TXT:Create_1_TXT_as_array
    integration_test.go:201: MODIFY TXT foo.dnscontroltest.ovh: ("with spaces" ttl=300) -> ("simple" ttl=300)
    integration_test.go:201: REFRESH zone dnscontroltest.ovh
=== RUN   TestDNSProviders/dnscontroltest.ovh/08:single_TXT:Empty#01
    integration_test.go:201: DELETE TXT foo.dnscontroltest.ovh "simple" ttl=300
    integration_test.go:201: REFRESH zone dnscontroltest.ovh
=== RUN   TestDNSProviders/dnscontroltest.ovh/08:single_TXT:Create_a_254-byte_TXT
    integration_test.go:201: CREATE TXT foo.dnscontroltest.ovh "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" ttl=300
    integration_test.go:201: REFRESH zone dnscontroltest.ovh
=== RUN   TestDNSProviders/dnscontroltest.ovh/Post_cleanup:Empty#07
    integration_test.go:201: DELETE TXT foo.dnscontroltest.ovh "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" ttl=300
    integration_test.go:201: REFRESH zone dnscontroltest.ovh
=== RUN   TestDNSProviders/dnscontroltest.ovh/09:max-sized_TXT:Create_a_255-byte_TXT
    integration_test.go:201: CREATE TXT foo.dnscontroltest.ovh "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" ttl=300
    integration_test.go:201: REFRESH zone dnscontroltest.ovh
=== RUN   TestDNSProviders/dnscontroltest.ovh/Post_cleanup:Empty#08
    integration_test.go:201: DELETE TXT foo.dnscontroltest.ovh "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" ttl=300
    integration_test.go:201: REFRESH zone dnscontroltest.ovh
=== RUN   TestDNSProviders/dnscontroltest.ovh/10:single_TXT_with_single-quote:Create_TXT_with_single-quote
    integration_test.go:201: CREATE TXT foo.dnscontroltest.ovh "blah`blah" ttl=300
    integration_test.go:201: REFRESH zone dnscontroltest.ovh
=== RUN   TestDNSProviders/dnscontroltest.ovh/Post_cleanup:Empty#09
    integration_test.go:201: DELETE TXT foo.dnscontroltest.ovh "blah`blah" ttl=300
    integration_test.go:201: REFRESH zone dnscontroltest.ovh
=== RUN   TestDNSProviders/dnscontroltest.ovh/11:ws_TXT:Change_a_TXT_with_ws_at_end
    integration_test.go:201: CREATE TXT foo.dnscontroltest.ovh "with space at end  " ttl=300
    integration_test.go:201: REFRESH zone dnscontroltest.ovh
=== RUN   TestDNSProviders/dnscontroltest.ovh/Post_cleanup:Empty#10
    integration_test.go:201: DELETE TXT foo.dnscontroltest.ovh "with space at end  " ttl=300
    integration_test.go:201: REFRESH zone dnscontroltest.ovh
=== RUN   TestDNSProviders/dnscontroltest.ovh/12:empty_TXT:TXT_with_empty_str
    integration_test.go:201: CREATE TXT foo1.dnscontroltest.ovh "" ttl=300
    integration_test.go:201: REFRESH zone dnscontroltest.ovh
=== RUN   TestDNSProviders/dnscontroltest.ovh/Post_cleanup:Empty#11
    integration_test.go:201: DELETE TXT foo1.dnscontroltest.ovh "" ttl=300
    integration_test.go:201: REFRESH zone dnscontroltest.ovh
=== RUN   TestDNSProviders/dnscontroltest.ovh/13:TypeChange:Create_a_CNAME
    integration_test.go:201: CREATE CNAME foo.dnscontroltest.ovh google.com. ttl=300
    integration_test.go:201: REFRESH zone dnscontroltest.ovh
=== RUN   TestDNSProviders/dnscontroltest.ovh/13:TypeChange:Change_to_A_record
    integration_test.go:201: DELETE CNAME foo.dnscontroltest.ovh google.com. ttl=300
    integration_test.go:201: CREATE A foo.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: REFRESH zone dnscontroltest.ovh
=== RUN   TestDNSProviders/dnscontroltest.ovh/13:TypeChange:Change_back_to_CNAME
    integration_test.go:201: DELETE A foo.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: CREATE CNAME foo.dnscontroltest.ovh google2.com. ttl=300
    integration_test.go:201: REFRESH zone dnscontroltest.ovh
=== RUN   TestDNSProviders/dnscontroltest.ovh/Post_cleanup:Empty#12
    integration_test.go:201: DELETE CNAME foo.dnscontroltest.ovh google2.com. ttl=300
    integration_test.go:201: REFRESH zone dnscontroltest.ovh
=== RUN   TestDNSProviders/dnscontroltest.ovh/14:Case_Sensitivity:Create_CAPS
    integration_test.go:201: CREATE MX bar.dnscontroltest.ovh 5 bar.com. ttl=300
    integration_test.go:201: REFRESH zone dnscontroltest.ovh
=== RUN   TestDNSProviders/dnscontroltest.ovh/14:Case_Sensitivity:Downcase_label
    integration_test.go:201: CREATE A decoy.dnscontroltest.ovh 1.1.1.1 ttl=300
    integration_test.go:201: REFRESH zone dnscontroltest.ovh
=== RUN   TestDNSProviders/dnscontroltest.ovh/14:Case_Sensitivity:Downcase_target
    integration_test.go:201: MODIFY A decoy.dnscontroltest.ovh: (1.1.1.1 ttl=300) -> (2.2.2.2 ttl=300)
    integration_test.go:201: REFRESH zone dnscontroltest.ovh
=== RUN   TestDNSProviders/dnscontroltest.ovh/14:Case_Sensitivity:Upcase_both
    integration_test.go:201: MODIFY A decoy.dnscontroltest.ovh: (2.2.2.2 ttl=300) -> (3.3.3.3 ttl=300)
    integration_test.go:201: REFRESH zone dnscontroltest.ovh
=== RUN   TestDNSProviders/dnscontroltest.ovh/Post_cleanup:Empty#13
    integration_test.go:201: DELETE MX bar.dnscontroltest.ovh 5 bar.com. ttl=300
    integration_test.go:201: DELETE A decoy.dnscontroltest.ovh 3.3.3.3 ttl=300
    integration_test.go:201: REFRESH zone dnscontroltest.ovh
=== RUN   TestDNSProviders/dnscontroltest.ovh/15:IDNA:Internationalized_name
    integration_test.go:201: CREATE A xn--ndaaa.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: REFRESH zone dnscontroltest.ovh
=== RUN   TestDNSProviders/dnscontroltest.ovh/15:IDNA:Change_IDN
    integration_test.go:201: MODIFY A xn--ndaaa.dnscontroltest.ovh: (1.2.3.4 ttl=300) -> (2.2.2.2 ttl=300)
    integration_test.go:201: REFRESH zone dnscontroltest.ovh
=== RUN   TestDNSProviders/dnscontroltest.ovh/15:IDNA:Internationalized_CNAME_Target
    integration_test.go:201: DELETE A xn--ndaaa.dnscontroltest.ovh 2.2.2.2 ttl=300
    integration_test.go:201: CREATE CNAME a.dnscontroltest.ovh xn--ndaaa.com. ttl=300
    integration_test.go:201: REFRESH zone dnscontroltest.ovh
=== RUN   TestDNSProviders/dnscontroltest.ovh/Post_cleanup:Empty#14
    integration_test.go:201: DELETE CNAME a.dnscontroltest.ovh xn--ndaaa.com. ttl=300
    integration_test.go:201: REFRESH zone dnscontroltest.ovh
=== RUN   TestDNSProviders/dnscontroltest.ovh/16:IDNAs_in_CNAME_targets:IDN_CNAME_AND_Target
    integration_test.go:201: CREATE CNAME xn--o-0gab.dnscontroltest.ovh xn--ndaaa.xn--vhquv. ttl=300
    integration_test.go:201: REFRESH zone dnscontroltest.ovh
=== RUN   TestDNSProviders/dnscontroltest.ovh/Post_cleanup:Empty#15
    integration_test.go:201: DELETE CNAME xn--o-0gab.dnscontroltest.ovh xn--ndaaa.xn--vhquv. ttl=300
    integration_test.go:201: REFRESH zone dnscontroltest.ovh
=== RUN   TestDNSProviders/dnscontroltest.ovh/17:pager101:99_records
    integration_test.go:201: CREATE A rec0000.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: CREATE A rec0001.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: CREATE A rec0002.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: CREATE A rec0003.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: CREATE A rec0004.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: CREATE A rec0005.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: CREATE A rec0006.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: CREATE A rec0007.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: CREATE A rec0008.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: CREATE A rec0009.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: CREATE A rec0010.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: CREATE A rec0011.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: CREATE A rec0012.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: CREATE A rec0013.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: CREATE A rec0014.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: CREATE A rec0015.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: CREATE A rec0016.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: CREATE A rec0017.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: CREATE A rec0018.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: CREATE A rec0019.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: CREATE A rec0020.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: CREATE A rec0021.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: CREATE A rec0022.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: CREATE A rec0023.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: CREATE A rec0024.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: CREATE A rec0025.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: CREATE A rec0026.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: CREATE A rec0027.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: CREATE A rec0028.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: CREATE A rec0029.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: CREATE A rec0030.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: CREATE A rec0031.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: CREATE A rec0032.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: CREATE A rec0033.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: CREATE A rec0034.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: CREATE A rec0035.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: CREATE A rec0036.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: CREATE A rec0037.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: CREATE A rec0038.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: CREATE A rec0039.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: CREATE A rec0040.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: CREATE A rec0041.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: CREATE A rec0042.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: CREATE A rec0043.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: CREATE A rec0044.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: CREATE A rec0045.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: CREATE A rec0046.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: CREATE A rec0047.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: CREATE A rec0048.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: CREATE A rec0049.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: CREATE A rec0050.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: CREATE A rec0051.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: CREATE A rec0052.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: CREATE A rec0053.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: CREATE A rec0054.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: CREATE A rec0055.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: CREATE A rec0056.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: CREATE A rec0057.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: CREATE A rec0058.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: CREATE A rec0059.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: CREATE A rec0060.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: CREATE A rec0061.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: CREATE A rec0062.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: CREATE A rec0063.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: CREATE A rec0064.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: CREATE A rec0065.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: CREATE A rec0066.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: CREATE A rec0067.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: CREATE A rec0068.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: CREATE A rec0069.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: CREATE A rec0070.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: CREATE A rec0071.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: CREATE A rec0072.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: CREATE A rec0073.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: CREATE A rec0074.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: CREATE A rec0075.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: CREATE A rec0076.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: CREATE A rec0077.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: CREATE A rec0078.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: CREATE A rec0079.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: CREATE A rec0080.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: CREATE A rec0081.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: CREATE A rec0082.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: CREATE A rec0083.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: CREATE A rec0084.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: CREATE A rec0085.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: CREATE A rec0086.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: CREATE A rec0087.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: CREATE A rec0088.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: CREATE A rec0089.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: CREATE A rec0090.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: CREATE A rec0091.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: CREATE A rec0092.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: CREATE A rec0093.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: CREATE A rec0094.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: CREATE A rec0095.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: CREATE A rec0096.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: CREATE A rec0097.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: CREATE A rec0098.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: REFRESH zone dnscontroltest.ovh
=== RUN   TestDNSProviders/dnscontroltest.ovh/17:pager101:100_records
    integration_test.go:201: CREATE A rec0099.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: REFRESH zone dnscontroltest.ovh
=== RUN   TestDNSProviders/dnscontroltest.ovh/17:pager101:101_records
    integration_test.go:201: CREATE A rec0100.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: REFRESH zone dnscontroltest.ovh
=== RUN   TestDNSProviders/dnscontroltest.ovh/Post_cleanup:Empty#16
    integration_test.go:201: DELETE A rec0000.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: DELETE A rec0001.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: DELETE A rec0002.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: DELETE A rec0003.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: DELETE A rec0004.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: DELETE A rec0005.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: DELETE A rec0006.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: DELETE A rec0007.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: DELETE A rec0008.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: DELETE A rec0009.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: DELETE A rec0010.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: DELETE A rec0011.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: DELETE A rec0012.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: DELETE A rec0013.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: DELETE A rec0014.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: DELETE A rec0015.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: DELETE A rec0016.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: DELETE A rec0017.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: DELETE A rec0018.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: DELETE A rec0019.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: DELETE A rec0020.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: DELETE A rec0021.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: DELETE A rec0022.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: DELETE A rec0023.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: DELETE A rec0024.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: DELETE A rec0025.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: DELETE A rec0026.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: DELETE A rec0027.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: DELETE A rec0028.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: DELETE A rec0029.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: DELETE A rec0030.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: DELETE A rec0031.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: DELETE A rec0032.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: DELETE A rec0033.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: DELETE A rec0034.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: DELETE A rec0035.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: DELETE A rec0036.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: DELETE A rec0037.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: DELETE A rec0038.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: DELETE A rec0039.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: DELETE A rec0040.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: DELETE A rec0041.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: DELETE A rec0042.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: DELETE A rec0043.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: DELETE A rec0044.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: DELETE A rec0045.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: DELETE A rec0046.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: DELETE A rec0047.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: DELETE A rec0048.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: DELETE A rec0049.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: DELETE A rec0050.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: DELETE A rec0051.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: DELETE A rec0052.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: DELETE A rec0053.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: DELETE A rec0054.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: DELETE A rec0055.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: DELETE A rec0056.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: DELETE A rec0057.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: DELETE A rec0058.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: DELETE A rec0059.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: DELETE A rec0060.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: DELETE A rec0061.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: DELETE A rec0062.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: DELETE A rec0063.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: DELETE A rec0064.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: DELETE A rec0065.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: DELETE A rec0066.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: DELETE A rec0067.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: DELETE A rec0068.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: DELETE A rec0069.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: DELETE A rec0070.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: DELETE A rec0071.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: DELETE A rec0072.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: DELETE A rec0073.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: DELETE A rec0074.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: DELETE A rec0075.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: DELETE A rec0076.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: DELETE A rec0077.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: DELETE A rec0078.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: DELETE A rec0079.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: DELETE A rec0080.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: DELETE A rec0081.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: DELETE A rec0082.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: DELETE A rec0083.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: DELETE A rec0084.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: DELETE A rec0085.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: DELETE A rec0086.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: DELETE A rec0087.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: DELETE A rec0088.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: DELETE A rec0089.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: DELETE A rec0090.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: DELETE A rec0091.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: DELETE A rec0092.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: DELETE A rec0093.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: DELETE A rec0094.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: DELETE A rec0095.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: DELETE A rec0096.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: DELETE A rec0097.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: DELETE A rec0098.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: DELETE A rec0099.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: DELETE A rec0100.dnscontroltest.ovh 1.2.3.4 ttl=300
    integration_test.go:201: REFRESH zone dnscontroltest.ovh
=== RUN   TestDNSProviders/dnscontroltest.ovh/18:pager601_***SKIPPED(disabled_by_only)***:Empty
=== RUN   TestDNSProviders/dnscontroltest.ovh/19:pager1201_***SKIPPED(disabled_by_only)***:Empty
=== RUN   TestDNSProviders/dnscontroltest.ovh/20:CAA:CAA_record
    integration_test.go:201: CREATE CAA dnscontroltest.ovh 0 issue "letsencrypt.org" ttl=300
    integration_test.go:201: REFRESH zone dnscontroltest.ovh
=== RUN   TestDNSProviders/dnscontroltest.ovh/20:CAA:CAA_change_tag
    integration_test.go:201: MODIFY CAA dnscontroltest.ovh: (0 issue "letsencrypt.org" ttl=300) -> (0 issuewild "letsencrypt.org" ttl=300)
    integration_test.go:201: REFRESH zone dnscontroltest.ovh
=== RUN   TestDNSProviders/dnscontroltest.ovh/20:CAA:CAA_change_target
    integration_test.go:201: MODIFY CAA dnscontroltest.ovh: (0 issuewild "letsencrypt.org" ttl=300) -> (0 issuewild "example.com" ttl=300)
    integration_test.go:201: REFRESH zone dnscontroltest.ovh
=== RUN   TestDNSProviders/dnscontroltest.ovh/20:CAA:CAA_change_flag
    integration_test.go:201: MODIFY CAA dnscontroltest.ovh: (0 issuewild "example.com" ttl=300) -> (128 issuewild "example.com" ttl=300)
    integration_test.go:201: REFRESH zone dnscontroltest.ovh
=== RUN   TestDNSProviders/dnscontroltest.ovh/20:CAA:CAA_many_records
    integration_test.go:201: CREATE CAA dnscontroltest.ovh 0 issuewild "comodoca.com" ttl=300
    integration_test.go:201: CREATE CAA dnscontroltest.ovh 128 iodef "mailto:test@example.com" ttl=300
    integration_test.go:201: MODIFY CAA dnscontroltest.ovh: (128 issuewild "example.com" ttl=300) -> (0 issue "letsencrypt.org" ttl=300)
    integration_test.go:201: REFRESH zone dnscontroltest.ovh
=== RUN   TestDNSProviders/dnscontroltest.ovh/20:CAA:CAA_delete
    integration_test.go:201: DELETE CAA dnscontroltest.ovh 0 issuewild "comodoca.com" ttl=300
    integration_test.go:201: DELETE CAA dnscontroltest.ovh 128 iodef "mailto:test@example.com" ttl=300
    integration_test.go:201: REFRESH zone dnscontroltest.ovh
=== RUN   TestDNSProviders/dnscontroltest.ovh/Post_cleanup:Empty#17
    integration_test.go:201: DELETE CAA dnscontroltest.ovh 0 issue "letsencrypt.org" ttl=300
    integration_test.go:201: REFRESH zone dnscontroltest.ovh
=== RUN   TestDNSProviders/dnscontroltest.ovh/21:CAA_with_;:CAA_many_records
    integration_test.go:201: CREATE CAA dnscontroltest.ovh 0 issuewild ";" ttl=300
    integration_test.go:201: REFRESH zone dnscontroltest.ovh
=== RUN   TestDNSProviders/dnscontroltest.ovh/Post_cleanup:Empty#18
    integration_test.go:201: DELETE CAA dnscontroltest.ovh 0 issuewild ";" ttl=300
    integration_test.go:201: REFRESH zone dnscontroltest.ovh
=== RUN   TestDNSProviders/dnscontroltest.ovh/22:NAPTR_***SKIPPED(CanUseNAPTR_not_supported)***:Empty
=== RUN   TestDNSProviders/dnscontroltest.ovh/23:PTR_***SKIPPED(CanUsePTR_not_supported)***:Empty
=== RUN   TestDNSProviders/dnscontroltest.ovh/24:SRV:SRV_record
    integration_test.go:201: CREATE SRV _sip._tcp.dnscontroltest.ovh 5 6 7 foo.com. ttl=300
    integration_test.go:201: REFRESH zone dnscontroltest.ovh
=== RUN   TestDNSProviders/dnscontroltest.ovh/24:SRV:Second_SRV_record,_same_prio
    integration_test.go:201: CREATE SRV _sip._tcp.dnscontroltest.ovh 5 60 70 foo2.com. ttl=300
    integration_test.go:201: REFRESH zone dnscontroltest.ovh
=== RUN   TestDNSProviders/dnscontroltest.ovh/24:SRV:3_SRV
    integration_test.go:201: CREATE SRV _sip._tcp.dnscontroltest.ovh 15 65 75 foo3.com. ttl=300
    integration_test.go:201: REFRESH zone dnscontroltest.ovh
=== RUN   TestDNSProviders/dnscontroltest.ovh/24:SRV:Delete_one
    integration_test.go:201: DELETE SRV _sip._tcp.dnscontroltest.ovh 5 60 70 foo2.com. ttl=300
    integration_test.go:201: REFRESH zone dnscontroltest.ovh
=== RUN   TestDNSProviders/dnscontroltest.ovh/24:SRV:Change_Target
    integration_test.go:201: MODIFY SRV _sip._tcp.dnscontroltest.ovh: (15 65 75 foo3.com. ttl=300) -> (15 65 75 foo4.com. ttl=300)
    integration_test.go:201: REFRESH zone dnscontroltest.ovh
=== RUN   TestDNSProviders/dnscontroltest.ovh/24:SRV:Change_Priority
    integration_test.go:201: MODIFY SRV _sip._tcp.dnscontroltest.ovh: (5 6 7 foo.com. ttl=300) -> (52 6 7 foo.com. ttl=300)
    integration_test.go:201: REFRESH zone dnscontroltest.ovh
=== RUN   TestDNSProviders/dnscontroltest.ovh/24:SRV:Change_Weight
    integration_test.go:201: MODIFY SRV _sip._tcp.dnscontroltest.ovh: (52 6 7 foo.com. ttl=300) -> (52 62 7 foo.com. ttl=300)
    integration_test.go:201: REFRESH zone dnscontroltest.ovh
=== RUN   TestDNSProviders/dnscontroltest.ovh/24:SRV:Change_Port
    integration_test.go:201: MODIFY SRV _sip._tcp.dnscontroltest.ovh: (52 62 7 foo.com. ttl=300) -> (52 62 72 foo.com. ttl=300)
    integration_test.go:201: REFRESH zone dnscontroltest.ovh
=== RUN   TestDNSProviders/dnscontroltest.ovh/Post_cleanup:Empty#19
    integration_test.go:201: DELETE SRV _sip._tcp.dnscontroltest.ovh 15 65 75 foo4.com. ttl=300
    integration_test.go:201: DELETE SRV _sip._tcp.dnscontroltest.ovh 52 62 72 foo.com. ttl=300
    integration_test.go:201: REFRESH zone dnscontroltest.ovh
=== RUN   TestDNSProviders/dnscontroltest.ovh/25:SRV_w/_null_target:Null_Target
    integration_test.go:201: CREATE SRV _sip._tcp.dnscontroltest.ovh 52 62 72 foo.com. ttl=300
    integration_test.go:201: CREATE SRV _sip._tcp.dnscontroltest.ovh 15 65 75 . ttl=300
    integration_test.go:201: REFRESH zone dnscontroltest.ovh
=== RUN   TestDNSProviders/dnscontroltest.ovh/Post_cleanup:Empty#20
    integration_test.go:201: DELETE SRV _sip._tcp.dnscontroltest.ovh 15 65 75 . ttl=300
    integration_test.go:201: DELETE SRV _sip._tcp.dnscontroltest.ovh 52 62 72 foo.com. ttl=300
    integration_test.go:201: REFRESH zone dnscontroltest.ovh
=== RUN   TestDNSProviders/dnscontroltest.ovh/26:SSHFP:SSHFP_record
    integration_test.go:201: CREATE SSHFP dnscontroltest.ovh 1 1 66C7D5540B7D75A1FB4C84FEBFA178AD99BDD67C ttl=300
    integration_test.go:201: REFRESH zone dnscontroltest.ovh
=== RUN   TestDNSProviders/dnscontroltest.ovh/26:SSHFP:SSHFP_change_algorithm
    integration_test.go:201: MODIFY SSHFP dnscontroltest.ovh: (1 1 66C7D5540B7D75A1FB4C84FEBFA178AD99BDD67C ttl=300) -> (2 1 66C7D5540B7D75A1FB4C84FEBFA178AD99BDD67C ttl=300)
    integration_test.go:201: REFRESH zone dnscontroltest.ovh
=== RUN   TestDNSProviders/dnscontroltest.ovh/26:SSHFP:SSHFP_change_fingerprint_and_type
    integration_test.go:201: MODIFY SSHFP dnscontroltest.ovh: (2 1 66C7D5540B7D75A1FB4C84FEBFA178AD99BDD67C ttl=300) -> (2 2 745A635BC46A397A5C4F21D437483005BCC40D7511FF15FBFAFE913A081559BC ttl=300)
    integration_test.go:201: REFRESH zone dnscontroltest.ovh
=== RUN   TestDNSProviders/dnscontroltest.ovh/26:SSHFP:SSHFP_Delete_one
    integration_test.go:201: DELETE SSHFP dnscontroltest.ovh 2 2 745A635BC46A397A5C4F21D437483005BCC40D7511FF15FBFAFE913A081559BC ttl=300
    integration_test.go:201: REFRESH zone dnscontroltest.ovh
=== RUN   TestDNSProviders/dnscontroltest.ovh/26:SSHFP:SSHFP_add_many_records
    integration_test.go:201: CREATE SSHFP dnscontroltest.ovh 1 1 66666666666D75A1FB4C84FEBFA178AD99BDD67C ttl=300
    integration_test.go:201: CREATE SSHFP dnscontroltest.ovh 1 2 777777777777797A5C4F21D437483005BCC40D7511FF15FBFAFE913A081559BC ttl=300
    integration_test.go:201: CREATE SSHFP dnscontroltest.ovh 2 1 8888888888888888FB4C84FEBFA178AD99BDD67C ttl=300
    integration_test.go:201: REFRESH zone dnscontroltest.ovh
=== RUN   TestDNSProviders/dnscontroltest.ovh/26:SSHFP:SSHFP_delete_two
    integration_test.go:201: DELETE SSHFP dnscontroltest.ovh 1 2 777777777777797A5C4F21D437483005BCC40D7511FF15FBFAFE913A081559BC ttl=300
    integration_test.go:201: DELETE SSHFP dnscontroltest.ovh 2 1 8888888888888888FB4C84FEBFA178AD99BDD67C ttl=300
    integration_test.go:201: REFRESH zone dnscontroltest.ovh
=== RUN   TestDNSProviders/dnscontroltest.ovh/Post_cleanup:Empty#21
    integration_test.go:201: DELETE SSHFP dnscontroltest.ovh 1 1 66666666666D75A1FB4C84FEBFA178AD99BDD67C ttl=300
    integration_test.go:201: REFRESH zone dnscontroltest.ovh
=== RUN   TestDNSProviders/dnscontroltest.ovh/27:TLSA:TLSA_record
    integration_test.go:201: CREATE TLSA _443._tcp.dnscontroltest.ovh 3 1 1 0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef ttl=300
    integration_test.go:201: REFRESH zone dnscontroltest.ovh
=== RUN   TestDNSProviders/dnscontroltest.ovh/27:TLSA:TLSA_change_usage
    integration_test.go:201: MODIFY TLSA _443._tcp.dnscontroltest.ovh: (3 1 1 0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef ttl=300) -> (2 1 1 0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef ttl=300)
    integration_test.go:201: REFRESH zone dnscontroltest.ovh
=== RUN   TestDNSProviders/dnscontroltest.ovh/27:TLSA:TLSA_change_selector
    integration_test.go:201: MODIFY TLSA _443._tcp.dnscontroltest.ovh: (2 1 1 0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef ttl=300) -> (2 0 1 0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef ttl=300)
    integration_test.go:201: REFRESH zone dnscontroltest.ovh
=== RUN   TestDNSProviders/dnscontroltest.ovh/27:TLSA:TLSA_change_matchingtype
    integration_test.go:201: MODIFY TLSA _443._tcp.dnscontroltest.ovh: (2 0 1 0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef ttl=300) -> (2 0 2 0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef ttl=300)
    integration_test.go:201: REFRESH zone dnscontroltest.ovh
=== RUN   TestDNSProviders/dnscontroltest.ovh/27:TLSA:TLSA_change_certificate
    integration_test.go:201: MODIFY TLSA _443._tcp.dnscontroltest.ovh: (2 0 2 0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef ttl=300) -> (2 0 2 fedcba9876543210fedcba9876543210fedcba9876543210fedcba9876543210fedcba9876543210fedcba9876543210fedcba9876543210fedcba9876543210 ttl=300)
    integration_test.go:201: REFRESH zone dnscontroltest.ovh
=== RUN   TestDNSProviders/dnscontroltest.ovh/Post_cleanup:Empty#22
    integration_test.go:201: DELETE TLSA _443._tcp.dnscontroltest.ovh 2 0 2 fedcba9876543210fedcba9876543210fedcba9876543210fedcba9876543210fedcba9876543210fedcba9876543210fedcba9876543210fedcba9876543210 ttl=300
    integration_test.go:201: REFRESH zone dnscontroltest.ovh
=== RUN   TestDNSProviders/dnscontroltest.ovh/28:TXTMulti:Create_TXTMulti_1
    integration_test.go:201: CREATE TXT foo1.dnscontroltest.ovh "simple" ttl=300
    integration_test.go:201: REFRESH zone dnscontroltest.ovh
=== RUN   TestDNSProviders/dnscontroltest.ovh/28:TXTMulti:Create_TXTMulti_2
    integration_test.go:201: CREATE TXT foo2.dnscontroltest.ovh "one" "two" ttl=300
    integration_test.go:201: REFRESH zone dnscontroltest.ovh
=== RUN   TestDNSProviders/dnscontroltest.ovh/28:TXTMulti:Create_TXTMulti_3
    integration_test.go:201: CREATE TXT foo3.dnscontroltest.ovh "eh" "bee" "cee" ttl=300
    integration_test.go:201: REFRESH zone dnscontroltest.ovh
=== RUN   TestDNSProviders/dnscontroltest.ovh/28:TXTMulti:Change_TXTMulti
    integration_test.go:201: MODIFY TXT foo1.dnscontroltest.ovh: ("simple" ttl=300) -> ("dimple" ttl=300)
    integration_test.go:201: MODIFY TXT foo2.dnscontroltest.ovh: ("one" "two" ttl=300) -> ("fun" "two" ttl=300)
    integration_test.go:201: MODIFY TXT foo3.dnscontroltest.ovh: ("eh" "bee" "cee" ttl=300) -> ("eh" "bzz" "cee" ttl=300)
    integration_test.go:201: REFRESH zone dnscontroltest.ovh
=== RUN   TestDNSProviders/dnscontroltest.ovh/28:TXTMulti:Long_TXTMulti
    integration_test.go:201: DELETE TXT foo1.dnscontroltest.ovh "dimple" ttl=300
    integration_test.go:201: DELETE TXT foo2.dnscontroltest.ovh "fun" "two" ttl=300
    integration_test.go:201: DELETE TXT foo3.dnscontroltest.ovh "eh" "bzz" "cee" ttl=300
    integration_test.go:201: CREATE TXT foo4.dnscontroltest.ovh "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" "YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY" ttl=300
    integration_test.go:201: REFRESH zone dnscontroltest.ovh
=== RUN   TestDNSProviders/dnscontroltest.ovh/Post_cleanup:Empty#23
    integration_test.go:201: DELETE TXT foo4.dnscontroltest.ovh "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" "YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY" ttl=300
    integration_test.go:201: REFRESH zone dnscontroltest.ovh
=== RUN   TestDNSProviders/dnscontroltest.ovh/29:TXTMulti_tests_that_break_DO:3x255-byte_TXTMulti
    integration_test.go:201: CREATE TXT foo3.dnscontroltest.ovh "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" "YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY" "ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ" ttl=300
    integration_test.go:201: REFRESH zone dnscontroltest.ovh
=== RUN   TestDNSProviders/dnscontroltest.ovh/29:TXTMulti_tests_that_break_DO:Empty
    integration_test.go:201: DELETE TXT foo3.dnscontroltest.ovh "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" "YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY" "ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ" ttl=300
    integration_test.go:201: REFRESH zone dnscontroltest.ovh
=== RUN   TestDNSProviders/dnscontroltest.ovh/29:TXTMulti_tests_that_break_DO:Create_TXTMulti_with_quotes
    integration_test.go:201: CREATE TXT foo1.dnscontroltest.ovh "simple" ttl=300
    integration_test.go:201: CREATE TXT foo2.dnscontroltest.ovh "o\"ne" "tw\"o" ttl=300
    integration_test.go:201: CREATE TXT foo3.dnscontroltest.ovh "eh" "bee" "cee" ttl=300
    integration_test.go:201: REFRESH zone dnscontroltest.ovh
=== RUN   TestDNSProviders/dnscontroltest.ovh/29:TXTMulti_tests_that_break_DO:Change_TXTMulti
    integration_test.go:201: MODIFY TXT foo1.dnscontroltest.ovh: ("simple" ttl=300) -> ("dimple" ttl=300)
    integration_test.go:201: MODIFY TXT foo2.dnscontroltest.ovh: ("o\"ne" "tw\"o" ttl=300) -> ("fun" "t\"wo" ttl=300)
    integration_test.go:201: MODIFY TXT foo3.dnscontroltest.ovh: ("eh" "bee" "cee" ttl=300) -> ("eh" "bzz" "cee" ttl=300)
    integration_test.go:201: REFRESH zone dnscontroltest.ovh
=== RUN   TestDNSProviders/dnscontroltest.ovh/Post_cleanup:Empty#24
    integration_test.go:201: DELETE TXT foo1.dnscontroltest.ovh "dimple" ttl=300
    integration_test.go:201: DELETE TXT foo2.dnscontroltest.ovh "fun" "t\"wo" ttl=300
    integration_test.go:201: DELETE TXT foo3.dnscontroltest.ovh "eh" "bzz" "cee" ttl=300
    integration_test.go:201: REFRESH zone dnscontroltest.ovh
=== RUN   TestDNSProviders/dnscontroltest.ovh/30:DS_***SKIPPED(CanUseDS_not_supported)***:Empty
=== RUN   TestDNSProviders/dnscontroltest.ovh/31:DS_(children_only)_***SKIPPED(CanUseDSForChildren_not_supported)***:Empty
=== RUN   TestDNSProviders/dnscontroltest.ovh/32:DS_(children_only)_CLOUDNS_***SKIPPED(CanUseDSForChildren_not_supported)***:Empty
=== RUN   TestDNSProviders/dnscontroltest.ovh/33:ALIAS_***SKIPPED(CanUseAlias_not_supported)***:Empty
=== RUN   TestDNSProviders/dnscontroltest.ovh/34:AZURE_ALIAS_***SKIPPED(CanUseAzureAlias_not_supported)***:Empty
=== RUN   TestDNSProviders/dnscontroltest.ovh/35:R53_ALIAS2_***SKIPPED(CanUseRoute53Alias_not_supported)***:Empty
=== RUN   TestDNSProviders/dnscontroltest.ovh/36:R53_ALIAS_ORDER_***SKIPPED(CanUseRoute53Alias_not_supported)***:Empty
=== RUN   TestDNSProviders/dnscontroltest.ovh/37:CF_REDIRECT_***SKIPPED(disabled_by_only)***:Empty
--- PASS: TestDNSProviders (219.52s)
    --- PASS: TestDNSProviders/dnscontroltest.ovh (219.24s)
        --- PASS: TestDNSProviders/dnscontroltest.ovh/Clean_Slate:Empty (0.71s)
        --- PASS: TestDNSProviders/dnscontroltest.ovh/00:GeneralACD:Create_an_A_record (0.98s)
        --- PASS: TestDNSProviders/dnscontroltest.ovh/00:GeneralACD:Change_it (1.95s)
        --- PASS: TestDNSProviders/dnscontroltest.ovh/00:GeneralACD:Add_another (1.16s)
        --- PASS: TestDNSProviders/dnscontroltest.ovh/00:GeneralACD:Add_another(same_name) (1.13s)
        --- PASS: TestDNSProviders/dnscontroltest.ovh/00:GeneralACD:Change_a_ttl (1.17s)
        --- PASS: TestDNSProviders/dnscontroltest.ovh/00:GeneralACD:Change_single_target_from_set (1.12s)
        --- PASS: TestDNSProviders/dnscontroltest.ovh/00:GeneralACD:Change_all_ttls (1.60s)
        --- PASS: TestDNSProviders/dnscontroltest.ovh/00:GeneralACD:Delete_one (1.34s)
        --- PASS: TestDNSProviders/dnscontroltest.ovh/00:GeneralACD:Add_back_and_change_ttl (1.76s)
        --- PASS: TestDNSProviders/dnscontroltest.ovh/00:GeneralACD:Change_targets_and_ttls (1.23s)
        --- PASS: TestDNSProviders/dnscontroltest.ovh/Post_cleanup:Empty (0.95s)
        --- PASS: TestDNSProviders/dnscontroltest.ovh/01:WildcardACD:Create_wildcard (1.16s)
        --- PASS: TestDNSProviders/dnscontroltest.ovh/01:WildcardACD:Delete_wildcard (1.22s)
        --- PASS: TestDNSProviders/dnscontroltest.ovh/Post_cleanup:Empty#01 (0.65s)
        --- PASS: TestDNSProviders/dnscontroltest.ovh/02:CNAME:Create_a_CNAME (1.06s)
        --- PASS: TestDNSProviders/dnscontroltest.ovh/02:CNAME:Change_CNAME_target (1.19s)
        --- PASS: TestDNSProviders/dnscontroltest.ovh/02:CNAME:Empty (0.75s)
        --- PASS: TestDNSProviders/dnscontroltest.ovh/02:CNAME:Record_pointing_to_@ (1.07s)
        --- PASS: TestDNSProviders/dnscontroltest.ovh/Post_cleanup:Empty#02 (0.78s)
        --- PASS: TestDNSProviders/dnscontroltest.ovh/03:MX:MX_record (0.94s)
        --- PASS: TestDNSProviders/dnscontroltest.ovh/03:MX:Second_MX_record,_same_prio (1.08s)
        --- PASS: TestDNSProviders/dnscontroltest.ovh/03:MX:3_MX (1.11s)
        --- PASS: TestDNSProviders/dnscontroltest.ovh/03:MX:Delete_one (1.12s)
        --- PASS: TestDNSProviders/dnscontroltest.ovh/03:MX:Change_to_other_name (1.22s)
        --- PASS: TestDNSProviders/dnscontroltest.ovh/03:MX:Change_Preference (1.07s)
        --- PASS: TestDNSProviders/dnscontroltest.ovh/03:MX:Record_pointing_to_@ (1.36s)
        --- PASS: TestDNSProviders/dnscontroltest.ovh/Post_cleanup:Empty#03 (0.62s)
        --- PASS: TestDNSProviders/dnscontroltest.ovh/04:Null_MX_***SKIPPED(excluded_by_not("OVH"))***:Empty (0.29s)
        --- PASS: TestDNSProviders/dnscontroltest.ovh/05:NS:NS_for_subdomain (0.94s)
        --- PASS: TestDNSProviders/dnscontroltest.ovh/05:NS:Dual_NS_for_subdomain (1.05s)
        --- PASS: TestDNSProviders/dnscontroltest.ovh/05:NS:NS_Record_pointing_to_@ (1.47s)
        --- PASS: TestDNSProviders/dnscontroltest.ovh/Post_cleanup:Empty#04 (0.80s)
        --- PASS: TestDNSProviders/dnscontroltest.ovh/06:IGNORE_NAME_function:Create_some_records (1.24s)
        --- PASS: TestDNSProviders/dnscontroltest.ovh/06:IGNORE_NAME_function:Add_a_new_record_-_ignoring_foo (1.12s)
        --- PASS: TestDNSProviders/dnscontroltest.ovh/06:IGNORE_NAME_function:Empty (1.09s)
        --- PASS: TestDNSProviders/dnscontroltest.ovh/06:IGNORE_NAME_function:Create_some_records#01 (1.17s)
        --- PASS: TestDNSProviders/dnscontroltest.ovh/06:IGNORE_NAME_function:Add_a_new_record_-_ignoring_*.foo (1.14s)
        --- PASS: TestDNSProviders/dnscontroltest.ovh/Post_cleanup:Empty#05 (1.21s)
        --- PASS: TestDNSProviders/dnscontroltest.ovh/07:IGNORE_TARGET_function:Create_some_records (1.07s)
        --- PASS: TestDNSProviders/dnscontroltest.ovh/07:IGNORE_TARGET_function:Add_a_new_record_-_ignoring_test.foo.com. (1.11s)
        --- PASS: TestDNSProviders/dnscontroltest.ovh/07:IGNORE_TARGET_function:Empty (2.10s)
        --- PASS: TestDNSProviders/dnscontroltest.ovh/07:IGNORE_TARGET_function:Create_some_records#01 (1.13s)
        --- PASS: TestDNSProviders/dnscontroltest.ovh/07:IGNORE_TARGET_function:Add_a_new_record_-_ignoring_**.foo.com._targets (1.26s)
        --- PASS: TestDNSProviders/dnscontroltest.ovh/Post_cleanup:Empty#06 (0.88s)
        --- PASS: TestDNSProviders/dnscontroltest.ovh/08:single_TXT:Create_a_TXT (0.95s)
        --- PASS: TestDNSProviders/dnscontroltest.ovh/08:single_TXT:Change_a_TXT (0.95s)
        --- PASS: TestDNSProviders/dnscontroltest.ovh/08:single_TXT:Empty (0.65s)
        --- PASS: TestDNSProviders/dnscontroltest.ovh/08:single_TXT:Create_a_TXT_with_spaces (1.01s)
        --- PASS: TestDNSProviders/dnscontroltest.ovh/08:single_TXT:Create_1_TXT_as_array (1.05s)
        --- PASS: TestDNSProviders/dnscontroltest.ovh/08:single_TXT:Empty#01 (0.59s)
        --- PASS: TestDNSProviders/dnscontroltest.ovh/08:single_TXT:Create_a_254-byte_TXT (2.16s)
        --- PASS: TestDNSProviders/dnscontroltest.ovh/Post_cleanup:Empty#07 (0.70s)
        --- PASS: TestDNSProviders/dnscontroltest.ovh/09:max-sized_TXT:Create_a_255-byte_TXT (1.03s)
        --- PASS: TestDNSProviders/dnscontroltest.ovh/Post_cleanup:Empty#08 (0.58s)
        --- PASS: TestDNSProviders/dnscontroltest.ovh/10:single_TXT_with_single-quote:Create_TXT_with_single-quote (1.03s)
        --- PASS: TestDNSProviders/dnscontroltest.ovh/Post_cleanup:Empty#09 (0.70s)
        --- PASS: TestDNSProviders/dnscontroltest.ovh/11:ws_TXT:Change_a_TXT_with_ws_at_end (0.83s)
        --- PASS: TestDNSProviders/dnscontroltest.ovh/Post_cleanup:Empty#10 (0.62s)
        --- PASS: TestDNSProviders/dnscontroltest.ovh/12:empty_TXT:TXT_with_empty_str (0.87s)
        --- PASS: TestDNSProviders/dnscontroltest.ovh/Post_cleanup:Empty#11 (0.59s)
        --- PASS: TestDNSProviders/dnscontroltest.ovh/13:TypeChange:Create_a_CNAME (0.86s)
        --- PASS: TestDNSProviders/dnscontroltest.ovh/13:TypeChange:Change_to_A_record (1.15s)
        --- PASS: TestDNSProviders/dnscontroltest.ovh/13:TypeChange:Change_back_to_CNAME (0.99s)
        --- PASS: TestDNSProviders/dnscontroltest.ovh/Post_cleanup:Empty#12 (0.60s)
        --- PASS: TestDNSProviders/dnscontroltest.ovh/14:Case_Sensitivity:Create_CAPS (0.80s)
        --- PASS: TestDNSProviders/dnscontroltest.ovh/14:Case_Sensitivity:Downcase_label (1.02s)
        --- PASS: TestDNSProviders/dnscontroltest.ovh/14:Case_Sensitivity:Downcase_target (1.34s)
        --- PASS: TestDNSProviders/dnscontroltest.ovh/14:Case_Sensitivity:Upcase_both (1.19s)
        --- PASS: TestDNSProviders/dnscontroltest.ovh/Post_cleanup:Empty#13 (2.13s)
        --- PASS: TestDNSProviders/dnscontroltest.ovh/15:IDNA:Internationalized_name (2.47s)
        --- PASS: TestDNSProviders/dnscontroltest.ovh/15:IDNA:Change_IDN (2.73s)
        --- PASS: TestDNSProviders/dnscontroltest.ovh/15:IDNA:Internationalized_CNAME_Target (1.18s)
        --- PASS: TestDNSProviders/dnscontroltest.ovh/Post_cleanup:Empty#14 (1.83s)
        --- PASS: TestDNSProviders/dnscontroltest.ovh/16:IDNAs_in_CNAME_targets:IDN_CNAME_AND_Target (2.09s)
        --- PASS: TestDNSProviders/dnscontroltest.ovh/Post_cleanup:Empty#15 (0.66s)
        --- PASS: TestDNSProviders/dnscontroltest.ovh/17:pager101:99_records (20.00s)
        --- PASS: TestDNSProviders/dnscontroltest.ovh/17:pager101:100_records (13.27s)
        --- PASS: TestDNSProviders/dnscontroltest.ovh/17:pager101:101_records (11.81s)
        --- PASS: TestDNSProviders/dnscontroltest.ovh/Post_cleanup:Empty#16 (20.99s)
        --- PASS: TestDNSProviders/dnscontroltest.ovh/18:pager601_***SKIPPED(disabled_by_only)***:Empty (0.29s)
        --- PASS: TestDNSProviders/dnscontroltest.ovh/19:pager1201_***SKIPPED(disabled_by_only)***:Empty (0.26s)
        --- PASS: TestDNSProviders/dnscontroltest.ovh/20:CAA:CAA_record (2.11s)
        --- PASS: TestDNSProviders/dnscontroltest.ovh/20:CAA:CAA_change_tag (2.43s)
        --- PASS: TestDNSProviders/dnscontroltest.ovh/20:CAA:CAA_change_target (1.01s)
        --- PASS: TestDNSProviders/dnscontroltest.ovh/20:CAA:CAA_change_flag (0.87s)
        --- PASS: TestDNSProviders/dnscontroltest.ovh/20:CAA:CAA_many_records (1.33s)
        --- PASS: TestDNSProviders/dnscontroltest.ovh/20:CAA:CAA_delete (1.08s)
        --- PASS: TestDNSProviders/dnscontroltest.ovh/Post_cleanup:Empty#17 (0.65s)
        --- PASS: TestDNSProviders/dnscontroltest.ovh/21:CAA_with_;:CAA_many_records (2.20s)
        --- PASS: TestDNSProviders/dnscontroltest.ovh/Post_cleanup:Empty#18 (0.63s)
        --- PASS: TestDNSProviders/dnscontroltest.ovh/22:NAPTR_***SKIPPED(CanUseNAPTR_not_supported)***:Empty (0.24s)
        --- PASS: TestDNSProviders/dnscontroltest.ovh/23:PTR_***SKIPPED(CanUsePTR_not_supported)***:Empty (0.27s)
        --- PASS: TestDNSProviders/dnscontroltest.ovh/24:SRV:SRV_record (0.91s)
        --- PASS: TestDNSProviders/dnscontroltest.ovh/24:SRV:Second_SRV_record,_same_prio (0.95s)
        --- PASS: TestDNSProviders/dnscontroltest.ovh/24:SRV:3_SRV (2.26s)
        --- PASS: TestDNSProviders/dnscontroltest.ovh/24:SRV:Delete_one (1.20s)
        --- PASS: TestDNSProviders/dnscontroltest.ovh/24:SRV:Change_Target (1.10s)
        --- PASS: TestDNSProviders/dnscontroltest.ovh/24:SRV:Change_Priority (2.25s)
        --- PASS: TestDNSProviders/dnscontroltest.ovh/24:SRV:Change_Weight (1.07s)
        --- PASS: TestDNSProviders/dnscontroltest.ovh/24:SRV:Change_Port (1.00s)
        --- PASS: TestDNSProviders/dnscontroltest.ovh/Post_cleanup:Empty#19 (0.80s)
        --- PASS: TestDNSProviders/dnscontroltest.ovh/25:SRV_w/_null_target:Null_Target (2.41s)
        --- PASS: TestDNSProviders/dnscontroltest.ovh/Post_cleanup:Empty#20 (0.82s)
        --- PASS: TestDNSProviders/dnscontroltest.ovh/26:SSHFP:SSHFP_record (2.03s)
        --- PASS: TestDNSProviders/dnscontroltest.ovh/26:SSHFP:SSHFP_change_algorithm (2.11s)
        --- PASS: TestDNSProviders/dnscontroltest.ovh/26:SSHFP:SSHFP_change_fingerprint_and_type (2.25s)
        --- PASS: TestDNSProviders/dnscontroltest.ovh/26:SSHFP:SSHFP_Delete_one (0.60s)
        --- PASS: TestDNSProviders/dnscontroltest.ovh/26:SSHFP:SSHFP_add_many_records (2.41s)
        --- PASS: TestDNSProviders/dnscontroltest.ovh/26:SSHFP:SSHFP_delete_two (2.53s)
        --- PASS: TestDNSProviders/dnscontroltest.ovh/Post_cleanup:Empty#21 (0.77s)
        --- PASS: TestDNSProviders/dnscontroltest.ovh/27:TLSA:TLSA_record (1.12s)
        --- PASS: TestDNSProviders/dnscontroltest.ovh/27:TLSA:TLSA_change_usage (1.31s)
        --- PASS: TestDNSProviders/dnscontroltest.ovh/27:TLSA:TLSA_change_selector (1.02s)
        --- PASS: TestDNSProviders/dnscontroltest.ovh/27:TLSA:TLSA_change_matchingtype (1.05s)
        --- PASS: TestDNSProviders/dnscontroltest.ovh/27:TLSA:TLSA_change_certificate (0.95s)
        --- PASS: TestDNSProviders/dnscontroltest.ovh/Post_cleanup:Empty#22 (2.03s)
        --- PASS: TestDNSProviders/dnscontroltest.ovh/28:TXTMulti:Create_TXTMulti_1 (1.03s)
        --- PASS: TestDNSProviders/dnscontroltest.ovh/28:TXTMulti:Create_TXTMulti_2 (1.15s)
        --- PASS: TestDNSProviders/dnscontroltest.ovh/28:TXTMulti:Create_TXTMulti_3 (2.59s)
        --- PASS: TestDNSProviders/dnscontroltest.ovh/28:TXTMulti:Change_TXTMulti (1.55s)
        --- PASS: TestDNSProviders/dnscontroltest.ovh/28:TXTMulti:Long_TXTMulti (2.73s)
        --- PASS: TestDNSProviders/dnscontroltest.ovh/Post_cleanup:Empty#23 (0.69s)
        --- PASS: TestDNSProviders/dnscontroltest.ovh/29:TXTMulti_tests_that_break_DO:3x255-byte_TXTMulti (2.12s)
        --- PASS: TestDNSProviders/dnscontroltest.ovh/29:TXTMulti_tests_that_break_DO:Empty (0.60s)
        --- PASS: TestDNSProviders/dnscontroltest.ovh/29:TXTMulti_tests_that_break_DO:Create_TXTMulti_with_quotes (1.39s)
        --- PASS: TestDNSProviders/dnscontroltest.ovh/29:TXTMulti_tests_that_break_DO:Change_TXTMulti (1.36s)
        --- PASS: TestDNSProviders/dnscontroltest.ovh/Post_cleanup:Empty#24 (0.90s)
        --- PASS: TestDNSProviders/dnscontroltest.ovh/30:DS_***SKIPPED(CanUseDS_not_supported)***:Empty (0.30s)
        --- PASS: TestDNSProviders/dnscontroltest.ovh/31:DS_(children_only)_***SKIPPED(CanUseDSForChildren_not_supported)***:Empty (0.29s)
        --- PASS: TestDNSProviders/dnscontroltest.ovh/32:DS_(children_only)_CLOUDNS_***SKIPPED(CanUseDSForChildren_not_supported)***:Empty (0.30s)
        --- PASS: TestDNSProviders/dnscontroltest.ovh/33:ALIAS_***SKIPPED(CanUseAlias_not_supported)***:Empty (0.32s)
        --- PASS: TestDNSProviders/dnscontroltest.ovh/34:AZURE_ALIAS_***SKIPPED(CanUseAzureAlias_not_supported)***:Empty (0.28s)
        --- PASS: TestDNSProviders/dnscontroltest.ovh/35:R53_ALIAS2_***SKIPPED(CanUseRoute53Alias_not_supported)***:Empty (0.26s)
        --- PASS: TestDNSProviders/dnscontroltest.ovh/36:R53_ALIAS_ORDER_***SKIPPED(CanUseRoute53Alias_not_supported)***:Empty (0.25s)
        --- PASS: TestDNSProviders/dnscontroltest.ovh/37:CF_REDIRECT_***SKIPPED(disabled_by_only)***:Empty (0.26s)
=== RUN   TestDualProviders
    integration_test.go:298: Clearing everything
    integration_test.go:304: Adding nameservers from another provider
    integration_test.go:292: #1: CREATE NS dnscontroltest.ovh ns1.example.com. ttl=300
    integration_test.go:292: #2: CREATE NS dnscontroltest.ovh ns2.example.com. ttl=300
    integration_test.go:292: #3: REFRESH zone dnscontroltest.ovh
    integration_test.go:307: Running again to ensure stability
--- PASS: TestDualProviders (4.29s)
PASS
ok  	github.com/StackExchange/dnscontrol/v3/integrationTest	224.169s
</pre>
</details>
rblenkinsopp: #1067 Resolves all remaining issues for the HEDNS provider, with that change all tests for HEDNS pass:

<details>
  <summary>`go test -v -verbose -provider HEDNS`</summary>
```
GOROOT=/usr/local/opt/go/libexec #gosetup
GOPATH=/Users/robert.blenkinsopp/go #gosetup
/usr/local/opt/go/libexec/bin/go test -c -o /private/var/folders/rt/vmm536012f39bxq0qbv5sq9r0000gp/T/___HEDNS_Integration_Tests github.com/StackExchange/dnscontrol/v3/integrationTest #gosetup
/usr/local/opt/go/libexec/bin/go tool test2json -t /private/var/folders/rt/vmm536012f39bxq0qbv5sq9r0000gp/T/___HEDNS_Integration_Tests -test.v -verbose -provider HEDNS
=== RUN   TestDNSProviders
--- PASS: TestDNSProviders (429.91s)
=== RUN   TestDNSProviders/dnscontrol.net
    --- PASS: TestDNSProviders/dnscontrol.net (428.95s)
=== RUN   TestDNSProviders/dnscontrol.net/Clean_Slate:Empty
    integration_test.go:193: DELETE NS dnscontrol.net ns1.example.com. ttl=300
    integration_test.go:193: DELETE NS dnscontrol.net ns2.example.com. ttl=300
        --- PASS: TestDNSProviders/dnscontrol.net/Clean_Slate:Empty (0.84s)
=== RUN   TestDNSProviders/dnscontrol.net/00:GeneralACD:Create_an_A_record
    integration_test.go:193: CREATE A dnscontrol.net 1.1.1.1 ttl=300
        --- PASS: TestDNSProviders/dnscontrol.net/00:GeneralACD:Create_an_A_record (6.75s)
=== RUN   TestDNSProviders/dnscontrol.net/00:GeneralACD:Change_it
    integration_test.go:193: MODIFY A dnscontrol.net: (1.1.1.1 ttl=300) -> (1.2.3.4 ttl=300)
        --- PASS: TestDNSProviders/dnscontrol.net/00:GeneralACD:Change_it (1.20s)
=== RUN   TestDNSProviders/dnscontrol.net/00:GeneralACD:Add_another
    integration_test.go:193: CREATE A www.dnscontrol.net 1.2.3.4 ttl=300
        --- PASS: TestDNSProviders/dnscontrol.net/00:GeneralACD:Add_another (12.44s)
=== RUN   TestDNSProviders/dnscontrol.net/00:GeneralACD:Add_another(same_name)
    integration_test.go:193: CREATE A www.dnscontrol.net 5.6.7.8 ttl=300
        --- PASS: TestDNSProviders/dnscontrol.net/00:GeneralACD:Add_another(same_name) (6.51s)
=== RUN   TestDNSProviders/dnscontrol.net/00:GeneralACD:Change_a_ttl
    integration_test.go:193: MODIFY A dnscontrol.net: (1.2.3.4 ttl=300) -> (1.2.3.4 ttl=1000)
        --- PASS: TestDNSProviders/dnscontrol.net/00:GeneralACD:Change_a_ttl (2.01s)
=== RUN   TestDNSProviders/dnscontrol.net/00:GeneralACD:Change_single_target_from_set
    integration_test.go:193: MODIFY A www.dnscontrol.net: (1.2.3.4 ttl=300) -> (2.2.2.2 ttl=300)
        --- PASS: TestDNSProviders/dnscontrol.net/00:GeneralACD:Change_single_target_from_set (1.17s)
=== RUN   TestDNSProviders/dnscontrol.net/00:GeneralACD:Change_all_ttls
    integration_test.go:193: MODIFY A dnscontrol.net: (1.2.3.4 ttl=1000) -> (1.2.3.4 ttl=500)
    integration_test.go:193: MODIFY A www.dnscontrol.net: (5.6.7.8 ttl=300) -> (5.6.7.8 ttl=400)
    integration_test.go:193: MODIFY A www.dnscontrol.net: (2.2.2.2 ttl=300) -> (2.2.2.2 ttl=400)
        --- PASS: TestDNSProviders/dnscontrol.net/00:GeneralACD:Change_all_ttls (7.35s)
=== RUN   TestDNSProviders/dnscontrol.net/00:GeneralACD:Delete_one
    integration_test.go:193: DELETE A www.dnscontrol.net 2.2.2.2 ttl=400
        --- PASS: TestDNSProviders/dnscontrol.net/00:GeneralACD:Delete_one (1.11s)
=== RUN   TestDNSProviders/dnscontrol.net/00:GeneralACD:Add_back_and_change_ttl
    integration_test.go:193: DELETE A dnscontrol.net 1.2.3.4 ttl=500
    integration_test.go:193: CREATE A www.dnscontrol.net 1.2.3.4 ttl=700
    integration_test.go:193: MODIFY A www.dnscontrol.net: (5.6.7.8 ttl=400) -> (5.6.7.8 ttl=700)
        --- PASS: TestDNSProviders/dnscontrol.net/00:GeneralACD:Add_back_and_change_ttl (1.75s)
=== RUN   TestDNSProviders/dnscontrol.net/00:GeneralACD:Change_targets_and_ttls
    integration_test.go:193: MODIFY A www.dnscontrol.net: (1.2.3.4 ttl=700) -> (1.1.1.1 ttl=300)
    integration_test.go:193: MODIFY A www.dnscontrol.net: (5.6.7.8 ttl=700) -> (2.2.2.2 ttl=300)
        --- PASS: TestDNSProviders/dnscontrol.net/00:GeneralACD:Change_targets_and_ttls (1.47s)
=== RUN   TestDNSProviders/dnscontrol.net/Post_cleanup:Empty
    integration_test.go:193: DELETE A www.dnscontrol.net 1.1.1.1 ttl=300
    integration_test.go:193: DELETE A www.dnscontrol.net 2.2.2.2 ttl=300
        --- PASS: TestDNSProviders/dnscontrol.net/Post_cleanup:Empty (0.88s)
=== RUN   TestDNSProviders/dnscontrol.net/01:WildcardACD_***SKIPPED(excluded_by_not("HEDNS"))***:Empty
        --- PASS: TestDNSProviders/dnscontrol.net/01:WildcardACD_***SKIPPED(excluded_by_not("HEDNS"))***:Empty (0.44s)
=== RUN   TestDNSProviders/dnscontrol.net/02:CNAME:Create_a_CNAME
    integration_test.go:193: CREATE CNAME foo.dnscontrol.net google.com. ttl=300
        --- PASS: TestDNSProviders/dnscontrol.net/02:CNAME:Create_a_CNAME (1.14s)
=== RUN   TestDNSProviders/dnscontrol.net/02:CNAME:Change_CNAME_target
    integration_test.go:193: MODIFY CNAME foo.dnscontrol.net: (google.com. ttl=300) -> (google2.com. ttl=300)
        --- PASS: TestDNSProviders/dnscontrol.net/02:CNAME:Change_CNAME_target (1.16s)
=== RUN   TestDNSProviders/dnscontrol.net/02:CNAME:Empty
    integration_test.go:193: DELETE CNAME foo.dnscontrol.net google2.com. ttl=300
        --- PASS: TestDNSProviders/dnscontrol.net/02:CNAME:Empty (6.07s)
=== RUN   TestDNSProviders/dnscontrol.net/02:CNAME:Record_pointing_to_@
    integration_test.go:193: CREATE CNAME foo.dnscontrol.net dnscontrol.net. ttl=300
        --- PASS: TestDNSProviders/dnscontrol.net/02:CNAME:Record_pointing_to_@ (1.25s)
=== RUN   TestDNSProviders/dnscontrol.net/Post_cleanup:Empty#01
    integration_test.go:193: DELETE CNAME foo.dnscontrol.net dnscontrol.net. ttl=300
        --- PASS: TestDNSProviders/dnscontrol.net/Post_cleanup:Empty#01 (0.67s)
=== RUN   TestDNSProviders/dnscontrol.net/03:MX:MX_record
    integration_test.go:193: CREATE MX dnscontrol.net 5 foo.com. ttl=300
        --- PASS: TestDNSProviders/dnscontrol.net/03:MX:MX_record (7.10s)
=== RUN   TestDNSProviders/dnscontrol.net/03:MX:Second_MX_record,_same_prio
    integration_test.go:193: CREATE MX dnscontrol.net 5 foo2.com. ttl=300
        --- PASS: TestDNSProviders/dnscontrol.net/03:MX:Second_MX_record,_same_prio (1.35s)
=== RUN   TestDNSProviders/dnscontrol.net/03:MX:3_MX
    integration_test.go:193: CREATE MX dnscontrol.net 15 foo3.com. ttl=300
        --- PASS: TestDNSProviders/dnscontrol.net/03:MX:3_MX (1.80s)
=== RUN   TestDNSProviders/dnscontrol.net/03:MX:Delete_one
    integration_test.go:193: DELETE MX dnscontrol.net 5 foo.com. ttl=300
        --- PASS: TestDNSProviders/dnscontrol.net/03:MX:Delete_one (1.18s)
=== RUN   TestDNSProviders/dnscontrol.net/03:MX:Change_to_other_name
    integration_test.go:193: DELETE MX dnscontrol.net 15 foo3.com. ttl=300
    integration_test.go:193: CREATE MX mail.dnscontrol.net 15 foo3.com. ttl=300
        --- PASS: TestDNSProviders/dnscontrol.net/03:MX:Change_to_other_name (2.35s)
=== RUN   TestDNSProviders/dnscontrol.net/03:MX:Change_Preference
    integration_test.go:193: MODIFY MX dnscontrol.net: (5 foo2.com. ttl=300) -> (7 foo2.com. ttl=300)
        --- PASS: TestDNSProviders/dnscontrol.net/03:MX:Change_Preference (1.24s)
=== RUN   TestDNSProviders/dnscontrol.net/03:MX:Record_pointing_to_@
    integration_test.go:193: DELETE MX dnscontrol.net 7 foo2.com. ttl=300
    integration_test.go:193: DELETE MX mail.dnscontrol.net 15 foo3.com. ttl=300
    integration_test.go:193: CREATE MX foo.dnscontrol.net 8 dnscontrol.net. ttl=300
        --- PASS: TestDNSProviders/dnscontrol.net/03:MX:Record_pointing_to_@ (7.26s)
=== RUN   TestDNSProviders/dnscontrol.net/Post_cleanup:Empty#02
    integration_test.go:193: DELETE MX foo.dnscontrol.net 8 dnscontrol.net. ttl=300
        --- PASS: TestDNSProviders/dnscontrol.net/Post_cleanup:Empty#02 (0.70s)
=== RUN   TestDNSProviders/dnscontrol.net/04:Null_MX_***SKIPPED(excluded_by_not("HEDNS"))***:Empty
        --- PASS: TestDNSProviders/dnscontrol.net/04:Null_MX_***SKIPPED(excluded_by_not("HEDNS"))***:Empty (0.45s)
=== RUN   TestDNSProviders/dnscontrol.net/05:NS:NS_for_subdomain
    integration_test.go:193: CREATE NS xyz.dnscontrol.net ns2.foo.com. ttl=300
        --- PASS: TestDNSProviders/dnscontrol.net/05:NS:NS_for_subdomain (1.31s)
=== RUN   TestDNSProviders/dnscontrol.net/05:NS:Dual_NS_for_subdomain
    integration_test.go:193: CREATE NS xyz.dnscontrol.net ns1.foo.com. ttl=300
        --- PASS: TestDNSProviders/dnscontrol.net/05:NS:Dual_NS_for_subdomain (1.33s)
=== RUN   TestDNSProviders/dnscontrol.net/05:NS:NS_Record_pointing_to_@
    integration_test.go:193: DELETE NS xyz.dnscontrol.net ns1.foo.com. ttl=300
    integration_test.go:193: DELETE NS xyz.dnscontrol.net ns2.foo.com. ttl=300
    integration_test.go:193: CREATE A dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: CREATE NS foo.dnscontrol.net dnscontrol.net. ttl=300
        --- PASS: TestDNSProviders/dnscontrol.net/05:NS:NS_Record_pointing_to_@ (2.01s)
=== RUN   TestDNSProviders/dnscontrol.net/Post_cleanup:Empty#03
    integration_test.go:193: DELETE A dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: DELETE NS foo.dnscontrol.net dnscontrol.net. ttl=300
        --- PASS: TestDNSProviders/dnscontrol.net/Post_cleanup:Empty#03 (0.86s)
=== RUN   TestDNSProviders/dnscontrol.net/06:IGNORE_NAME_function:Create_some_records
    integration_test.go:193: CREATE TXT foo.dnscontrol.net "simple" ttl=300
    integration_test.go:193: CREATE A foo.dnscontrol.net 1.2.3.4 ttl=300
        --- PASS: TestDNSProviders/dnscontrol.net/06:IGNORE_NAME_function:Create_some_records (1.40s)
=== RUN   TestDNSProviders/dnscontrol.net/06:IGNORE_NAME_function:Add_a_new_record_-_ignoring_foo
    integration_test.go:193: CREATE A bar.dnscontrol.net 1.2.3.4 ttl=300
        --- PASS: TestDNSProviders/dnscontrol.net/06:IGNORE_NAME_function:Add_a_new_record_-_ignoring_foo (1.14s)
=== RUN   TestDNSProviders/dnscontrol.net/06:IGNORE_NAME_function:Empty
    integration_test.go:193: DELETE A bar.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A foo.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: DELETE TXT foo.dnscontrol.net "simple" ttl=300
        --- PASS: TestDNSProviders/dnscontrol.net/06:IGNORE_NAME_function:Empty (1.14s)
=== RUN   TestDNSProviders/dnscontrol.net/06:IGNORE_NAME_function:Create_some_records#01
    integration_test.go:193: CREATE TXT bar.foo.dnscontrol.net "simple" ttl=300
    integration_test.go:193: CREATE A bar.foo.dnscontrol.net 1.2.3.4 ttl=300
        --- PASS: TestDNSProviders/dnscontrol.net/06:IGNORE_NAME_function:Create_some_records#01 (1.52s)
=== RUN   TestDNSProviders/dnscontrol.net/06:IGNORE_NAME_function:Add_a_new_record_-_ignoring_*.foo
    integration_test.go:193: CREATE A bar.dnscontrol.net 1.2.3.4 ttl=300
        --- PASS: TestDNSProviders/dnscontrol.net/06:IGNORE_NAME_function:Add_a_new_record_-_ignoring_*.foo (1.24s)
=== RUN   TestDNSProviders/dnscontrol.net/Post_cleanup:Empty#04
    integration_test.go:193: DELETE A bar.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A bar.foo.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: DELETE TXT bar.foo.dnscontrol.net "simple" ttl=300
        --- PASS: TestDNSProviders/dnscontrol.net/Post_cleanup:Empty#04 (6.67s)
=== RUN   TestDNSProviders/dnscontrol.net/07:IGNORE_TARGET_function:Create_some_records
    integration_test.go:193: CREATE CNAME bar.dnscontrol.net test.bar.com. ttl=300
    integration_test.go:193: CREATE CNAME foo.dnscontrol.net test.foo.com. ttl=300
        --- PASS: TestDNSProviders/dnscontrol.net/07:IGNORE_TARGET_function:Create_some_records (6.98s)
=== RUN   TestDNSProviders/dnscontrol.net/07:IGNORE_TARGET_function:Add_a_new_record_-_ignoring_test.foo.com.
    integration_test.go:193: MODIFY CNAME bar.dnscontrol.net: (test.bar.com. ttl=300) -> (bar.foo.com. ttl=300)
        --- PASS: TestDNSProviders/dnscontrol.net/07:IGNORE_TARGET_function:Add_a_new_record_-_ignoring_test.foo.com. (1.16s)
=== RUN   TestDNSProviders/dnscontrol.net/07:IGNORE_TARGET_function:Empty
    integration_test.go:193: DELETE CNAME bar.dnscontrol.net bar.foo.com. ttl=300
    integration_test.go:193: DELETE CNAME foo.dnscontrol.net test.foo.com. ttl=300
        --- PASS: TestDNSProviders/dnscontrol.net/07:IGNORE_TARGET_function:Empty (1.96s)
=== RUN   TestDNSProviders/dnscontrol.net/07:IGNORE_TARGET_function:Create_some_records#01
    integration_test.go:193: CREATE CNAME bar.foo.dnscontrol.net a.b.foo.com. ttl=300
    integration_test.go:193: CREATE A test.foo.dnscontrol.net 1.2.3.4 ttl=300
        --- PASS: TestDNSProviders/dnscontrol.net/07:IGNORE_TARGET_function:Create_some_records#01 (1.99s)
=== RUN   TestDNSProviders/dnscontrol.net/07:IGNORE_TARGET_function:Add_a_new_record_-_ignoring_**.foo.com._targets
    integration_test.go:193: DELETE A test.foo.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A bar.dnscontrol.net 1.2.3.4 ttl=300
        --- PASS: TestDNSProviders/dnscontrol.net/07:IGNORE_TARGET_function:Add_a_new_record_-_ignoring_**.foo.com._targets (1.44s)
=== RUN   TestDNSProviders/dnscontrol.net/Post_cleanup:Empty#05
    integration_test.go:193: DELETE A bar.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: DELETE CNAME bar.foo.dnscontrol.net a.b.foo.com. ttl=300
        --- PASS: TestDNSProviders/dnscontrol.net/Post_cleanup:Empty#05 (6.82s)
=== RUN   TestDNSProviders/dnscontrol.net/08:single_TXT:Create_a_TXT
    integration_test.go:193: CREATE TXT foo.dnscontrol.net "simple" ttl=300
        --- PASS: TestDNSProviders/dnscontrol.net/08:single_TXT:Create_a_TXT (1.23s)
=== RUN   TestDNSProviders/dnscontrol.net/08:single_TXT:Change_a_TXT
    integration_test.go:193: MODIFY TXT foo.dnscontrol.net: ("simple" ttl=300) -> ("changed" ttl=300)
        --- PASS: TestDNSProviders/dnscontrol.net/08:single_TXT:Change_a_TXT (2.14s)
=== RUN   TestDNSProviders/dnscontrol.net/08:single_TXT:Empty
    integration_test.go:193: DELETE TXT foo.dnscontrol.net "changed" ttl=300
        --- PASS: TestDNSProviders/dnscontrol.net/08:single_TXT:Empty (0.63s)
=== RUN   TestDNSProviders/dnscontrol.net/08:single_TXT:Create_a_TXT_with_spaces
    integration_test.go:193: CREATE TXT foo.dnscontrol.net "with spaces" ttl=300
        --- PASS: TestDNSProviders/dnscontrol.net/08:single_TXT:Create_a_TXT_with_spaces (1.12s)
=== RUN   TestDNSProviders/dnscontrol.net/08:single_TXT:Create_1_TXT_as_array
    integration_test.go:193: MODIFY TXT foo.dnscontrol.net: ("with spaces" ttl=300) -> ("simple" ttl=300)
        --- PASS: TestDNSProviders/dnscontrol.net/08:single_TXT:Create_1_TXT_as_array (1.18s)
=== RUN   TestDNSProviders/dnscontrol.net/08:single_TXT:Empty#01
    integration_test.go:193: DELETE TXT foo.dnscontrol.net "simple" ttl=300
        --- PASS: TestDNSProviders/dnscontrol.net/08:single_TXT:Empty#01 (0.68s)
=== RUN   TestDNSProviders/dnscontrol.net/08:single_TXT:Create_a_254-byte_TXT
    integration_test.go:193: CREATE TXT foo.dnscontrol.net "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" ttl=300
        --- PASS: TestDNSProviders/dnscontrol.net/08:single_TXT:Create_a_254-byte_TXT (1.20s)
=== RUN   TestDNSProviders/dnscontrol.net/Post_cleanup:Empty#06
    integration_test.go:193: DELETE TXT foo.dnscontrol.net "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" ttl=300
        --- PASS: TestDNSProviders/dnscontrol.net/Post_cleanup:Empty#06 (0.65s)
=== RUN   TestDNSProviders/dnscontrol.net/09:max-sized_TXT:Create_a_255-byte_TXT
    integration_test.go:193: CREATE TXT foo.dnscontrol.net "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" ttl=300
        --- PASS: TestDNSProviders/dnscontrol.net/09:max-sized_TXT:Create_a_255-byte_TXT (1.18s)
=== RUN   TestDNSProviders/dnscontrol.net/Post_cleanup:Empty#07
    integration_test.go:193: DELETE TXT foo.dnscontrol.net "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" ttl=300
        --- PASS: TestDNSProviders/dnscontrol.net/Post_cleanup:Empty#07 (5.49s)
=== RUN   TestDNSProviders/dnscontrol.net/10:single_TXT_with_single-quote:Create_TXT_with_single-quote
    integration_test.go:193: CREATE TXT foo.dnscontrol.net "blah`blah" ttl=300
        --- PASS: TestDNSProviders/dnscontrol.net/10:single_TXT_with_single-quote:Create_TXT_with_single-quote (1.17s)
=== RUN   TestDNSProviders/dnscontrol.net/Post_cleanup:Empty#08
    integration_test.go:193: DELETE TXT foo.dnscontrol.net "blah`blah" ttl=300
        --- PASS: TestDNSProviders/dnscontrol.net/Post_cleanup:Empty#08 (0.65s)
=== RUN   TestDNSProviders/dnscontrol.net/11:ws_TXT:Change_a_TXT_with_ws_at_end
    integration_test.go:193: CREATE TXT foo.dnscontrol.net "with space at end  " ttl=300
        --- PASS: TestDNSProviders/dnscontrol.net/11:ws_TXT:Change_a_TXT_with_ws_at_end (1.54s)
=== RUN   TestDNSProviders/dnscontrol.net/Post_cleanup:Empty#09
    integration_test.go:193: DELETE TXT foo.dnscontrol.net "with space at end  " ttl=300
        --- PASS: TestDNSProviders/dnscontrol.net/Post_cleanup:Empty#09 (0.70s)
=== RUN   TestDNSProviders/dnscontrol.net/12:empty_TXT:TXT_with_empty_str
    integration_test.go:193: CREATE TXT foo1.dnscontrol.net "" ttl=300
        --- PASS: TestDNSProviders/dnscontrol.net/12:empty_TXT:TXT_with_empty_str (1.19s)
=== RUN   TestDNSProviders/dnscontrol.net/Post_cleanup:Empty#10
    integration_test.go:193: DELETE TXT foo1.dnscontrol.net "" ttl=300
        --- PASS: TestDNSProviders/dnscontrol.net/Post_cleanup:Empty#10 (0.66s)
=== RUN   TestDNSProviders/dnscontrol.net/13:TypeChange:Create_a_CNAME
    integration_test.go:193: CREATE CNAME foo.dnscontrol.net google.com. ttl=300
        --- PASS: TestDNSProviders/dnscontrol.net/13:TypeChange:Create_a_CNAME (2.10s)
=== RUN   TestDNSProviders/dnscontrol.net/13:TypeChange:Change_to_A_record
    integration_test.go:193: DELETE CNAME foo.dnscontrol.net google.com. ttl=300
    integration_test.go:193: CREATE A foo.dnscontrol.net 1.2.3.4 ttl=300
        --- PASS: TestDNSProviders/dnscontrol.net/13:TypeChange:Change_to_A_record (1.40s)
=== RUN   TestDNSProviders/dnscontrol.net/13:TypeChange:Change_back_to_CNAME
    integration_test.go:193: DELETE A foo.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: CREATE CNAME foo.dnscontrol.net google2.com. ttl=300
        --- PASS: TestDNSProviders/dnscontrol.net/13:TypeChange:Change_back_to_CNAME (1.37s)
=== RUN   TestDNSProviders/dnscontrol.net/Post_cleanup:Empty#11
    integration_test.go:193: DELETE CNAME foo.dnscontrol.net google2.com. ttl=300
        --- PASS: TestDNSProviders/dnscontrol.net/Post_cleanup:Empty#11 (0.63s)
=== RUN   TestDNSProviders/dnscontrol.net/14:Case_Sensitivity:Create_CAPS
    integration_test.go:193: CREATE MX bar.dnscontrol.net 5 bar.com. ttl=300
        --- PASS: TestDNSProviders/dnscontrol.net/14:Case_Sensitivity:Create_CAPS (7.08s)
=== RUN   TestDNSProviders/dnscontrol.net/14:Case_Sensitivity:Downcase_label
    integration_test.go:193: CREATE A decoy.dnscontrol.net 1.1.1.1 ttl=300
        --- PASS: TestDNSProviders/dnscontrol.net/14:Case_Sensitivity:Downcase_label (1.22s)
=== RUN   TestDNSProviders/dnscontrol.net/14:Case_Sensitivity:Downcase_target
    integration_test.go:193: MODIFY A decoy.dnscontrol.net: (1.1.1.1 ttl=300) -> (2.2.2.2 ttl=300)
        --- PASS: TestDNSProviders/dnscontrol.net/14:Case_Sensitivity:Downcase_target (1.26s)
=== RUN   TestDNSProviders/dnscontrol.net/14:Case_Sensitivity:Upcase_both
    integration_test.go:193: MODIFY A decoy.dnscontrol.net: (2.2.2.2 ttl=300) -> (3.3.3.3 ttl=300)
        --- PASS: TestDNSProviders/dnscontrol.net/14:Case_Sensitivity:Upcase_both (7.79s)
=== RUN   TestDNSProviders/dnscontrol.net/Post_cleanup:Empty#12
    integration_test.go:193: DELETE MX bar.dnscontrol.net 5 bar.com. ttl=300
    integration_test.go:193: DELETE A decoy.dnscontrol.net 3.3.3.3 ttl=300
        --- PASS: TestDNSProviders/dnscontrol.net/Post_cleanup:Empty#12 (0.88s)
=== RUN   TestDNSProviders/dnscontrol.net/15:IDNA:Internationalized_name
    integration_test.go:193: CREATE A xn--ndaaa.dnscontrol.net 1.2.3.4 ttl=300
        --- PASS: TestDNSProviders/dnscontrol.net/15:IDNA:Internationalized_name (6.61s)
=== RUN   TestDNSProviders/dnscontrol.net/15:IDNA:Change_IDN
    integration_test.go:193: MODIFY A xn--ndaaa.dnscontrol.net: (1.2.3.4 ttl=300) -> (2.2.2.2 ttl=300)
        --- PASS: TestDNSProviders/dnscontrol.net/15:IDNA:Change_IDN (1.25s)
=== RUN   TestDNSProviders/dnscontrol.net/15:IDNA:Internationalized_CNAME_Target
    integration_test.go:193: DELETE A xn--ndaaa.dnscontrol.net 2.2.2.2 ttl=300
    integration_test.go:193: CREATE CNAME a.dnscontrol.net xn--ndaaa.com. ttl=300
        --- PASS: TestDNSProviders/dnscontrol.net/15:IDNA:Internationalized_CNAME_Target (7.13s)
=== RUN   TestDNSProviders/dnscontrol.net/Post_cleanup:Empty#13
    integration_test.go:193: DELETE CNAME a.dnscontrol.net xn--ndaaa.com. ttl=300
        --- PASS: TestDNSProviders/dnscontrol.net/Post_cleanup:Empty#13 (6.20s)
=== RUN   TestDNSProviders/dnscontrol.net/16:IDNAs_in_CNAME_targets:IDN_CNAME_AND_Target
    integration_test.go:193: CREATE CNAME xn--o-0gab.dnscontrol.net xn--ndaaa.xn--vhquv. ttl=300
        --- PASS: TestDNSProviders/dnscontrol.net/16:IDNAs_in_CNAME_targets:IDN_CNAME_AND_Target (1.30s)
=== RUN   TestDNSProviders/dnscontrol.net/Post_cleanup:Empty#14
    integration_test.go:193: DELETE CNAME xn--o-0gab.dnscontrol.net xn--ndaaa.xn--vhquv. ttl=300
        --- PASS: TestDNSProviders/dnscontrol.net/Post_cleanup:Empty#14 (6.26s)
=== RUN   TestDNSProviders/dnscontrol.net/17:pager101:99_records
    integration_test.go:193: CREATE A rec0000.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0001.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0002.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0003.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0004.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0005.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0006.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0007.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0008.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0009.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0010.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0011.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0012.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0013.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0014.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0015.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0016.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0017.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0018.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0019.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0020.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0021.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0022.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0023.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0024.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0025.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0026.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0027.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0028.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0029.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0030.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0031.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0032.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0033.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0034.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0035.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0036.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0037.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0038.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0039.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0040.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0041.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0042.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0043.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0044.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0045.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0046.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0047.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0048.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0049.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0050.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0051.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0052.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0053.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0054.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0055.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0056.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0057.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0058.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0059.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0060.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0061.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0062.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0063.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0064.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0065.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0066.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0067.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0068.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0069.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0070.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0071.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0072.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0073.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0074.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0075.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0076.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0077.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0078.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0079.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0080.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0081.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0082.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0083.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0084.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0085.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0086.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0087.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0088.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0089.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0090.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0091.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0092.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0093.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0094.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0095.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0096.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0097.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: CREATE A rec0098.dnscontrol.net 1.2.3.4 ttl=300
        --- PASS: TestDNSProviders/dnscontrol.net/17:pager101:99_records (57.59s)
=== RUN   TestDNSProviders/dnscontrol.net/17:pager101:100_records
    integration_test.go:193: CREATE A rec0099.dnscontrol.net 1.2.3.4 ttl=300
        --- PASS: TestDNSProviders/dnscontrol.net/17:pager101:100_records (2.28s)
=== RUN   TestDNSProviders/dnscontrol.net/17:pager101:101_records
    integration_test.go:193: CREATE A rec0100.dnscontrol.net 1.2.3.4 ttl=300
        --- PASS: TestDNSProviders/dnscontrol.net/17:pager101:101_records (6.72s)
=== RUN   TestDNSProviders/dnscontrol.net/Post_cleanup:Empty#15
    integration_test.go:193: DELETE A rec0000.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0001.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0002.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0003.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0004.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0005.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0006.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0007.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0008.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0009.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0010.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0011.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0012.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0013.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0014.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0015.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0016.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0017.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0018.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0019.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0020.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0021.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0022.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0023.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0024.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0025.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0026.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0027.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0028.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0029.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0030.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0031.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0032.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0033.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0034.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0035.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0036.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0037.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0038.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0039.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0040.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0041.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0042.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0043.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0044.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0045.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0046.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0047.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0048.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0049.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0050.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0051.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0052.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0053.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0054.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0055.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0056.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0057.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0058.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0059.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0060.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0061.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0062.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0063.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0064.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0065.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0066.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0067.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0068.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0069.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0070.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0071.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0072.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0073.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0074.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0075.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0076.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0077.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0078.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0079.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0080.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0081.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0082.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0083.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0084.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0085.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0086.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0087.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0088.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0089.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0090.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0091.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0092.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0093.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0094.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0095.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0096.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0097.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0098.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0099.dnscontrol.net 1.2.3.4 ttl=300
    integration_test.go:193: DELETE A rec0100.dnscontrol.net 1.2.3.4 ttl=300
        --- PASS: TestDNSProviders/dnscontrol.net/Post_cleanup:Empty#15 (66.60s)
=== RUN   TestDNSProviders/dnscontrol.net/18:pager601_***SKIPPED(disabled_by_only)***:Empty
        --- PASS: TestDNSProviders/dnscontrol.net/18:pager601_***SKIPPED(disabled_by_only)***:Empty (1.46s)
=== RUN   TestDNSProviders/dnscontrol.net/19:pager1201_***SKIPPED(disabled_by_only)***:Empty
        --- PASS: TestDNSProviders/dnscontrol.net/19:pager1201_***SKIPPED(disabled_by_only)***:Empty (0.44s)
=== RUN   TestDNSProviders/dnscontrol.net/20:CAA:CAA_record
    integration_test.go:193: CREATE CAA dnscontrol.net 0 issue "letsencrypt.org" ttl=300
        --- PASS: TestDNSProviders/dnscontrol.net/20:CAA:CAA_record (1.20s)
=== RUN   TestDNSProviders/dnscontrol.net/20:CAA:CAA_change_tag
    integration_test.go:193: MODIFY CAA dnscontrol.net: (0 issue "letsencrypt.org" ttl=300) -> (0 issuewild "letsencrypt.org" ttl=300)
        --- PASS: TestDNSProviders/dnscontrol.net/20:CAA:CAA_change_tag (1.16s)
=== RUN   TestDNSProviders/dnscontrol.net/20:CAA:CAA_change_target
    integration_test.go:193: MODIFY CAA dnscontrol.net: (0 issuewild "letsencrypt.org" ttl=300) -> (0 issuewild "example.com" ttl=300)
        --- PASS: TestDNSProviders/dnscontrol.net/20:CAA:CAA_change_target (1.16s)
=== RUN   TestDNSProviders/dnscontrol.net/20:CAA:CAA_change_flag
    integration_test.go:193: MODIFY CAA dnscontrol.net: (0 issuewild "example.com" ttl=300) -> (128 issuewild "example.com" ttl=300)
        --- PASS: TestDNSProviders/dnscontrol.net/20:CAA:CAA_change_flag (1.20s)
=== RUN   TestDNSProviders/dnscontrol.net/20:CAA:CAA_many_records
    integration_test.go:193: CREATE CAA dnscontrol.net 0 issuewild "comodoca.com" ttl=300
    integration_test.go:193: CREATE CAA dnscontrol.net 128 iodef "mailto:test@example.com" ttl=300
    integration_test.go:193: MODIFY CAA dnscontrol.net: (128 issuewild "example.com" ttl=300) -> (0 issue "letsencrypt.org" ttl=300)
        --- PASS: TestDNSProviders/dnscontrol.net/20:CAA:CAA_many_records (1.93s)
=== RUN   TestDNSProviders/dnscontrol.net/20:CAA:CAA_delete
    integration_test.go:193: DELETE CAA dnscontrol.net 0 issuewild "comodoca.com" ttl=300
    integration_test.go:193: DELETE CAA dnscontrol.net 128 iodef "mailto:test@example.com" ttl=300
        --- PASS: TestDNSProviders/dnscontrol.net/20:CAA:CAA_delete (1.35s)
=== RUN   TestDNSProviders/dnscontrol.net/Post_cleanup:Empty#16
    integration_test.go:193: DELETE CAA dnscontrol.net 0 issue "letsencrypt.org" ttl=300
        --- PASS: TestDNSProviders/dnscontrol.net/Post_cleanup:Empty#16 (1.15s)
=== RUN   TestDNSProviders/dnscontrol.net/21:CAA_with_;:CAA_many_records
    integration_test.go:193: CREATE CAA dnscontrol.net 0 issuewild ";" ttl=300
        --- PASS: TestDNSProviders/dnscontrol.net/21:CAA_with_;:CAA_many_records (1.94s)
=== RUN   TestDNSProviders/dnscontrol.net/Post_cleanup:Empty#17
    integration_test.go:193: DELETE CAA dnscontrol.net 0 issuewild ";" ttl=300
        --- PASS: TestDNSProviders/dnscontrol.net/Post_cleanup:Empty#17 (0.64s)
=== RUN   TestDNSProviders/dnscontrol.net/22:NAPTR:NAPTR_record
    integration_test.go:193: CREATE NAPTR test.dnscontrol.net 100 10 "U" "E2U+sip" "!^.*$!sip:customer-service@example.com!" example.foo.com. ttl=300
        --- PASS: TestDNSProviders/dnscontrol.net/22:NAPTR:NAPTR_record (1.18s)
=== RUN   TestDNSProviders/dnscontrol.net/22:NAPTR:NAPTR_second_record
    integration_test.go:193: MODIFY NAPTR test.dnscontrol.net: (100 10 "U" "E2U+sip" "!^.*$!sip:customer-service@example.com!" example.foo.com. ttl=300) -> (102 10 "U" "E2U+email" "!^.*$!mailto:information@example.com!" example.foo.com. ttl=300)
        --- PASS: TestDNSProviders/dnscontrol.net/22:NAPTR:NAPTR_second_record (1.16s)
=== RUN   TestDNSProviders/dnscontrol.net/22:NAPTR:NAPTR_delete_record
    integration_test.go:193: MODIFY NAPTR test.dnscontrol.net: (102 10 "U" "E2U+email" "!^.*$!mailto:information@example.com!" example.foo.com. ttl=300) -> (100 10 "U" "E2U+email" "!^.*$!mailto:information@example.com!" example.foo.com. ttl=300)
        --- PASS: TestDNSProviders/dnscontrol.net/22:NAPTR:NAPTR_delete_record (1.15s)
=== RUN   TestDNSProviders/dnscontrol.net/22:NAPTR:NAPTR_change_target
    integration_test.go:193: MODIFY NAPTR test.dnscontrol.net: (100 10 "U" "E2U+email" "!^.*$!mailto:information@example.com!" example.foo.com. ttl=300) -> (100 10 "U" "E2U+email" "!^.*$!mailto:information@example.com!" example2.foo.com. ttl=300)
        --- PASS: TestDNSProviders/dnscontrol.net/22:NAPTR:NAPTR_change_target (1.36s)
=== RUN   TestDNSProviders/dnscontrol.net/22:NAPTR:NAPTR_change_order
    integration_test.go:193: MODIFY NAPTR test.dnscontrol.net: (100 10 "U" "E2U+email" "!^.*$!mailto:information@example.com!" example2.foo.com. ttl=300) -> (103 10 "U" "E2U+email" "!^.*$!mailto:information@example.com!" example2.foo.com. ttl=300)
        --- PASS: TestDNSProviders/dnscontrol.net/22:NAPTR:NAPTR_change_order (1.15s)
=== RUN   TestDNSProviders/dnscontrol.net/22:NAPTR:NAPTR_change_preference
    integration_test.go:193: MODIFY NAPTR test.dnscontrol.net: (103 10 "U" "E2U+email" "!^.*$!mailto:information@example.com!" example2.foo.com. ttl=300) -> (103 20 "U" "E2U+email" "!^.*$!mailto:information@example.com!" example2.foo.com. ttl=300)
        --- PASS: TestDNSProviders/dnscontrol.net/22:NAPTR:NAPTR_change_preference (1.17s)
=== RUN   TestDNSProviders/dnscontrol.net/22:NAPTR:NAPTR_change_flags
    integration_test.go:193: MODIFY NAPTR test.dnscontrol.net: (103 20 "U" "E2U+email" "!^.*$!mailto:information@example.com!" example2.foo.com. ttl=300) -> (103 20 "A" "E2U+email" "!^.*$!mailto:information@example.com!" example2.foo.com. ttl=300)
        --- PASS: TestDNSProviders/dnscontrol.net/22:NAPTR:NAPTR_change_flags (1.22s)
=== RUN   TestDNSProviders/dnscontrol.net/22:NAPTR:NAPTR_change_service
    integration_test.go:193: MODIFY NAPTR test.dnscontrol.net: (103 20 "A" "E2U+email" "!^.*$!mailto:information@example.com!" example2.foo.com. ttl=300) -> (103 20 "A" "E2U+sip" "!^.*$!mailto:information@example.com!" example2.foo.com. ttl=300)
        --- PASS: TestDNSProviders/dnscontrol.net/22:NAPTR:NAPTR_change_service (1.22s)
=== RUN   TestDNSProviders/dnscontrol.net/22:NAPTR:NAPTR_change_regexp
    integration_test.go:193: MODIFY NAPTR test.dnscontrol.net: (103 20 "A" "E2U+sip" "!^.*$!mailto:information@example.com!" example2.foo.com. ttl=300) -> (103 20 "A" "E2U+sip" "!^.*$!sip:customer-service@example.com!" example2.foo.com. ttl=300)
        --- PASS: TestDNSProviders/dnscontrol.net/22:NAPTR:NAPTR_change_regexp (2.01s)
=== RUN   TestDNSProviders/dnscontrol.net/Post_cleanup:Empty#18
    integration_test.go:193: DELETE NAPTR test.dnscontrol.net 103 20 "A" "E2U+sip" "!^.*$!sip:customer-service@example.com!" example2.foo.com. ttl=300
        --- PASS: TestDNSProviders/dnscontrol.net/Post_cleanup:Empty#18 (0.93s)
=== RUN   TestDNSProviders/dnscontrol.net/23:PTR:Create_PTR_record
    integration_test.go:193: CREATE PTR 4.dnscontrol.net foo.com. ttl=300
        --- PASS: TestDNSProviders/dnscontrol.net/23:PTR:Create_PTR_record (1.18s)
=== RUN   TestDNSProviders/dnscontrol.net/23:PTR:Modify_PTR_record
    integration_test.go:193: MODIFY PTR 4.dnscontrol.net: (foo.com. ttl=300) -> (bar.com. ttl=300)
        --- PASS: TestDNSProviders/dnscontrol.net/23:PTR:Modify_PTR_record (1.11s)
=== RUN   TestDNSProviders/dnscontrol.net/Post_cleanup:Empty#19
    integration_test.go:193: DELETE PTR 4.dnscontrol.net bar.com. ttl=300
        --- PASS: TestDNSProviders/dnscontrol.net/Post_cleanup:Empty#19 (0.65s)
=== RUN   TestDNSProviders/dnscontrol.net/24:SRV:SRV_record
    integration_test.go:193: CREATE SRV _sip._tcp.dnscontrol.net 5 6 7 foo.com. ttl=300
        --- PASS: TestDNSProviders/dnscontrol.net/24:SRV:SRV_record (1.15s)
=== RUN   TestDNSProviders/dnscontrol.net/24:SRV:Second_SRV_record,_same_prio
    integration_test.go:193: CREATE SRV _sip._tcp.dnscontrol.net 5 60 70 foo2.com. ttl=300
        --- PASS: TestDNSProviders/dnscontrol.net/24:SRV:Second_SRV_record,_same_prio (1.13s)
=== RUN   TestDNSProviders/dnscontrol.net/24:SRV:3_SRV
    integration_test.go:193: CREATE SRV _sip._tcp.dnscontrol.net 15 65 75 foo3.com. ttl=300
        --- PASS: TestDNSProviders/dnscontrol.net/24:SRV:3_SRV (1.21s)
=== RUN   TestDNSProviders/dnscontrol.net/24:SRV:Delete_one
    integration_test.go:193: DELETE SRV _sip._tcp.dnscontrol.net 5 60 70 foo2.com. ttl=300
        --- PASS: TestDNSProviders/dnscontrol.net/24:SRV:Delete_one (1.10s)
=== RUN   TestDNSProviders/dnscontrol.net/24:SRV:Change_Target
    integration_test.go:193: MODIFY SRV _sip._tcp.dnscontrol.net: (15 65 75 foo3.com. ttl=300) -> (15 65 75 foo4.com. ttl=300)
        --- PASS: TestDNSProviders/dnscontrol.net/24:SRV:Change_Target (1.81s)
=== RUN   TestDNSProviders/dnscontrol.net/24:SRV:Change_Priority
    integration_test.go:193: MODIFY SRV _sip._tcp.dnscontrol.net: (5 6 7 foo.com. ttl=300) -> (52 6 7 foo.com. ttl=300)
        --- PASS: TestDNSProviders/dnscontrol.net/24:SRV:Change_Priority (6.68s)
=== RUN   TestDNSProviders/dnscontrol.net/24:SRV:Change_Weight
    integration_test.go:193: MODIFY SRV _sip._tcp.dnscontrol.net: (52 6 7 foo.com. ttl=300) -> (52 62 7 foo.com. ttl=300)
        --- PASS: TestDNSProviders/dnscontrol.net/24:SRV:Change_Weight (7.23s)
=== RUN   TestDNSProviders/dnscontrol.net/24:SRV:Change_Port
    integration_test.go:193: MODIFY SRV _sip._tcp.dnscontrol.net: (52 62 7 foo.com. ttl=300) -> (52 62 72 foo.com. ttl=300)
        --- PASS: TestDNSProviders/dnscontrol.net/24:SRV:Change_Port (1.23s)
=== RUN   TestDNSProviders/dnscontrol.net/Post_cleanup:Empty#20
    integration_test.go:193: DELETE SRV _sip._tcp.dnscontrol.net 15 65 75 foo4.com. ttl=300
    integration_test.go:193: DELETE SRV _sip._tcp.dnscontrol.net 52 62 72 foo.com. ttl=300
        --- PASS: TestDNSProviders/dnscontrol.net/Post_cleanup:Empty#20 (0.91s)
=== RUN   TestDNSProviders/dnscontrol.net/25:SRV_w/_null_target:Null_Target
    integration_test.go:193: CREATE SRV _sip._tcp.dnscontrol.net 52 62 72 foo.com. ttl=300
    integration_test.go:193: CREATE SRV _sip._tcp.dnscontrol.net 15 65 75 . ttl=300
        --- PASS: TestDNSProviders/dnscontrol.net/25:SRV_w/_null_target:Null_Target (1.56s)
=== RUN   TestDNSProviders/dnscontrol.net/Post_cleanup:Empty#21
    integration_test.go:193: DELETE SRV _sip._tcp.dnscontrol.net 15 65 75 . ttl=300
    integration_test.go:193: DELETE SRV _sip._tcp.dnscontrol.net 52 62 72 foo.com. ttl=300
        --- PASS: TestDNSProviders/dnscontrol.net/Post_cleanup:Empty#21 (0.91s)
=== RUN   TestDNSProviders/dnscontrol.net/26:SSHFP:SSHFP_record
    integration_test.go:193: CREATE SSHFP dnscontrol.net 1 1 66C7D5540B7D75A1FB4C84FEBFA178AD99BDD67C ttl=300
        --- PASS: TestDNSProviders/dnscontrol.net/26:SSHFP:SSHFP_record (1.20s)
=== RUN   TestDNSProviders/dnscontrol.net/26:SSHFP:SSHFP_change_algorithm
    integration_test.go:193: MODIFY SSHFP dnscontrol.net: (1 1 66C7D5540B7D75A1FB4C84FEBFA178AD99BDD67C ttl=300) -> (2 1 66C7D5540B7D75A1FB4C84FEBFA178AD99BDD67C ttl=300)
        --- PASS: TestDNSProviders/dnscontrol.net/26:SSHFP:SSHFP_change_algorithm (1.15s)
=== RUN   TestDNSProviders/dnscontrol.net/26:SSHFP:SSHFP_change_fingerprint_and_type
    integration_test.go:193: MODIFY SSHFP dnscontrol.net: (2 1 66C7D5540B7D75A1FB4C84FEBFA178AD99BDD67C ttl=300) -> (2 2 745A635BC46A397A5C4F21D437483005BCC40D7511FF15FBFAFE913A081559BC ttl=300)
        --- PASS: TestDNSProviders/dnscontrol.net/26:SSHFP:SSHFP_change_fingerprint_and_type (1.18s)
=== RUN   TestDNSProviders/dnscontrol.net/26:SSHFP:SSHFP_Delete_one
    integration_test.go:193: DELETE SSHFP dnscontrol.net 2 2 745A635BC46A397A5C4F21D437483005BCC40D7511FF15FBFAFE913A081559BC ttl=300
        --- PASS: TestDNSProviders/dnscontrol.net/26:SSHFP:SSHFP_Delete_one (1.40s)
=== RUN   TestDNSProviders/dnscontrol.net/26:SSHFP:SSHFP_add_many_records
    integration_test.go:193: CREATE SSHFP dnscontrol.net 1 1 66666666666D75A1FB4C84FEBFA178AD99BDD67C ttl=300
    integration_test.go:193: CREATE SSHFP dnscontrol.net 1 2 777777777777797A5C4F21D437483005BCC40D7511FF15FBFAFE913A081559BC ttl=300
    integration_test.go:193: CREATE SSHFP dnscontrol.net 2 1 8888888888888888FB4C84FEBFA178AD99BDD67C ttl=300
        --- PASS: TestDNSProviders/dnscontrol.net/26:SSHFP:SSHFP_add_many_records (7.29s)
=== RUN   TestDNSProviders/dnscontrol.net/26:SSHFP:SSHFP_delete_two
    integration_test.go:193: DELETE SSHFP dnscontrol.net 1 2 777777777777797A5C4F21D437483005BCC40D7511FF15FBFAFE913A081559BC ttl=300
    integration_test.go:193: DELETE SSHFP dnscontrol.net 2 1 8888888888888888FB4C84FEBFA178AD99BDD67C ttl=300
        --- PASS: TestDNSProviders/dnscontrol.net/26:SSHFP:SSHFP_delete_two (1.43s)
=== RUN   TestDNSProviders/dnscontrol.net/Post_cleanup:Empty#22
    integration_test.go:193: DELETE SSHFP dnscontrol.net 1 1 66666666666D75A1FB4C84FEBFA178AD99BDD67C ttl=300
        --- PASS: TestDNSProviders/dnscontrol.net/Post_cleanup:Empty#22 (0.69s)
=== RUN   TestDNSProviders/dnscontrol.net/27:TLSA_***SKIPPED(CanUseTLSA_not_supported)***:Empty
        --- PASS: TestDNSProviders/dnscontrol.net/27:TLSA_***SKIPPED(CanUseTLSA_not_supported)***:Empty (0.45s)
=== RUN   TestDNSProviders/dnscontrol.net/28:TXTMulti:Create_TXTMulti_1
    integration_test.go:193: CREATE TXT foo1.dnscontrol.net "simple" ttl=300
        --- PASS: TestDNSProviders/dnscontrol.net/28:TXTMulti:Create_TXTMulti_1 (1.22s)
=== RUN   TestDNSProviders/dnscontrol.net/28:TXTMulti:Create_TXTMulti_2
    integration_test.go:193: CREATE TXT foo2.dnscontrol.net "one" "two" ttl=300
        --- PASS: TestDNSProviders/dnscontrol.net/28:TXTMulti:Create_TXTMulti_2 (1.19s)
=== RUN   TestDNSProviders/dnscontrol.net/28:TXTMulti:Create_TXTMulti_3
    integration_test.go:193: CREATE TXT foo3.dnscontrol.net "eh" "bee" "cee" ttl=300
        --- PASS: TestDNSProviders/dnscontrol.net/28:TXTMulti:Create_TXTMulti_3 (1.26s)
=== RUN   TestDNSProviders/dnscontrol.net/28:TXTMulti:Change_TXTMulti
    integration_test.go:193: MODIFY TXT foo1.dnscontrol.net: ("simple" ttl=300) -> ("dimple" ttl=300)
    integration_test.go:193: MODIFY TXT foo2.dnscontrol.net: ("one" "two" ttl=300) -> ("fun" "two" ttl=300)
    integration_test.go:193: MODIFY TXT foo3.dnscontrol.net: ("eh" "bee" "cee" ttl=300) -> ("eh" "bzz" "cee" ttl=300)
        --- PASS: TestDNSProviders/dnscontrol.net/28:TXTMulti:Change_TXTMulti (1.76s)
=== RUN   TestDNSProviders/dnscontrol.net/28:TXTMulti:Long_TXTMulti
    integration_test.go:193: DELETE TXT foo1.dnscontrol.net "dimple" ttl=300
    integration_test.go:193: DELETE TXT foo2.dnscontrol.net "fun" "two" ttl=300
    integration_test.go:193: DELETE TXT foo3.dnscontrol.net "eh" "bzz" "cee" ttl=300
    integration_test.go:193: CREATE TXT foo4.dnscontrol.net "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" "YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY" ttl=300
        --- PASS: TestDNSProviders/dnscontrol.net/28:TXTMulti:Long_TXTMulti (2.73s)
=== RUN   TestDNSProviders/dnscontrol.net/Post_cleanup:Empty#23
    integration_test.go:193: DELETE TXT foo4.dnscontrol.net "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" "YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY" ttl=300
        --- PASS: TestDNSProviders/dnscontrol.net/Post_cleanup:Empty#23 (0.63s)
=== RUN   TestDNSProviders/dnscontrol.net/29:TXTMulti_tests_that_break_DO:3x255-byte_TXTMulti
    integration_test.go:193: CREATE TXT foo3.dnscontrol.net "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" "YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY" "ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ" ttl=300
        --- PASS: TestDNSProviders/dnscontrol.net/29:TXTMulti_tests_that_break_DO:3x255-byte_TXTMulti (1.18s)
=== RUN   TestDNSProviders/dnscontrol.net/29:TXTMulti_tests_that_break_DO:Empty
    integration_test.go:193: DELETE TXT foo3.dnscontrol.net "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" "YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY" "ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ" ttl=300
        --- PASS: TestDNSProviders/dnscontrol.net/29:TXTMulti_tests_that_break_DO:Empty (0.66s)
=== RUN   TestDNSProviders/dnscontrol.net/29:TXTMulti_tests_that_break_DO:Create_TXTMulti_with_quotes
    integration_test.go:193: CREATE TXT foo1.dnscontrol.net "simple" ttl=300
    integration_test.go:193: CREATE TXT foo2.dnscontrol.net "o\"ne" "tw\"o" ttl=300
    integration_test.go:193: CREATE TXT foo3.dnscontrol.net "eh" "bee" "cee" ttl=300
        --- PASS: TestDNSProviders/dnscontrol.net/29:TXTMulti_tests_that_break_DO:Create_TXTMulti_with_quotes (7.85s)
=== RUN   TestDNSProviders/dnscontrol.net/29:TXTMulti_tests_that_break_DO:Change_TXTMulti
    integration_test.go:193: MODIFY TXT foo1.dnscontrol.net: ("simple" ttl=300) -> ("dimple" ttl=300)
    integration_test.go:193: MODIFY TXT foo2.dnscontrol.net: ("o\"ne" "tw\"o" ttl=300) -> ("fun" "t\"wo" ttl=300)
    integration_test.go:193: MODIFY TXT foo3.dnscontrol.net: ("eh" "bee" "cee" ttl=300) -> ("eh" "bzz" "cee" ttl=300)
        --- PASS: TestDNSProviders/dnscontrol.net/29:TXTMulti_tests_that_break_DO:Change_TXTMulti (1.88s)
=== RUN   TestDNSProviders/dnscontrol.net/Post_cleanup:Empty#24
    integration_test.go:193: DELETE TXT foo1.dnscontrol.net "dimple" ttl=300
    integration_test.go:193: DELETE TXT foo2.dnscontrol.net "fun" "t\"wo" ttl=300
    integration_test.go:193: DELETE TXT foo3.dnscontrol.net "eh" "bzz" "cee" ttl=300
        --- PASS: TestDNSProviders/dnscontrol.net/Post_cleanup:Empty#24 (1.17s)
=== RUN   TestDNSProviders/dnscontrol.net/30:DS_***SKIPPED(CanUseDS_not_supported)***:Empty
        --- PASS: TestDNSProviders/dnscontrol.net/30:DS_***SKIPPED(CanUseDS_not_supported)***:Empty (0.46s)
=== RUN   TestDNSProviders/dnscontrol.net/31:DS_(children_only)_***SKIPPED(CanUseDSForChildren_not_supported)***:Empty
        --- PASS: TestDNSProviders/dnscontrol.net/31:DS_(children_only)_***SKIPPED(CanUseDSForChildren_not_supported)***:Empty (0.45s)
=== RUN   TestDNSProviders/dnscontrol.net/32:DS_(children_only)_CLOUDNS_***SKIPPED(CanUseDSForChildren_not_supported)***:Empty
        --- PASS: TestDNSProviders/dnscontrol.net/32:DS_(children_only)_CLOUDNS_***SKIPPED(CanUseDSForChildren_not_supported)***:Empty (0.43s)
=== RUN   TestDNSProviders/dnscontrol.net/33:ALIAS:ALIAS_at_root
    integration_test.go:193: CREATE ALIAS dnscontrol.net foo.com. ttl=300
        --- PASS: TestDNSProviders/dnscontrol.net/33:ALIAS:ALIAS_at_root (1.19s)
=== RUN   TestDNSProviders/dnscontrol.net/33:ALIAS:change_it
    integration_test.go:193: MODIFY ALIAS dnscontrol.net: (foo.com. ttl=300) -> (foo2.com. ttl=300)
        --- PASS: TestDNSProviders/dnscontrol.net/33:ALIAS:change_it (1.20s)
=== RUN   TestDNSProviders/dnscontrol.net/33:ALIAS:ALIAS_at_subdomain
    integration_test.go:193: DELETE ALIAS dnscontrol.net foo2.com. ttl=300
    integration_test.go:193: CREATE ALIAS test.dnscontrol.net foo.com. ttl=300
        --- PASS: TestDNSProviders/dnscontrol.net/33:ALIAS:ALIAS_at_subdomain (7.38s)
=== RUN   TestDNSProviders/dnscontrol.net/33:ALIAS:change_it#01
    integration_test.go:193: MODIFY ALIAS test.dnscontrol.net: (foo.com. ttl=300) -> (foo2.com. ttl=300)
        --- PASS: TestDNSProviders/dnscontrol.net/33:ALIAS:change_it#01 (1.27s)
=== RUN   TestDNSProviders/dnscontrol.net/Post_cleanup:Empty#25
    integration_test.go:193: DELETE ALIAS test.dnscontrol.net foo2.com. ttl=300
        --- PASS: TestDNSProviders/dnscontrol.net/Post_cleanup:Empty#25 (0.69s)
=== RUN   TestDNSProviders/dnscontrol.net/34:AZURE_ALIAS_***SKIPPED(CanUseAzureAlias_not_supported)***:Empty
        --- PASS: TestDNSProviders/dnscontrol.net/34:AZURE_ALIAS_***SKIPPED(CanUseAzureAlias_not_supported)***:Empty (0.45s)
=== RUN   TestDNSProviders/dnscontrol.net/35:R53_ALIAS2_***SKIPPED(CanUseRoute53Alias_not_supported)***:Empty
        --- PASS: TestDNSProviders/dnscontrol.net/35:R53_ALIAS2_***SKIPPED(CanUseRoute53Alias_not_supported)***:Empty (0.45s)
=== RUN   TestDNSProviders/dnscontrol.net/36:R53_ALIAS_ORDER_***SKIPPED(CanUseRoute53Alias_not_supported)***:Empty
        --- PASS: TestDNSProviders/dnscontrol.net/36:R53_ALIAS_ORDER_***SKIPPED(CanUseRoute53Alias_not_supported)***:Empty (0.45s)
=== RUN   TestDNSProviders/dnscontrol.net/37:CF_REDIRECT_***SKIPPED(disabled_by_only)***:Empty
        --- PASS: TestDNSProviders/dnscontrol.net/37:CF_REDIRECT_***SKIPPED(disabled_by_only)***:Empty (0.44s)
=== RUN   TestDualProviders
    integration_test.go:290: Clearing everything
    integration_test.go:296: Adding nameservers from another provider
    integration_test.go:284: #1: CREATE NS dnscontrol.net ns1.example.com. ttl=300
    integration_test.go:284: #2: CREATE NS dnscontrol.net ns2.example.com. ttl=300
    integration_test.go:299: Running again to ensure stability
--- PASS: TestDualProviders (2.31s)
PASS
ok  	github.com/StackExchange/dnscontrol/v3/integrationTest	432.644s
```
</details>

hnrgrgr: I confirm AXFRDDNS passes the tests, except for one unrelated to this PR. I will look into it.

```
=== RUN   TestDNSProviders
[Warning] AXFRDDNS: unknown key in `creds.json` (domain)
=== RUN   TestDNSProviders/example.com
=== RUN   TestDNSProviders/example.com/Clean_Slate:Empty
    integration_test.go:193: DDNS UPDATES to 'example.com' (primary master: '172.18.0.2:53'). Changes:
        DELETE NS example.com ns1.example.com. ttl=300
        DELETE NS example.com ns2.example.com. ttl=300
        
=== RUN   TestDNSProviders/example.com/00:GeneralACD:Create_an_A_record
    integration_test.go:193: DDNS UPDATES to 'example.com' (primary master: '172.18.0.2:53'). Changes:
        CREATE A example.com 1.1.1.1 ttl=300
        
=== RUN   TestDNSProviders/example.com/00:GeneralACD:Change_it
    integration_test.go:193: DDNS UPDATES to 'example.com' (primary master: '172.18.0.2:53'). Changes:
        MODIFY A example.com: (1.1.1.1 ttl=300) -> (1.2.3.4 ttl=300)
        
=== RUN   TestDNSProviders/example.com/00:GeneralACD:Add_another
    integration_test.go:193: DDNS UPDATES to 'example.com' (primary master: '172.18.0.2:53'). Changes:
        CREATE A www.example.com 1.2.3.4 ttl=300
        
=== RUN   TestDNSProviders/example.com/00:GeneralACD:Add_another(same_name)
    integration_test.go:193: DDNS UPDATES to 'example.com' (primary master: '172.18.0.2:53'). Changes:
        CREATE A www.example.com 5.6.7.8 ttl=300
        
=== RUN   TestDNSProviders/example.com/00:GeneralACD:Change_a_ttl
    integration_test.go:193: DDNS UPDATES to 'example.com' (primary master: '172.18.0.2:53'). Changes:
        MODIFY A example.com: (1.2.3.4 ttl=300) -> (1.2.3.4 ttl=1000)
        
=== RUN   TestDNSProviders/example.com/00:GeneralACD:Change_single_target_from_set
    integration_test.go:193: DDNS UPDATES to 'example.com' (primary master: '172.18.0.2:53'). Changes:
        MODIFY A www.example.com: (1.2.3.4 ttl=300) -> (2.2.2.2 ttl=300)
        
=== RUN   TestDNSProviders/example.com/00:GeneralACD:Change_all_ttls
    integration_test.go:193: DDNS UPDATES to 'example.com' (primary master: '172.18.0.2:53'). Changes:
        MODIFY A example.com: (1.2.3.4 ttl=1000) -> (1.2.3.4 ttl=500)
        MODIFY A www.example.com: (5.6.7.8 ttl=300) -> (5.6.7.8 ttl=400)
        MODIFY A www.example.com: (2.2.2.2 ttl=300) -> (2.2.2.2 ttl=400)
        
=== RUN   TestDNSProviders/example.com/00:GeneralACD:Delete_one
    integration_test.go:193: DDNS UPDATES to 'example.com' (primary master: '172.18.0.2:53'). Changes:
        DELETE A www.example.com 2.2.2.2 ttl=400
        
=== RUN   TestDNSProviders/example.com/00:GeneralACD:Add_back_and_change_ttl
    integration_test.go:193: DDNS UPDATES to 'example.com' (primary master: '172.18.0.2:53'). Changes:
        CREATE A www.example.com 1.2.3.4 ttl=700
        DELETE A example.com 1.2.3.4 ttl=500
        MODIFY A www.example.com: (5.6.7.8 ttl=400) -> (5.6.7.8 ttl=700)
        
=== RUN   TestDNSProviders/example.com/00:GeneralACD:Change_targets_and_ttls
    integration_test.go:193: DDNS UPDATES to 'example.com' (primary master: '172.18.0.2:53'). Changes:
        MODIFY A www.example.com: (1.2.3.4 ttl=700) -> (1.1.1.1 ttl=300)
        MODIFY A www.example.com: (5.6.7.8 ttl=700) -> (2.2.2.2 ttl=300)
        
=== RUN   TestDNSProviders/example.com/Post_cleanup:Empty
    integration_test.go:193: DDNS UPDATES to 'example.com' (primary master: '172.18.0.2:53'). Changes:
        DELETE A www.example.com 1.1.1.1 ttl=300
        DELETE A www.example.com 2.2.2.2 ttl=300
        
=== RUN   TestDNSProviders/example.com/01:WildcardACD:Create_wildcard
    integration_test.go:193: DDNS UPDATES to 'example.com' (primary master: '172.18.0.2:53'). Changes:
        CREATE A *.example.com 1.2.3.4 ttl=300
        CREATE A www.example.com 1.1.1.1 ttl=300
        
=== RUN   TestDNSProviders/example.com/01:WildcardACD:Delete_wildcard
    integration_test.go:193: DDNS UPDATES to 'example.com' (primary master: '172.18.0.2:53'). Changes:
        DELETE A *.example.com 1.2.3.4 ttl=300
        
=== RUN   TestDNSProviders/example.com/Post_cleanup:Empty#01
    integration_test.go:193: DDNS UPDATES to 'example.com' (primary master: '172.18.0.2:53'). Changes:
        DELETE A www.example.com 1.1.1.1 ttl=300
        
=== RUN   TestDNSProviders/example.com/02:CNAME:Create_a_CNAME
    integration_test.go:193: DDNS UPDATES to 'example.com' (primary master: '172.18.0.2:53'). Changes:
        CREATE CNAME foo.example.com google.com. ttl=300
        
=== RUN   TestDNSProviders/example.com/02:CNAME:Change_CNAME_target
    integration_test.go:193: DDNS UPDATES to 'example.com' (primary master: '172.18.0.2:53'). Changes:
        MODIFY CNAME foo.example.com: (google.com. ttl=300) -> (google2.com. ttl=300)
        
    integration_test.go:212: Expected 0 corrections on second run, but found 1.
    integration_test.go:214: #0: DDNS UPDATES to 'example.com' (primary master: '172.18.0.2:53'). Changes:
        CREATE CNAME foo.example.com google2.com. ttl=300
=== RUN   TestDNSProviders/example.com/Post_cleanup:Empty#02
=== RUN   TestDNSProviders/example.com/03:MX:MX_record
    integration_test.go:193: DDNS UPDATES to 'example.com' (primary master: '172.18.0.2:53'). Changes:
        CREATE MX example.com 5 foo.com. ttl=300
        
=== RUN   TestDNSProviders/example.com/Post_cleanup:Empty#03
    integration_test.go:193: DDNS UPDATES to 'example.com' (primary master: '172.18.0.2:53'). Changes:
        DELETE MX example.com 5 foo.com. ttl=300
        
=== RUN   TestDNSProviders/example.com/04:Null_MX:Null_MX
    integration_test.go:193: DDNS UPDATES to 'example.com' (primary master: '172.18.0.2:53'). Changes:
        CREATE MX example.com 0 . ttl=300
        
=== RUN   TestDNSProviders/example.com/Post_cleanup:Empty#04
    integration_test.go:193: DDNS UPDATES to 'example.com' (primary master: '172.18.0.2:53'). Changes:
        DELETE MX example.com 0 . ttl=300
        
=== RUN   TestDNSProviders/example.com/05:NS:NS_for_subdomain
    integration_test.go:193: DDNS UPDATES to 'example.com' (primary master: '172.18.0.2:53'). Changes:
        CREATE NS xyz.example.com ns2.foo.com. ttl=300
        
=== RUN   TestDNSProviders/example.com/Post_cleanup:Empty#05
    integration_test.go:193: DDNS UPDATES to 'example.com' (primary master: '172.18.0.2:53'). Changes:
        DELETE NS xyz.example.com ns2.foo.com. ttl=300
        
=== RUN   TestDNSProviders/example.com/06:IGNORE_NAME_function:Create_some_records
    integration_test.go:193: DDNS UPDATES to 'example.com' (primary master: '172.18.0.2:53'). Changes:
        CREATE TXT foo.example.com "simple" ttl=300
        CREATE A foo.example.com 1.2.3.4 ttl=300
        
=== RUN   TestDNSProviders/example.com/Post_cleanup:Empty#06
    integration_test.go:193: DDNS UPDATES to 'example.com' (primary master: '172.18.0.2:53'). Changes:
        DELETE A foo.example.com 1.2.3.4 ttl=300
        DELETE TXT foo.example.com "simple" ttl=300
        
=== RUN   TestDNSProviders/example.com/07:IGNORE_TARGET_function:Create_some_records
    integration_test.go:193: DDNS UPDATES to 'example.com' (primary master: '172.18.0.2:53'). Changes:
        CREATE CNAME bar.example.com test.bar.com. ttl=300
        CREATE CNAME foo.example.com test.foo.com. ttl=300
        
=== RUN   TestDNSProviders/example.com/Post_cleanup:Empty#07
    integration_test.go:193: DDNS UPDATES to 'example.com' (primary master: '172.18.0.2:53'). Changes:
        DELETE CNAME bar.example.com test.bar.com. ttl=300
        DELETE CNAME foo.example.com test.foo.com. ttl=300
        
=== RUN   TestDNSProviders/example.com/08:single_TXT:Create_a_TXT
    integration_test.go:193: DDNS UPDATES to 'example.com' (primary master: '172.18.0.2:53'). Changes:
        CREATE TXT foo.example.com "simple" ttl=300
        
=== RUN   TestDNSProviders/example.com/Post_cleanup:Empty#08
    integration_test.go:193: DDNS UPDATES to 'example.com' (primary master: '172.18.0.2:53'). Changes:
        DELETE TXT foo.example.com "simple" ttl=300
        
=== RUN   TestDNSProviders/example.com/09:max-sized_TXT:Create_a_255-byte_TXT
    integration_test.go:193: DDNS UPDATES to 'example.com' (primary master: '172.18.0.2:53'). Changes:
        CREATE TXT foo.example.com "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" ttl=300
        
=== RUN   TestDNSProviders/example.com/Post_cleanup:Empty#09
    integration_test.go:193: DDNS UPDATES to 'example.com' (primary master: '172.18.0.2:53'). Changes:
        DELETE TXT foo.example.com "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" ttl=300
        
=== RUN   TestDNSProviders/example.com/10:single_TXT_with_single-quote:Create_TXT_with_single-quote
    integration_test.go:193: DDNS UPDATES to 'example.com' (primary master: '172.18.0.2:53'). Changes:
        CREATE TXT foo.example.com "blah`blah" ttl=300
        
=== RUN   TestDNSProviders/example.com/Post_cleanup:Empty#10
    integration_test.go:193: DDNS UPDATES to 'example.com' (primary master: '172.18.0.2:53'). Changes:
        DELETE TXT foo.example.com "blah`blah" ttl=300
        
=== RUN   TestDNSProviders/example.com/11:ws_TXT:Change_a_TXT_with_ws_at_end
    integration_test.go:193: DDNS UPDATES to 'example.com' (primary master: '172.18.0.2:53'). Changes:
        CREATE TXT foo.example.com "with space at end  " ttl=300
        
=== RUN   TestDNSProviders/example.com/Post_cleanup:Empty#11
    integration_test.go:193: DDNS UPDATES to 'example.com' (primary master: '172.18.0.2:53'). Changes:
        DELETE TXT foo.example.com "with space at end  " ttl=300
        
=== RUN   TestDNSProviders/example.com/12:empty_TXT:TXT_with_empty_str
    integration_test.go:193: DDNS UPDATES to 'example.com' (primary master: '172.18.0.2:53'). Changes:
        CREATE TXT foo1.example.com "" ttl=300
        
=== RUN   TestDNSProviders/example.com/Post_cleanup:Empty#12
    integration_test.go:193: DDNS UPDATES to 'example.com' (primary master: '172.18.0.2:53'). Changes:
        DELETE TXT foo1.example.com "" ttl=300
        
=== RUN   TestDNSProviders/example.com/13:TypeChange:Create_a_CNAME
    integration_test.go:193: DDNS UPDATES to 'example.com' (primary master: '172.18.0.2:53'). Changes:
        CREATE CNAME foo.example.com google.com. ttl=300
        
=== RUN   TestDNSProviders/example.com/Post_cleanup:Empty#13
    integration_test.go:193: DDNS UPDATES to 'example.com' (primary master: '172.18.0.2:53'). Changes:
        DELETE CNAME foo.example.com google.com. ttl=300
        
=== RUN   TestDNSProviders/example.com/14:Case_Sensitivity:Create_CAPS
    integration_test.go:193: DDNS UPDATES to 'example.com' (primary master: '172.18.0.2:53'). Changes:
        CREATE MX bar.example.com 5 bar.com. ttl=300
        
=== RUN   TestDNSProviders/example.com/Post_cleanup:Empty#14
    integration_test.go:193: DDNS UPDATES to 'example.com' (primary master: '172.18.0.2:53'). Changes:
        DELETE MX bar.example.com 5 bar.com. ttl=300
        
=== RUN   TestDNSProviders/example.com/15:IDNA:Internationalized_name
    integration_test.go:193: DDNS UPDATES to 'example.com' (primary master: '172.18.0.2:53'). Changes:
        CREATE A xn--ndaaa.example.com 1.2.3.4 ttl=300
        
=== RUN   TestDNSProviders/example.com/Post_cleanup:Empty#15
    integration_test.go:193: DDNS UPDATES to 'example.com' (primary master: '172.18.0.2:53'). Changes:
        DELETE A xn--ndaaa.example.com 1.2.3.4 ttl=300
        
=== RUN   TestDNSProviders/example.com/16:IDNAs_in_CNAME_targets:IDN_CNAME_AND_Target
    integration_test.go:193: DDNS UPDATES to 'example.com' (primary master: '172.18.0.2:53'). Changes:
        CREATE CNAME xn--o-0gab.example.com xn--ndaaa.xn--vhquv. ttl=300
        
=== RUN   TestDNSProviders/example.com/Post_cleanup:Empty#16
    integration_test.go:193: DDNS UPDATES to 'example.com' (primary master: '172.18.0.2:53'). Changes:
        DELETE CNAME xn--o-0gab.example.com xn--ndaaa.xn--vhquv. ttl=300
        
=== RUN   TestDNSProviders/example.com/17:pager101:99_records
    integration_test.go:193: DDNS UPDATES to 'example.com' (primary master: '172.18.0.2:53'). Changes:
        CREATE A rec0000.example.com 1.2.3.4 ttl=300
        CREATE A rec0001.example.com 1.2.3.4 ttl=300
        CREATE A rec0002.example.com 1.2.3.4 ttl=300
        CREATE A rec0003.example.com 1.2.3.4 ttl=300
        CREATE A rec0004.example.com 1.2.3.4 ttl=300
        CREATE A rec0005.example.com 1.2.3.4 ttl=300
        CREATE A rec0006.example.com 1.2.3.4 ttl=300
        CREATE A rec0007.example.com 1.2.3.4 ttl=300
        CREATE A rec0008.example.com 1.2.3.4 ttl=300
        CREATE A rec0009.example.com 1.2.3.4 ttl=300
        CREATE A rec0010.example.com 1.2.3.4 ttl=300
        CREATE A rec0011.example.com 1.2.3.4 ttl=300
        CREATE A rec0012.example.com 1.2.3.4 ttl=300
        CREATE A rec0013.example.com 1.2.3.4 ttl=300
        CREATE A rec0014.example.com 1.2.3.4 ttl=300
        CREATE A rec0015.example.com 1.2.3.4 ttl=300
        CREATE A rec0016.example.com 1.2.3.4 ttl=300
        CREATE A rec0017.example.com 1.2.3.4 ttl=300
        CREATE A rec0018.example.com 1.2.3.4 ttl=300
        CREATE A rec0019.example.com 1.2.3.4 ttl=300
        CREATE A rec0020.example.com 1.2.3.4 ttl=300
        CREATE A rec0021.example.com 1.2.3.4 ttl=300
        CREATE A rec0022.example.com 1.2.3.4 ttl=300
        CREATE A rec0023.example.com 1.2.3.4 ttl=300
        CREATE A rec0024.example.com 1.2.3.4 ttl=300
        CREATE A rec0025.example.com 1.2.3.4 ttl=300
        CREATE A rec0026.example.com 1.2.3.4 ttl=300
        CREATE A rec0027.example.com 1.2.3.4 ttl=300
        CREATE A rec0028.example.com 1.2.3.4 ttl=300
        CREATE A rec0029.example.com 1.2.3.4 ttl=300
        CREATE A rec0030.example.com 1.2.3.4 ttl=300
        CREATE A rec0031.example.com 1.2.3.4 ttl=300
        CREATE A rec0032.example.com 1.2.3.4 ttl=300
        CREATE A rec0033.example.com 1.2.3.4 ttl=300
        CREATE A rec0034.example.com 1.2.3.4 ttl=300
        CREATE A rec0035.example.com 1.2.3.4 ttl=300
        CREATE A rec0036.example.com 1.2.3.4 ttl=300
        CREATE A rec0037.example.com 1.2.3.4 ttl=300
        CREATE A rec0038.example.com 1.2.3.4 ttl=300
        CREATE A rec0039.example.com 1.2.3.4 ttl=300
        CREATE A rec0040.example.com 1.2.3.4 ttl=300
        CREATE A rec0041.example.com 1.2.3.4 ttl=300
        CREATE A rec0042.example.com 1.2.3.4 ttl=300
        CREATE A rec0043.example.com 1.2.3.4 ttl=300
        CREATE A rec0044.example.com 1.2.3.4 ttl=300
        CREATE A rec0045.example.com 1.2.3.4 ttl=300
        CREATE A rec0046.example.com 1.2.3.4 ttl=300
        CREATE A rec0047.example.com 1.2.3.4 ttl=300
        CREATE A rec0048.example.com 1.2.3.4 ttl=300
        CREATE A rec0049.example.com 1.2.3.4 ttl=300
        CREATE A rec0050.example.com 1.2.3.4 ttl=300
        CREATE A rec0051.example.com 1.2.3.4 ttl=300
        CREATE A rec0052.example.com 1.2.3.4 ttl=300
        CREATE A rec0053.example.com 1.2.3.4 ttl=300
        CREATE A rec0054.example.com 1.2.3.4 ttl=300
        CREATE A rec0055.example.com 1.2.3.4 ttl=300
        CREATE A rec0056.example.com 1.2.3.4 ttl=300
        CREATE A rec0057.example.com 1.2.3.4 ttl=300
        CREATE A rec0058.example.com 1.2.3.4 ttl=300
        CREATE A rec0059.example.com 1.2.3.4 ttl=300
        CREATE A rec0060.example.com 1.2.3.4 ttl=300
        CREATE A rec0061.example.com 1.2.3.4 ttl=300
        CREATE A rec0062.example.com 1.2.3.4 ttl=300
        CREATE A rec0063.example.com 1.2.3.4 ttl=300
        CREATE A rec0064.example.com 1.2.3.4 ttl=300
        CREATE A rec0065.example.com 1.2.3.4 ttl=300
        CREATE A rec0066.example.com 1.2.3.4 ttl=300
        CREATE A rec0067.example.com 1.2.3.4 ttl=300
        CREATE A rec0068.example.com 1.2.3.4 ttl=300
        CREATE A rec0069.example.com 1.2.3.4 ttl=300
        CREATE A rec0070.example.com 1.2.3.4 ttl=300
        CREATE A rec0071.example.com 1.2.3.4 ttl=300
        CREATE A rec0072.example.com 1.2.3.4 ttl=300
        CREATE A rec0073.example.com 1.2.3.4 ttl=300
        CREATE A rec0074.example.com 1.2.3.4 ttl=300
        CREATE A rec0075.example.com 1.2.3.4 ttl=300
        CREATE A rec0076.example.com 1.2.3.4 ttl=300
        CREATE A rec0077.example.com 1.2.3.4 ttl=300
        CREATE A rec0078.example.com 1.2.3.4 ttl=300
        CREATE A rec0079.example.com 1.2.3.4 ttl=300
        CREATE A rec0080.example.com 1.2.3.4 ttl=300
        CREATE A rec0081.example.com 1.2.3.4 ttl=300
        CREATE A rec0082.example.com 1.2.3.4 ttl=300
        CREATE A rec0083.example.com 1.2.3.4 ttl=300
        CREATE A rec0084.example.com 1.2.3.4 ttl=300
        CREATE A rec0085.example.com 1.2.3.4 ttl=300
        CREATE A rec0086.example.com 1.2.3.4 ttl=300
        CREATE A rec0087.example.com 1.2.3.4 ttl=300
        CREATE A rec0088.example.com 1.2.3.4 ttl=300
        CREATE A rec0089.example.com 1.2.3.4 ttl=300
        CREATE A rec0090.example.com 1.2.3.4 ttl=300
        CREATE A rec0091.example.com 1.2.3.4 ttl=300
        CREATE A rec0092.example.com 1.2.3.4 ttl=300
        CREATE A rec0093.example.com 1.2.3.4 ttl=300
        CREATE A rec0094.example.com 1.2.3.4 ttl=300
        CREATE A rec0095.example.com 1.2.3.4 ttl=300
        CREATE A rec0096.example.com 1.2.3.4 ttl=300
        CREATE A rec0097.example.com 1.2.3.4 ttl=300
        CREATE A rec0098.example.com 1.2.3.4 ttl=300
        
=== RUN   TestDNSProviders/example.com/Post_cleanup:Empty#17
    integration_test.go:193: DDNS UPDATES to 'example.com' (primary master: '172.18.0.2:53'). Changes:
        DELETE A rec0000.example.com 1.2.3.4 ttl=300
        DELETE A rec0001.example.com 1.2.3.4 ttl=300
        DELETE A rec0002.example.com 1.2.3.4 ttl=300
        DELETE A rec0003.example.com 1.2.3.4 ttl=300
        DELETE A rec0004.example.com 1.2.3.4 ttl=300
        DELETE A rec0005.example.com 1.2.3.4 ttl=300
        DELETE A rec0006.example.com 1.2.3.4 ttl=300
        DELETE A rec0007.example.com 1.2.3.4 ttl=300
        DELETE A rec0008.example.com 1.2.3.4 ttl=300
        DELETE A rec0009.example.com 1.2.3.4 ttl=300
        DELETE A rec0010.example.com 1.2.3.4 ttl=300
        DELETE A rec0011.example.com 1.2.3.4 ttl=300
        DELETE A rec0012.example.com 1.2.3.4 ttl=300
        DELETE A rec0013.example.com 1.2.3.4 ttl=300
        DELETE A rec0014.example.com 1.2.3.4 ttl=300
        DELETE A rec0015.example.com 1.2.3.4 ttl=300
        DELETE A rec0016.example.com 1.2.3.4 ttl=300
        DELETE A rec0017.example.com 1.2.3.4 ttl=300
        DELETE A rec0018.example.com 1.2.3.4 ttl=300
        DELETE A rec0019.example.com 1.2.3.4 ttl=300
        DELETE A rec0020.example.com 1.2.3.4 ttl=300
        DELETE A rec0021.example.com 1.2.3.4 ttl=300
        DELETE A rec0022.example.com 1.2.3.4 ttl=300
        DELETE A rec0023.example.com 1.2.3.4 ttl=300
        DELETE A rec0024.example.com 1.2.3.4 ttl=300
        DELETE A rec0025.example.com 1.2.3.4 ttl=300
        DELETE A rec0026.example.com 1.2.3.4 ttl=300
        DELETE A rec0027.example.com 1.2.3.4 ttl=300
        DELETE A rec0028.example.com 1.2.3.4 ttl=300
        DELETE A rec0029.example.com 1.2.3.4 ttl=300
        DELETE A rec0030.example.com 1.2.3.4 ttl=300
        DELETE A rec0031.example.com 1.2.3.4 ttl=300
        DELETE A rec0032.example.com 1.2.3.4 ttl=300
        DELETE A rec0033.example.com 1.2.3.4 ttl=300
        DELETE A rec0034.example.com 1.2.3.4 ttl=300
        DELETE A rec0035.example.com 1.2.3.4 ttl=300
        DELETE A rec0036.example.com 1.2.3.4 ttl=300
        DELETE A rec0037.example.com 1.2.3.4 ttl=300
        DELETE A rec0038.example.com 1.2.3.4 ttl=300
        DELETE A rec0039.example.com 1.2.3.4 ttl=300
        DELETE A rec0040.example.com 1.2.3.4 ttl=300
        DELETE A rec0041.example.com 1.2.3.4 ttl=300
        DELETE A rec0042.example.com 1.2.3.4 ttl=300
        DELETE A rec0043.example.com 1.2.3.4 ttl=300
        DELETE A rec0044.example.com 1.2.3.4 ttl=300
        DELETE A rec0045.example.com 1.2.3.4 ttl=300
        DELETE A rec0046.example.com 1.2.3.4 ttl=300
        DELETE A rec0047.example.com 1.2.3.4 ttl=300
        DELETE A rec0048.example.com 1.2.3.4 ttl=300
        DELETE A rec0049.example.com 1.2.3.4 ttl=300
        DELETE A rec0050.example.com 1.2.3.4 ttl=300
        DELETE A rec0051.example.com 1.2.3.4 ttl=300
        DELETE A rec0052.example.com 1.2.3.4 ttl=300
        DELETE A rec0053.example.com 1.2.3.4 ttl=300
        DELETE A rec0054.example.com 1.2.3.4 ttl=300
        DELETE A rec0055.example.com 1.2.3.4 ttl=300
        DELETE A rec0056.example.com 1.2.3.4 ttl=300
        DELETE A rec0057.example.com 1.2.3.4 ttl=300
        DELETE A rec0058.example.com 1.2.3.4 ttl=300
        DELETE A rec0059.example.com 1.2.3.4 ttl=300
        DELETE A rec0060.example.com 1.2.3.4 ttl=300
        DELETE A rec0061.example.com 1.2.3.4 ttl=300
        DELETE A rec0062.example.com 1.2.3.4 ttl=300
        DELETE A rec0063.example.com 1.2.3.4 ttl=300
        DELETE A rec0064.example.com 1.2.3.4 ttl=300
        DELETE A rec0065.example.com 1.2.3.4 ttl=300
        DELETE A rec0066.example.com 1.2.3.4 ttl=300
        DELETE A rec0067.example.com 1.2.3.4 ttl=300
        DELETE A rec0068.example.com 1.2.3.4 ttl=300
        DELETE A rec0069.example.com 1.2.3.4 ttl=300
        DELETE A rec0070.example.com 1.2.3.4 ttl=300
        DELETE A rec0071.example.com 1.2.3.4 ttl=300
        DELETE A rec0072.example.com 1.2.3.4 ttl=300
        DELETE A rec0073.example.com 1.2.3.4 ttl=300
        DELETE A rec0074.example.com 1.2.3.4 ttl=300
        DELETE A rec0075.example.com 1.2.3.4 ttl=300
        DELETE A rec0076.example.com 1.2.3.4 ttl=300
        DELETE A rec0077.example.com 1.2.3.4 ttl=300
        DELETE A rec0078.example.com 1.2.3.4 ttl=300
        DELETE A rec0079.example.com 1.2.3.4 ttl=300
        DELETE A rec0080.example.com 1.2.3.4 ttl=300
        DELETE A rec0081.example.com 1.2.3.4 ttl=300
        DELETE A rec0082.example.com 1.2.3.4 ttl=300
        DELETE A rec0083.example.com 1.2.3.4 ttl=300
        DELETE A rec0084.example.com 1.2.3.4 ttl=300
        DELETE A rec0085.example.com 1.2.3.4 ttl=300
        DELETE A rec0086.example.com 1.2.3.4 ttl=300
        DELETE A rec0087.example.com 1.2.3.4 ttl=300
        DELETE A rec0088.example.com 1.2.3.4 ttl=300
        DELETE A rec0089.example.com 1.2.3.4 ttl=300
        DELETE A rec0090.example.com 1.2.3.4 ttl=300
        DELETE A rec0091.example.com 1.2.3.4 ttl=300
        DELETE A rec0092.example.com 1.2.3.4 ttl=300
        DELETE A rec0093.example.com 1.2.3.4 ttl=300
        DELETE A rec0094.example.com 1.2.3.4 ttl=300
        DELETE A rec0095.example.com 1.2.3.4 ttl=300
        DELETE A rec0096.example.com 1.2.3.4 ttl=300
        DELETE A rec0097.example.com 1.2.3.4 ttl=300
        DELETE A rec0098.example.com 1.2.3.4 ttl=300
        
=== RUN   TestDNSProviders/example.com/18:pager601_***SKIPPED(disabled_by_only)***:Empty
=== RUN   TestDNSProviders/example.com/19:pager1201_***SKIPPED(disabled_by_only)***:Empty
=== RUN   TestDNSProviders/example.com/20:CAA:CAA_record
    integration_test.go:193: DDNS UPDATES to 'example.com' (primary master: '172.18.0.2:53'). Changes:
        CREATE CAA example.com 0 issue "letsencrypt.org" ttl=300
        
=== RUN   TestDNSProviders/example.com/Post_cleanup:Empty#18
    integration_test.go:193: DDNS UPDATES to 'example.com' (primary master: '172.18.0.2:53'). Changes:
        DELETE CAA example.com 0 issue "letsencrypt.org" ttl=300
        
=== RUN   TestDNSProviders/example.com/21:CAA_with_;:CAA_many_records
    integration_test.go:193: DDNS UPDATES to 'example.com' (primary master: '172.18.0.2:53'). Changes:
        CREATE CAA example.com 0 issuewild ";" ttl=300
        
=== RUN   TestDNSProviders/example.com/Post_cleanup:Empty#19
    integration_test.go:193: DDNS UPDATES to 'example.com' (primary master: '172.18.0.2:53'). Changes:
        DELETE CAA example.com 0 issuewild ";" ttl=300
        
=== RUN   TestDNSProviders/example.com/22:NAPTR:NAPTR_record
    integration_test.go:193: DDNS UPDATES to 'example.com' (primary master: '172.18.0.2:53'). Changes:
        CREATE NAPTR test.example.com 100 10 "U" "E2U+sip" "!^.*$!sip:customer-service@example.com!" example.foo.com. ttl=300
        
=== RUN   TestDNSProviders/example.com/Post_cleanup:Empty#20
    integration_test.go:193: DDNS UPDATES to 'example.com' (primary master: '172.18.0.2:53'). Changes:
        DELETE NAPTR test.example.com 100 10 "U" "E2U+sip" "!^.*$!sip:customer-service@example.com!" example.foo.com. ttl=300
        
=== RUN   TestDNSProviders/example.com/23:PTR:Create_PTR_record
    integration_test.go:193: DDNS UPDATES to 'example.com' (primary master: '172.18.0.2:53'). Changes:
        CREATE PTR 4.example.com foo.com. ttl=300
        
=== RUN   TestDNSProviders/example.com/Post_cleanup:Empty#21
    integration_test.go:193: DDNS UPDATES to 'example.com' (primary master: '172.18.0.2:53'). Changes:
        DELETE PTR 4.example.com foo.com. ttl=300
        
=== RUN   TestDNSProviders/example.com/24:SRV:SRV_record
    integration_test.go:193: DDNS UPDATES to 'example.com' (primary master: '172.18.0.2:53'). Changes:
        CREATE SRV _sip._tcp.example.com 5 6 7 foo.com. ttl=300
        
=== RUN   TestDNSProviders/example.com/Post_cleanup:Empty#22
    integration_test.go:193: DDNS UPDATES to 'example.com' (primary master: '172.18.0.2:53'). Changes:
        DELETE SRV _sip._tcp.example.com 5 6 7 foo.com. ttl=300
        
=== RUN   TestDNSProviders/example.com/25:SRV_w/_null_target:Null_Target
    integration_test.go:193: DDNS UPDATES to 'example.com' (primary master: '172.18.0.2:53'). Changes:
        CREATE SRV _sip._tcp.example.com 52 62 72 foo.com. ttl=300
        CREATE SRV _sip._tcp.example.com 15 65 75 . ttl=300
        
=== RUN   TestDNSProviders/example.com/Post_cleanup:Empty#23
    integration_test.go:193: DDNS UPDATES to 'example.com' (primary master: '172.18.0.2:53'). Changes:
        DELETE SRV _sip._tcp.example.com 15 65 75 . ttl=300
        DELETE SRV _sip._tcp.example.com 52 62 72 foo.com. ttl=300
        
=== RUN   TestDNSProviders/example.com/26:SSHFP:SSHFP_record
    integration_test.go:193: DDNS UPDATES to 'example.com' (primary master: '172.18.0.2:53'). Changes:
        CREATE SSHFP example.com 1 1 66C7D5540B7D75A1FB4C84FEBFA178AD99BDD67C ttl=300
        
=== RUN   TestDNSProviders/example.com/Post_cleanup:Empty#24
    integration_test.go:193: DDNS UPDATES to 'example.com' (primary master: '172.18.0.2:53'). Changes:
        DELETE SSHFP example.com 1 1 66C7D5540B7D75A1FB4C84FEBFA178AD99BDD67C ttl=300
        
=== RUN   TestDNSProviders/example.com/27:TLSA:TLSA_record
    integration_test.go:193: DDNS UPDATES to 'example.com' (primary master: '172.18.0.2:53'). Changes:
        CREATE TLSA _443._tcp.example.com 3 1 1 0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef ttl=300
        
=== RUN   TestDNSProviders/example.com/Post_cleanup:Empty#25
    integration_test.go:193: DDNS UPDATES to 'example.com' (primary master: '172.18.0.2:53'). Changes:
        DELETE TLSA _443._tcp.example.com 3 1 1 0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef ttl=300
        
=== RUN   TestDNSProviders/example.com/28:TXTMulti:Create_TXTMulti_1
    integration_test.go:193: DDNS UPDATES to 'example.com' (primary master: '172.18.0.2:53'). Changes:
        CREATE TXT foo1.example.com "simple" ttl=300
        
=== RUN   TestDNSProviders/example.com/Post_cleanup:Empty#26
    integration_test.go:193: DDNS UPDATES to 'example.com' (primary master: '172.18.0.2:53'). Changes:
        DELETE TXT foo1.example.com "simple" ttl=300
        
=== RUN   TestDNSProviders/example.com/29:TXTMulti_tests_that_break_DO:3x255-byte_TXTMulti
    integration_test.go:193: DDNS UPDATES to 'example.com' (primary master: '172.18.0.2:53'). Changes:
        CREATE TXT foo3.example.com "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" "YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY" "ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ" ttl=300
        
=== RUN   TestDNSProviders/example.com/Post_cleanup:Empty#27
    integration_test.go:193: DDNS UPDATES to 'example.com' (primary master: '172.18.0.2:53'). Changes:
        DELETE TXT foo3.example.com "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" "YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY" "ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ" ttl=300
        
=== RUN   TestDNSProviders/example.com/30:DS_***SKIPPED(CanUseDS_not_supported)***:Empty
=== RUN   TestDNSProviders/example.com/31:DS_(children_only)_***SKIPPED(CanUseDSForChildren_not_supported)***:Empty
=== RUN   TestDNSProviders/example.com/32:DS_(children_only)_CLOUDNS_***SKIPPED(CanUseDSForChildren_not_supported)***:Empty
=== RUN   TestDNSProviders/example.com/33:ALIAS_***SKIPPED(CanUseAlias_not_supported)***:Empty
=== RUN   TestDNSProviders/example.com/34:AZURE_ALIAS_***SKIPPED(CanUseAzureAlias_not_supported)***:Empty
=== RUN   TestDNSProviders/example.com/35:R53_ALIAS2_***SKIPPED(CanUseRoute53Alias_not_supported)***:Empty
=== RUN   TestDNSProviders/example.com/36:R53_ALIAS_ORDER_***SKIPPED(CanUseRoute53Alias_not_supported)***:Empty
=== RUN   TestDNSProviders/example.com/37:CF_REDIRECT_***SKIPPED(disabled_by_only)***:Empty
--- FAIL: TestDNSProviders (2.83s)
    --- FAIL: TestDNSProviders/example.com (2.83s)
        --- PASS: TestDNSProviders/example.com/Clean_Slate:Empty (0.03s)
        --- PASS: TestDNSProviders/example.com/00:GeneralACD:Create_an_A_record (0.03s)
        --- PASS: TestDNSProviders/example.com/00:GeneralACD:Change_it (0.03s)
        --- PASS: TestDNSProviders/example.com/00:GeneralACD:Add_another (0.02s)
        --- PASS: TestDNSProviders/example.com/00:GeneralACD:Add_another(same_name) (0.02s)
        --- PASS: TestDNSProviders/example.com/00:GeneralACD:Change_a_ttl (0.03s)
        --- PASS: TestDNSProviders/example.com/00:GeneralACD:Change_single_target_from_set (0.03s)
        --- PASS: TestDNSProviders/example.com/00:GeneralACD:Change_all_ttls (0.03s)
        --- PASS: TestDNSProviders/example.com/00:GeneralACD:Delete_one (0.04s)
        --- PASS: TestDNSProviders/example.com/00:GeneralACD:Add_back_and_change_ttl (0.02s)
        --- PASS: TestDNSProviders/example.com/00:GeneralACD:Change_targets_and_ttls (0.03s)
        --- PASS: TestDNSProviders/example.com/Post_cleanup:Empty (0.03s)
        --- PASS: TestDNSProviders/example.com/01:WildcardACD:Create_wildcard (0.02s)
        --- PASS: TestDNSProviders/example.com/01:WildcardACD:Delete_wildcard (0.02s)
        --- PASS: TestDNSProviders/example.com/Post_cleanup:Empty#01 (0.02s)
        --- PASS: TestDNSProviders/example.com/02:CNAME:Create_a_CNAME (0.02s)
        --- FAIL: TestDNSProviders/example.com/02:CNAME:Change_CNAME_target (0.04s)
        --- PASS: TestDNSProviders/example.com/Post_cleanup:Empty#02 (0.00s)
        --- PASS: TestDNSProviders/example.com/03:MX:MX_record (0.03s)
        --- PASS: TestDNSProviders/example.com/Post_cleanup:Empty#03 (0.03s)
        --- PASS: TestDNSProviders/example.com/04:Null_MX:Null_MX (0.04s)
        --- PASS: TestDNSProviders/example.com/Post_cleanup:Empty#04 (0.04s)
        --- PASS: TestDNSProviders/example.com/05:NS:NS_for_subdomain (0.04s)
        --- PASS: TestDNSProviders/example.com/Post_cleanup:Empty#05 (0.04s)
        --- PASS: TestDNSProviders/example.com/06:IGNORE_NAME_function:Create_some_records (0.05s)
        --- PASS: TestDNSProviders/example.com/Post_cleanup:Empty#06 (0.03s)
        --- PASS: TestDNSProviders/example.com/07:IGNORE_TARGET_function:Create_some_records (0.05s)
        --- PASS: TestDNSProviders/example.com/Post_cleanup:Empty#07 (0.04s)
        --- PASS: TestDNSProviders/example.com/08:single_TXT:Create_a_TXT (0.05s)
        --- PASS: TestDNSProviders/example.com/Post_cleanup:Empty#08 (0.04s)
        --- PASS: TestDNSProviders/example.com/09:max-sized_TXT:Create_a_255-byte_TXT (0.06s)
        --- PASS: TestDNSProviders/example.com/Post_cleanup:Empty#09 (0.04s)
        --- PASS: TestDNSProviders/example.com/10:single_TXT_with_single-quote:Create_TXT_with_single-quote (0.05s)
        --- PASS: TestDNSProviders/example.com/Post_cleanup:Empty#10 (0.05s)
        --- PASS: TestDNSProviders/example.com/11:ws_TXT:Change_a_TXT_with_ws_at_end (0.05s)
        --- PASS: TestDNSProviders/example.com/Post_cleanup:Empty#11 (0.04s)
        --- PASS: TestDNSProviders/example.com/12:empty_TXT:TXT_with_empty_str (0.05s)
        --- PASS: TestDNSProviders/example.com/Post_cleanup:Empty#12 (0.04s)
        --- PASS: TestDNSProviders/example.com/13:TypeChange:Create_a_CNAME (0.05s)
        --- PASS: TestDNSProviders/example.com/Post_cleanup:Empty#13 (0.05s)
        --- PASS: TestDNSProviders/example.com/14:Case_Sensitivity:Create_CAPS (0.05s)
        --- PASS: TestDNSProviders/example.com/Post_cleanup:Empty#14 (0.05s)
        --- PASS: TestDNSProviders/example.com/15:IDNA:Internationalized_name (0.05s)
        --- PASS: TestDNSProviders/example.com/Post_cleanup:Empty#15 (0.06s)
        --- PASS: TestDNSProviders/example.com/16:IDNAs_in_CNAME_targets:IDN_CNAME_AND_Target (0.04s)
        --- PASS: TestDNSProviders/example.com/Post_cleanup:Empty#16 (0.03s)
        --- PASS: TestDNSProviders/example.com/17:pager101:99_records (0.11s)
        --- PASS: TestDNSProviders/example.com/Post_cleanup:Empty#17 (0.02s)
        --- PASS: TestDNSProviders/example.com/18:pager601_***SKIPPED(disabled_by_only)***:Empty (0.00s)
        --- PASS: TestDNSProviders/example.com/19:pager1201_***SKIPPED(disabled_by_only)***:Empty (0.00s)
        --- PASS: TestDNSProviders/example.com/20:CAA:CAA_record (0.04s)
        --- PASS: TestDNSProviders/example.com/Post_cleanup:Empty#18 (0.04s)
        --- PASS: TestDNSProviders/example.com/21:CAA_with_;:CAA_many_records (0.05s)
        --- PASS: TestDNSProviders/example.com/Post_cleanup:Empty#19 (0.04s)
        --- PASS: TestDNSProviders/example.com/22:NAPTR:NAPTR_record (0.06s)
        --- PASS: TestDNSProviders/example.com/Post_cleanup:Empty#20 (0.06s)
        --- PASS: TestDNSProviders/example.com/23:PTR:Create_PTR_record (0.05s)
        --- PASS: TestDNSProviders/example.com/Post_cleanup:Empty#21 (0.06s)
        --- PASS: TestDNSProviders/example.com/24:SRV:SRV_record (0.06s)
        --- PASS: TestDNSProviders/example.com/Post_cleanup:Empty#22 (0.03s)
        --- PASS: TestDNSProviders/example.com/25:SRV_w/_null_target:Null_Target (0.03s)
        --- PASS: TestDNSProviders/example.com/Post_cleanup:Empty#23 (0.03s)
        --- PASS: TestDNSProviders/example.com/26:SSHFP:SSHFP_record (0.03s)
        --- PASS: TestDNSProviders/example.com/Post_cleanup:Empty#24 (0.06s)
        --- PASS: TestDNSProviders/example.com/27:TLSA:TLSA_record (0.04s)
        --- PASS: TestDNSProviders/example.com/Post_cleanup:Empty#25 (0.03s)
        --- PASS: TestDNSProviders/example.com/28:TXTMulti:Create_TXTMulti_1 (0.03s)
        --- PASS: TestDNSProviders/example.com/Post_cleanup:Empty#26 (0.03s)
        --- PASS: TestDNSProviders/example.com/29:TXTMulti_tests_that_break_DO:3x255-byte_TXTMulti (0.08s)
        --- PASS: TestDNSProviders/example.com/Post_cleanup:Empty#27 (0.07s)
        --- PASS: TestDNSProviders/example.com/30:DS_***SKIPPED(CanUseDS_not_supported)***:Empty (0.00s)
        --- PASS: TestDNSProviders/example.com/31:DS_(children_only)_***SKIPPED(CanUseDSForChildren_not_supported)***:Empty (0.00s)
        --- PASS: TestDNSProviders/example.com/32:DS_(children_only)_CLOUDNS_***SKIPPED(CanUseDSForChildren_not_supported)***:Empty (0.00s)
        --- PASS: TestDNSProviders/example.com/33:ALIAS_***SKIPPED(CanUseAlias_not_supported)***:Empty (0.00s)
        --- PASS: TestDNSProviders/example.com/34:AZURE_ALIAS_***SKIPPED(CanUseAzureAlias_not_supported)***:Empty (0.01s)
        --- PASS: TestDNSProviders/example.com/35:R53_ALIAS2_***SKIPPED(CanUseRoute53Alias_not_supported)***:Empty (0.00s)
        --- PASS: TestDNSProviders/example.com/36:R53_ALIAS_ORDER_***SKIPPED(CanUseRoute53Alias_not_supported)***:Empty (0.01s)
        --- PASS: TestDNSProviders/example.com/37:CF_REDIRECT_***SKIPPED(disabled_by_only)***:Empty (0.02s)
=== RUN   TestDualProviders
[Warning] AXFRDDNS: unknown key in `creds.json` (domain)
    integration_test.go:290: Clearing everything
    integration_test.go:296: Adding nameservers from another provider
    integration_test.go:284: #1: DDNS UPDATES to 'example.com' (primary master: '172.18.0.2:53'). Changes:
        CREATE NS example.com ns1.example.com. ttl=300
        CREATE NS example.com ns2.example.com. ttl=300
    integration_test.go:299: Running again to ensure stability
--- PASS: TestDualProviders (0.03s)
FAIL
exit status 1
FAIL	github.com/StackExchange/dnscontrol/v3/integrationTest	2.876s
```

tlimoncelli: I'd like to merge this on Thursday, and https://github.com/StackExchange/dnscontrol/pull/1063 on Sunday (depending on how many providers pass).  There won't be a release until https://github.com/StackExchange/dnscontrol/pull/1063 is also merged and I hear back from more providers.

Patch:
diff --git a/go.mod b/go.mod
index caffc94a..e9c342a6 100644
--- a/go.mod
+++ b/go.mod
@@ -42,7 +42,8 @@ require (
 	github.com/hashicorp/vault/api v1.0.4
 	github.com/hexonet/go-sdk v3.5.1+incompatible
 	github.com/jarcoal/httpmock v1.0.8 // indirect
-	github.com/juju/testing v0.0.0-20210302031854-2c7ee8570c07 // indirect
+	github.com/jinzhu/copier v0.2.5
+	github.com/juju/testing v0.0.0-20201216035041-2be42bba85f3 // indirect
 	github.com/kolo/xmlrpc v0.0.0-20201022064351-38db28db192b // indirect
 	github.com/miekg/dns v1.1.35
 	github.com/mitchellh/mapstructure v1.4.1 // indirect
@@ -56,6 +57,7 @@ require (
 	github.com/pierrec/lz4 v2.6.0+incompatible // indirect
 	github.com/pkg/errors v0.9.1
 	github.com/pquerna/otp v1.3.0
+	github.com/qdm12/reprint v0.0.0-20200326205758-722754a53494
 	github.com/renier/xmlrpc v0.0.0-20191022213033-ce560eccbd00 // indirect
 	github.com/robertkrimen/otto v0.0.0-20200922221731-ef014fd054ac
 	github.com/russross/blackfriday/v2 v2.1.0 // indirect
diff --git a/go.sum b/go.sum
index 570c0d90..c3bb4b5a 100644
--- a/go.sum
+++ b/go.sum
@@ -14,7 +14,6 @@ cloud.google.com/go v0.57.0/go.mod h1:oXiQ6Rzq3RAkkY7N6t3TcE6jE+CIBBbA36lwQ1JyzZ
 cloud.google.com/go v0.62.0/go.mod h1:jmCYTdRCQuc1PHIIJ/maLInMho30T/Y0M4hTdTShOYc=
 cloud.google.com/go v0.65.0/go.mod h1:O5N8zS7uWy9vkA9vayVHs65eM1ubvY4h553ofrNHObY=
 cloud.google.com/go v0.72.0/go.mod h1:M+5Vjvlc2wnp6tjzE102Dw08nGShTscUx2nZMufOKPI=
-cloud.google.com/go v0.74.0 h1:kpgPA77kSSbjSs+fWHkPTxQ6J5Z2Qkruo5jfXEkHxNQ=
 cloud.google.com/go v0.74.0/go.mod h1:VV1xSbzvo+9QJOxLDaJfTjx5e+MePCpCWwvftOeQmWk=
 cloud.google.com/go v0.78.0 h1:oKpsiyKMfVpwR3zSAkQixGzlVE5ovitBuO0qSmCf0bI=
 cloud.google.com/go v0.78.0/go.mod h1:QjdrLG0uq+YwhjoVOLsS1t7TW8fs36kLs4XO5R5ECHg=
@@ -40,7 +39,6 @@ github.com/Azure/azure-sdk-for-go v52.1.0+incompatible h1:TJRZiz8oejMIgMkYXWIQz1
 github.com/Azure/azure-sdk-for-go v52.1.0+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc=
 github.com/Azure/go-autorest v14.2.0+incompatible h1:V5VMDjClD3GiElqLWO7mz2MxNAK/vTfRHdAubSIPRgs=
 github.com/Azure/go-autorest v14.2.0+incompatible/go.mod h1:r+4oMnoxhatjLLJ6zxSWATqVooLgysK6ZNox3g/xq24=
-github.com/Azure/go-autorest/autorest v0.11.17 h1:2zCdHwNgRH+St1J+ZMf66xI8aLr/5KMy+wWLH97zwYM=
 github.com/Azure/go-autorest/autorest v0.11.17/go.mod h1:eipySxLmqSyC5s5k1CLupqet0PSENBEDP93LQ9a8QYw=
 github.com/Azure/go-autorest/autorest v0.11.18 h1:90Y4srNYrwOtAgVo3ndrQkTYn6kf1Eg/AjTFJ8Is2aM=
 github.com/Azure/go-autorest/autorest v0.11.18/go.mod h1:dSiJPy22c3u0OtOKDNttNgqpNFY/GeWa7GH/Pz56QRA=
@@ -58,7 +56,6 @@ github.com/Azure/go-autorest/autorest/mocks v0.4.1 h1:K0laFcLE6VLTOwNgSxaGbUcLPu
 github.com/Azure/go-autorest/autorest/mocks v0.4.1/go.mod h1:LTp+uSrOhSkaKrUy935gNZuuIPPVsHlr9DSOxSayd+k=
 github.com/Azure/go-autorest/autorest/to v0.4.0 h1:oXVqrxakqqV1UZdSazDOPOLvOIz+XA683u8EctwboHk=
 github.com/Azure/go-autorest/autorest/to v0.4.0/go.mod h1:fE8iZBn7LQR7zH/9XU2NcPR4o9jEImooCeWJcYV/zLE=
-github.com/Azure/go-autorest/logger v0.2.0 h1:e4RVHVZKC5p6UANLJHkM4OfR1UKZPj8Wt8Pcx+3oqrE=
 github.com/Azure/go-autorest/logger v0.2.0/go.mod h1:T9E3cAhj2VqvPOtCYAvby9aBXkZmbF5NWuPV8+WeEW8=
 github.com/Azure/go-autorest/logger v0.2.1 h1:IG7i4p/mDa2Ce4TRyAO8IHnVhAVF3RFU+ZtXWSmf4Tg=
 github.com/Azure/go-autorest/logger v0.2.1/go.mod h1:T9E3cAhj2VqvPOtCYAvby9aBXkZmbF5NWuPV8+WeEW8=
@@ -93,7 +90,6 @@ github.com/bhendo/go-powershell v0.0.0-20190719160123-219e7fb4e41e h1:KCjb01YiNo
 github.com/bhendo/go-powershell v0.0.0-20190719160123-219e7fb4e41e/go.mod h1:f7vw6ObmmNcyFQLhZX9eUGBJGpnwTJFDvVjqZxIxHWY=
 github.com/billputer/go-namecheap v0.0.0-20170915210158-0c7adb0710f8 h1:sIv3xbwhhAG94a62Q/rrSBtrWcXiYgldNOeqifyKSgo=
 github.com/billputer/go-namecheap v0.0.0-20170915210158-0c7adb0710f8/go.mod h1:bqqNsI2akL+lLWyApkYY0cxquWPKwEBU0Wd3chi3TEg=
-github.com/boombuler/barcode v1.0.1-0.20190219062509-6c824513bacc h1:biVzkmvwrH8WK8raXaxBx6fRVTlJILwEwQGL1I/ByEI=
 github.com/boombuler/barcode v1.0.1-0.20190219062509-6c824513bacc/go.mod h1:paBWMcWSl3LHKBqUq+rly7CNSldXjb2rDl3JlRe0mD8=
 github.com/boombuler/barcode v1.0.1 h1:NDBbPmhS+EqABEs5Kg3n/5ZNjy73Pz7SIV+KCeqyXcs=
 github.com/boombuler/barcode v1.0.1/go.mod h1:paBWMcWSl3LHKBqUq+rly7CNSldXjb2rDl3JlRe0mD8=
@@ -111,7 +107,6 @@ github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:ma
 github.com/cpuguy83/go-md2man/v2 v2.0.0 h1:EoUDS0afbrsXAZ9YQ9jdu/mZ2sXgT1/2yyNng4PGlyM=
 github.com/cpuguy83/go-md2man/v2 v2.0.0/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU=
 github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E=
-github.com/daaku/go.zipexe v1.0.0 h1:VSOgZtH418pH9L16hC/JrgSNJbbAL26pj7lmD1+CGdY=
 github.com/daaku/go.zipexe v1.0.0/go.mod h1:z8IiR6TsVLEYKwXAoE/I+8ys/sDkgTzSL0CLnGVd57E=
 github.com/daaku/go.zipexe v1.0.1 h1:wV4zMsDOI2SZ2m7Tdz1Ps96Zrx+TzaK15VbUaGozw0M=
 github.com/daaku/go.zipexe v1.0.1/go.mod h1:5xWogtqlYnfBXkSB1o9xysukNP9GTvaNkqzUZbt3Bw8=
@@ -232,7 +227,6 @@ github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brv
 github.com/hashicorp/errwrap v1.1.0 h1:OxrOeh75EUXMY8TBjag2fzXGZ40LB6IKw45YeGUDY2I=
 github.com/hashicorp/errwrap v1.1.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4=
 github.com/hashicorp/go-cleanhttp v0.5.0/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80=
-github.com/hashicorp/go-cleanhttp v0.5.1 h1:dH3aiDG9Jvb5r5+bYHsikaOUIpcM0xvgMXVoDkXMzJM=
 github.com/hashicorp/go-cleanhttp v0.5.1/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80=
 github.com/hashicorp/go-cleanhttp v0.5.2 h1:035FKYIWjmULyFRBKPs8TBQoi0x6d9G4xc9neXJWAZQ=
 github.com/hashicorp/go-cleanhttp v0.5.2/go.mod h1:kO/YDlP8L1346E6Sodw+PrpBSV4/SoxCXGY6BqNFT48=
@@ -274,12 +268,13 @@ github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:
 github.com/jarcoal/httpmock v1.0.8 h1:8kI16SoO6LQKgPE7PvQuV+YuD/inwHd7fOOe2zMbo4k=
 github.com/jarcoal/httpmock v1.0.8/go.mod h1:ATjnClrvW/3tijVmpL/va5Z3aAyGvqU3gCT8nX0Txik=
 github.com/jessevdk/go-flags v1.4.0/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI=
+github.com/jinzhu/copier v0.2.5 h1:Spb+3hARaAN5eeGvqS1YAZflyIz3hCgh6HgvIlDi7U0=
+github.com/jinzhu/copier v0.2.5/go.mod h1:24xnZezI2Yqac9J61UC6/dG/k76ttpq0DdJI3QmUvro=
 github.com/jmespath/go-jmespath v0.4.0 h1:BEgLn5cpjn8UN1mAw4NjwDrS35OdebyEtFe+9YPoQUg=
 github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHWvzYPziyZiYoo=
 github.com/jmespath/go-jmespath/internal/testify v1.5.1 h1:shLQSRRSCCPj3f2gpwzGwWFoC7ycTf1rcQZHOlsJ6N8=
 github.com/jmespath/go-jmespath/internal/testify v1.5.1/go.mod h1:L3OGu8Wl2/fWfCI6z80xFu9LTZmf1ZRjMHUOPmWr69U=
 github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU=
-github.com/jstemmer/go-junit-report v0.9.1 h1:6QPYqodiu3GuPL+7mfx+NwDdp2eTkp9IfEUpgAwUN0o=
 github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk=
 github.com/jtolds/gls v4.20.0+incompatible h1:xdiiI2gbIgH/gLH7ADydsJ1uDOEzR8yvV7C0MuV77Wo=
 github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU=
@@ -295,15 +290,13 @@ github.com/juju/httpprof v0.0.0-20141217160036-14bf14c30767/go.mod h1:+MaLYz4Pum
 github.com/juju/loggo v0.0.0-20170605014607-8232ab8918d9/go.mod h1:vgyd7OREkbtVEN/8IXZe5Ooef3LQePvuBm9UWj6ZL8U=
 github.com/juju/loggo v0.0.0-20200526014432-9ce3a2e09b5e h1:FdDd7bdI6cjq5vaoYlK1mfQYfF9sF2VZw8VEZMsl5t8=
 github.com/juju/loggo v0.0.0-20200526014432-9ce3a2e09b5e/go.mod h1:vgyd7OREkbtVEN/8IXZe5Ooef3LQePvuBm9UWj6ZL8U=
-github.com/juju/mgo/v2 v2.0.0-20210302023703-70d5d206e208 h1:/WiCm+Vpj87e4QWuWwPD/bNE9kDrWCLvPBHOQNcG2+A=
-github.com/juju/mgo/v2 v2.0.0-20210302023703-70d5d206e208/go.mod h1:0OChplkvPTZ174D2FYZXg4IB9hbEwyHkD+zT+/eK+Fg=
 github.com/juju/mutex v0.0.0-20171110020013-1fe2a4bf0a3a/go.mod h1:Y3oOzHH8CQ0Ppt0oCKJ2JFO81/EsWenH5AEqigLH+yY=
 github.com/juju/retry v0.0.0-20151029024821-62c620325291/go.mod h1:OohPQGsr4pnxwD5YljhQ+TZnuVRYpa5irjugL1Yuif4=
 github.com/juju/retry v0.0.0-20180821225755-9058e192b216/go.mod h1:OohPQGsr4pnxwD5YljhQ+TZnuVRYpa5irjugL1Yuif4=
 github.com/juju/testing v0.0.0-20180402130637-44801989f0f7/go.mod h1:63prj8cnj0tU0S9OHjGJn+b1h0ZghCndfnbQolrYTwA=
 github.com/juju/testing v0.0.0-20190723135506-ce30eb24acd2/go.mod h1:63prj8cnj0tU0S9OHjGJn+b1h0ZghCndfnbQolrYTwA=
-github.com/juju/testing v0.0.0-20210302031854-2c7ee8570c07 h1:6QA3rIUc3TBPbv8zWa2KQ2TWn6gsn1EU0UhwRi6kOhA=
-github.com/juju/testing v0.0.0-20210302031854-2c7ee8570c07/go.mod h1:7lxZW0B50+xdGFkvhAb8bwAGt6IU87JB1H9w4t8MNVM=
+github.com/juju/testing v0.0.0-20201216035041-2be42bba85f3 h1:ram7cW6jDPTu6cv9xDMwa+tO7RsO4BdsubxrJ4EEw+E=
+github.com/juju/testing v0.0.0-20201216035041-2be42bba85f3/go.mod h1:IbSKFoKW0bzmbDZ7rBwF/L3lO3b1bpmOIhTXQl/WJxw=
 github.com/juju/utils v0.0.0-20180424094159-2000ea4ff043/go.mod h1:6/KLg8Wz/y2KVGWEpkK9vMNGkOnu4k/cqs8Z1fKjTOk=
 github.com/juju/utils v0.0.0-20200116185830-d40c2fe10647/go.mod h1:6/KLg8Wz/y2KVGWEpkK9vMNGkOnu4k/cqs8Z1fKjTOk=
 github.com/juju/utils/v2 v2.0.0-20200923005554-4646bfea2ef1/go.mod h1:fdlDtQlzundleLLz/ggoYinEt/LmnrpNKcNTABQATNI=
@@ -353,6 +346,8 @@ github.com/namedotcom/go v0.0.0-20180403034216-08470befbe04 h1:o6uBwrhM5C8Ll3MAA
 github.com/namedotcom/go v0.0.0-20180403034216-08470befbe04/go.mod h1:5sN+Lt1CaY4wsPvgQH/jsuJi4XO2ssZbdsIizr4CVC8=
 github.com/nbio/st v0.0.0-20140626010706-e9e8d9816f32 h1:W6apQkHrMkS0Muv8G/TipAy/FJl/rCYT0+EuS8+Z0z4=
 github.com/nbio/st v0.0.0-20140626010706-e9e8d9816f32/go.mod h1:9wM+0iRr9ahx58uYLpLIr5fm8diHn0JbqRycJi6w0Ms=
+github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e h1:fD57ERR4JtEqsWbfPhv4DMiApHyliiK5xCTNVSPiaAs=
+github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno=
 github.com/nkovacs/streamquote v1.0.0/go.mod h1:BN+NaZ2CmdKqUuTUXUEm9j95B2TRbpOWpxbJYzzgUsc=
 github.com/nrdcg/goinwx v0.8.1 h1:20EQ/JaGFnSKwiDH2JzjIpicffl3cPk6imJBDqVBVtU=
 github.com/nrdcg/goinwx v0.8.1/go.mod h1:tILVc10gieBp/5PMvbcYeXM6pVQ+c9jxDZnpaR1UW7c=
@@ -377,6 +372,8 @@ github.com/posener/complete v1.1.1/go.mod h1:em0nMJCgc9GFtwrmVmEMR/ZL6WyhyjMBndr
 github.com/pquerna/otp v1.3.0 h1:oJV/SkzR33anKXwQU3Of42rL4wbrffP4uvUf1SvS5Xs=
 github.com/pquerna/otp v1.3.0/go.mod h1:dkJfzwRKNiegxyNb54X/3fLwhCynbMspSyWKnvi1AEg=
 github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
+github.com/qdm12/reprint v0.0.0-20200326205758-722754a53494 h1:wSmWgpuccqS2IOfmYrbRiUgv+g37W5suLLLxwwniTSc=
+github.com/qdm12/reprint v0.0.0-20200326205758-722754a53494/go.mod h1:yipyliwI08eQ6XwDm1fEwKPdF/xdbkiHtrU+1Hg+vc4=
 github.com/renier/xmlrpc v0.0.0-20191022213033-ce560eccbd00 h1:mKU5SDtoxNCBexJlsba8dNKN8SoDNMibWxVEowW1fig=
 github.com/renier/xmlrpc v0.0.0-20191022213033-ce560eccbd00/go.mod h1:gRAiPF5C5Nd0eyyRdqIu9qTiFSoZzpTq727b5B8fkkU=
 github.com/robertkrimen/otto v0.0.0-20200922221731-ef014fd054ac h1:kYPjbEN6YPYWWHI6ky1J813KzIq/8+Wg4TO4xU7A/KU=
@@ -430,7 +427,6 @@ go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8=
 go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw=
 go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw=
 go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw=
-go.opencensus.io v0.22.5 h1:dntmOdLpSpHlVqbW5Eay97DelsZHe+55D+xC6i0dDS0=
 go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk=
 go.opencensus.io v0.23.0 h1:gqCw0LfLxScz8irSi8exQc7fyQ0fKQU/qnC/X8+V/1M=
 go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E=
@@ -442,7 +438,6 @@ golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8U
 golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
 golang.org/x/crypto v0.0.0-20200820211705-5c72a883971a/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
 golang.org/x/crypto v0.0.0-20201002170205-7f63de1d35b0/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
-golang.org/x/crypto v0.0.0-20201221181555-eec23a3978ad h1:DN0cp81fZ3njFcrLCytUHRSUkqBjfTo4Tx9RJTWs0EY=
 golang.org/x/crypto v0.0.0-20201221181555-eec23a3978ad/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I=
 golang.org/x/crypto v0.0.0-20210220033148-5ea612d1eb83 h1:/ZScEX8SfEmUGRHs0gxpqteO5nfNW6axyZbBdw9A12g=
 golang.org/x/crypto v0.0.0-20210220033148-5ea612d1eb83/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I=
@@ -468,7 +463,6 @@ golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod h1:6SW0HCj/g11FgYtHl
 golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f/go.mod h1:5qLYkcX4OjUUV8bRuDixDT3tpyyb+LUpUlRWLxfhWrs=
 golang.org/x/lint v0.0.0-20200130185559-910be7a94367/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY=
 golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY=
-golang.org/x/lint v0.0.0-20201208152925-83fdc39ff7b5 h1:2M3HP5CCK1Si9FQhwnzYhXdG6DXeebvUHFpre8QvbyI=
 golang.org/x/lint v0.0.0-20201208152925-83fdc39ff7b5/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY=
 golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE=
 golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o=
@@ -515,7 +509,6 @@ golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwY
 golang.org/x/net v0.0.0-20201031054903-ff519b6c9102/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
 golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
 golang.org/x/net v0.0.0-20201209123823-ac852fbbde11/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
-golang.org/x/net v0.0.0-20210119194325-5f4716e94777 h1:003p0dJM77cxMSyCPFphvZf/Y5/NXf5fzg6ufd1/Oew=
 golang.org/x/net v0.0.0-20210119194325-5f4716e94777/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
 golang.org/x/net v0.0.0-20210226172049-e18ecbb05110 h1:qWPm9rbaAMKs8Bq/9LRpbMqxWRVUAQwMI9fVrssnTfw=
 golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
@@ -539,7 +532,6 @@ golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJ
 golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
 golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
 golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
-golang.org/x/sync v0.0.0-20201207232520-09787c993a3a h1:DcqTD9SDLc+1P/r1EmRBwnVsrOwW+kk2vWf9n+1sGhs=
 golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
 golang.org/x/sync v0.0.0-20210220032951-036812b2e83c h1:5KslGYwFpkhGh+Q16bwMP3cOontH8FOep7tGV86Y7SQ=
 golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
@@ -590,7 +582,6 @@ golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3
 golang.org/x/text v0.3.1-0.20181227161524-e6919f6577db/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
 golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
 golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
-golang.org/x/text v0.3.4 h1:0YWbFKbhXG/wIiuHDSKpS0Iy7FSA+u45VtBMfQcFTTc=
 golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
 golang.org/x/text v0.3.5 h1:i6eZZ+zk0SOf0xgBpEpPD18qWcJda6q1sxt3S0kzyUQ=
 golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
@@ -715,7 +706,6 @@ google.golang.org/genproto v0.0.0-20200904004341-0bd0a958aa1d/go.mod h1:FWY/as6D
 google.golang.org/genproto v0.0.0-20201109203340-2640f1f9cdfb/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
 google.golang.org/genproto v0.0.0-20201201144952-b05cb90ed32e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
 google.golang.org/genproto v0.0.0-20201210142538-e3217bee35cc/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
-google.golang.org/genproto v0.0.0-20201214200347-8c77b98c765d h1:HV9Z9qMhQEsdlvxNFELgQ11RkMzO3CMkjEySjCtuLes=
 google.golang.org/genproto v0.0.0-20201214200347-8c77b98c765d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
 google.golang.org/genproto v0.0.0-20210222152913-aa3ee6e6a81c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
 google.golang.org/genproto v0.0.0-20210226172003-ab064af71705 h1:PYBmACG+YEv8uQPW0r1kJj8tR+gkF0UWq7iFdUezwEw=
@@ -736,7 +726,6 @@ google.golang.org/grpc v1.30.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM
 google.golang.org/grpc v1.31.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak=
 google.golang.org/grpc v1.31.1/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak=
 google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc=
-google.golang.org/grpc v1.34.0 h1:raiipEjMOIC/TO2AvyTxP25XFdLxNIBwzDh3FM3XztI=
 google.golang.org/grpc v1.34.0/go.mod h1:WotjhfgOW/POjDeRt8vscBtXq+2VjORFy659qA51WJ8=
 google.golang.org/grpc v1.35.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU=
 google.golang.org/grpc v1.36.0 h1:o1bcQ6imQMIOpdrO3SWf2z5RV72WbDwdXuK0MDlc8As=
@@ -756,10 +745,9 @@ gopkg.in/asn1-ber.v1 v1.0.0-20181015200546-f715ec2f112d/go.mod h1:cuepJuh7vyXfUy
 gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
 gopkg.in/check.v1 v1.0.0-20160105164936-4f90aeace3a2/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
 gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
-gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15 h1:YR8cESwS4TdDjEe65xsg0ogRM/Nc3DYOhEAlW+xobZo=
 gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
-gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk=
-gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q=
+gopkg.in/check.v1 v1.0.0-20200902074654-038fdea0a05b h1:QRR6H1YWRnHb4Y/HeNFCTJLFVxaq6wH4YuVdsUOr75U=
+gopkg.in/check.v1 v1.0.0-20200902074654-038fdea0a05b/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
 gopkg.in/errgo.v1 v1.0.0-20161222125816-442357a80af5/go.mod h1:u0ALmqvLRxLI95fkdCEWrE6mhWYZW1aMOJHp5YXLHTg=
 gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI=
 gopkg.in/h2non/gock.v1 v1.0.14 h1:fTeu9fcUvSnLNacYvYI54h+1/XEteDyHvrVCZEEEYNM=
@@ -779,7 +767,6 @@ gopkg.in/square/go-jose.v2 v2.3.1/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76
 gopkg.in/square/go-jose.v2 v2.5.1 h1:7odma5RETjNHWJnR32wx8t+Io4djHE1PqxCFx3iiZ2w=
 gopkg.in/square/go-jose.v2 v2.5.1/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI=
 gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw=
-gopkg.in/tomb.v2 v2.0.0-20161208151619-d5d1b5820637/go.mod h1:BHsqpu/nsuzkT5BpiH1EMZPLyqSMM8JbIavyFACoFNk=
 gopkg.in/yaml.v2 v2.0.0-20170712054546-1be3d31502d6/go.mod h1:JAlM8MvJe8wmxCU4Bli9HhUf9+ttbYbLASfIpnQbh74=
 gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
 gopkg.in/yaml.v2 v2.2.3/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
diff --git a/models/domain.go b/models/domain.go
index ba9ac9be..f3fa4c51 100644
--- a/models/domain.go
+++ b/models/domain.go
@@ -3,6 +3,7 @@ package models
 import (
 	"fmt"
 
+	"github.com/qdm12/reprint"
 	"golang.org/x/net/idna"
 )
 
@@ -34,21 +35,19 @@ type DomainConfig struct {
 // Copy returns a deep copy of the DomainConfig.
 func (dc *DomainConfig) Copy() (*DomainConfig, error) {
 	newDc := &DomainConfig{}
-	// provider instances are interfaces that gob hates if you don't register them.
-	// and the specific types are not gob encodable since nothing is exported.
-	// should find a better solution for this now.
-	//
-	// current strategy: remove everything, gob copy it. Then set both to stored copy.
-	reg := dc.RegistrarInstance
-	dnsps := dc.DNSProviderInstances
-	dc.RegistrarInstance = nil
-	dc.DNSProviderInstances = nil
-	err := copyObj(dc, newDc)
-	dc.RegistrarInstance = reg
-	newDc.RegistrarInstance = reg
-	dc.DNSProviderInstances = dnsps
-	newDc.DNSProviderInstances = dnsps
+	err := reprint.FromTo(dc, newDc) // Deep copy
 	return newDc, err
+
+	// NB(tlim): The old version of this copied the structure by gob-encoding
+	// and decoding it. gob doesn't like the dc.RegisterInstance or
+	// dc.DNSProviderInstances fields, so we saved a temporary copy of those,
+	// nil'ed out the original, did the gob copy, and then manually copied those
+	// fields using the temp variables we saved. It looked like:
+	//reg, dnsps := dc.RegistrarInstance, dc.DNSProviderInstances
+	//dc.RegistrarInstance, dc.DNSProviderInstances = nil, nil
+	// (perform the copy)
+	//dc.RegistrarInstance, dc.DNSProviderInstances = reg, dnsps
+	//newDc.RegistrarInstance, newDc.DNSProviderInstances = reg, dnsps
 }
 
 // Filter removes all records that don't match the filter f.
diff --git a/models/record.go b/models/record.go
index 0c66138d..304b86b4 100644
--- a/models/record.go
+++ b/models/record.go
@@ -1,13 +1,16 @@
 package models
 
 import (
+	"encoding/json"
 	"fmt"
 	"log"
 	"sort"
 	"strings"
 
+	"github.com/jinzhu/copier"
 	"github.com/miekg/dns"
 	"github.com/miekg/dns/dnsutil"
+	"github.com/qdm12/reprint"
 )
 
 // RecordConfig stores a DNS record.
@@ -54,7 +57,7 @@ import (
 //    NOTE: Eventually we will unexport Name/NameFQDN. Please start using
 //      the setters (SetLabel/SetLabelFromFQDN) and getters (GetLabel/GetLabelFQDN).
 //      as they will always work.
-// Target:
+// target:
 //   This is the host or IP address of the record, with
 //     the other related parameters (weight, priority, etc.) stored in individual
 //     fields.
@@ -69,13 +72,16 @@ import (
 //  rec.Label() == "@"   // Is this record at the apex?
 //
 type RecordConfig struct {
-	Type             string            `json:"type"` // All caps rtype name.
-	Name             string            `json:"name"` // The short name. See above.
-	SubDomain        string            `json:"subdomain,omitempty"`
-	NameFQDN         string            `json:"-"`      // Must end with ".$origin". See above.
-	Target           string            `json:"target"` // If a name, must end with "."
-	TTL              uint32            `json:"ttl,omitempty"`
-	Metadata         map[string]string `json:"meta,omitempty"`
+	Type      string            `json:"type"` // All caps rtype name.
+	Name      string            `json:"name"` // The short name. See above.
+	SubDomain string            `json:"subdomain,omitempty"`
+	NameFQDN  string            `json:"-"` // Must end with ".$origin". See above.
+	target    string            // If a name, must end with "."
+	TTL       uint32            `json:"ttl,omitempty"`
+	Metadata  map[string]string `json:"meta,omitempty"`
+	Original  interface{}       `json:"-"` // Store pointer to provider-specific record object. Used in diffing.
+
+	// If you add a field to this struct, also add it to the list on MarshalJSON.
 	MxPreference     uint16            `json:"mxpreference,omitempty"`
 	SrvPriority      uint16            `json:"srvpriority,omitempty"`
 	SrvWeight        uint16            `json:"srvweight,omitempty"`
@@ -105,14 +111,100 @@ type RecordConfig struct {
 	TxtStrings       []string          `json:"txtstrings,omitempty"` // TxtStrings stores all strings (including the first). Target stores only the first one.
 	R53Alias         map[string]string `json:"r53_alias,omitempty"`
 	AzureAlias       map[string]string `json:"azure_alias,omitempty"`
+}
 
-	Original interface{} `json:"-"` // Store pointer to provider-specific record object. Used in diffing.
+// MarshalJSON marshals RecordConfig.
+func (rc *RecordConfig) MarshalJSON() ([]byte, error) {
+	recj := &struct {
+		RecordConfig
+		Target string `json:"target"`
+	}{
+		RecordConfig: *rc,
+		Target:       rc.GetTargetField(),
+	}
+	j, err := json.Marshal(*recj)
+	if err != nil {
+		return nil, err
+	}
+	return j, nil
+}
+
+// UnmarshalJSON unmarshals RecordConfig.
+func (rc *RecordConfig) UnmarshalJSON(b []byte) error {
+	recj := &struct {
+		Target string `json:"target"`
+
+		Type      string            `json:"type"` // All caps rtype name.
+		Name      string            `json:"name"` // The short name. See above.
+		SubDomain string            `json:"subdomain,omitempty"`
+		NameFQDN  string            `json:"-"` // Must end with ".$origin". See above.
+		target    string            // If a name, must end with "."
+		TTL       uint32            `json:"ttl,omitempty"`
+		Metadata  map[string]string `json:"meta,omitempty"`
+		Original  interface{}       `json:"-"` // Store pointer to provider-specific record object. Used in diffing.
+
+		MxPreference     uint16            `json:"mxpreference,omitempty"`
+		SrvPriority      uint16            `json:"srvpriority,omitempty"`
+		SrvWeight        uint16            `json:"srvweight,omitempty"`
+		SrvPort          uint16            `json:"srvport,omitempty"`
+		CaaTag           string            `json:"caatag,omitempty"`
+		CaaFlag          uint8             `json:"caaflag,omitempty"`
+		DsKeyTag         uint16            `json:"dskeytag,omitempty"`
+		DsAlgorithm      uint8             `json:"dsalgorithm,omitempty"`
+		DsDigestType     uint8             `json:"dsdigesttype,omitempty"`
+		DsDigest         string            `json:"dsdigest,omitempty"`
+		NaptrOrder       uint16            `json:"naptrorder,omitempty"`
+		NaptrPreference  uint16            `json:"naptrpreference,omitempty"`
+		NaptrFlags       string            `json:"naptrflags,omitempty"`
+		NaptrService     string            `json:"naptrservice,omitempty"`
+		NaptrRegexp      string            `json:"naptrregexp,omitempty"`
+		SshfpAlgorithm   uint8             `json:"sshfpalgorithm,omitempty"`
+		SshfpFingerprint uint8             `json:"sshfpfingerprint,omitempty"`
+		SoaMbox          string            `json:"soambox,omitempty"`
+		SoaSerial        uint32            `json:"soaserial,omitempty"`
+		SoaRefresh       uint32            `json:"soarefresh,omitempty"`
+		SoaRetry         uint32            `json:"soaretry,omitempty"`
+		SoaExpire        uint32            `json:"soaexpire,omitempty"`
+		SoaMinttl        uint32            `json:"soaminttl,omitempty"`
+		TlsaUsage        uint8             `json:"tlsausage,omitempty"`
+		TlsaSelector     uint8             `json:"tlsaselector,omitempty"`
+		TlsaMatchingType uint8             `json:"tlsamatchingtype,omitempty"`
+		TxtStrings       []string          `json:"txtstrings,omitempty"` // TxtStrings stores all strings (including the first). Target stores only the first one.
+		R53Alias         map[string]string `json:"r53_alias,omitempty"`
+		AzureAlias       map[string]string `json:"azure_alias,omitempty"`
+		// NB(tlim): If anyone can figure out how to do this without listing all
+		// the fields, please let us know!
+	}{}
+	if err := json.Unmarshal(b, &recj); err != nil {
+		return err
+	}
+
+	// Copy the exported fields.
+	copier.CopyWithOption(&rc, &recj, copier.Option{IgnoreEmpty: true, DeepCopy: true})
+	// Set each unexported field.
+	rc.SetTarget(recj.Target)
+
+	// Some sanity checks:
+	if recj.Type != rc.Type {
+		panic("DEBUG: TYPE NOT COPIED\n")
+	}
+	if recj.Type == "" {
+		panic("DEBUG: TYPE BLANK\n")
+	}
+	if recj.Name != rc.Name {
+		panic("DEBUG: NAME NOT COPIED\n")
+	}
+
+	return nil
 }
 
 // Copy returns a deep copy of a RecordConfig.
 func (rc *RecordConfig) Copy() (*RecordConfig, error) {
 	newR := &RecordConfig{}
-	err := copyObj(rc, newR)
+	// Copy the exported fields.
+	err := reprint.FromTo(rc, newR) // Deep copy
+	// Set each unexported field.
+	newR.target = rc.target
 	return newR, err
 }
 
@@ -129,7 +221,9 @@ func (rc *RecordConfig) SetLabel(short, origin string) {
 		panic(fmt.Errorf("origin (%s) is not supposed to end with a dot", origin))
 	}
 	if strings.HasSuffix(short, ".") {
-		panic(fmt.Errorf("short (%s) is not supposed to end with a dot", origin))
+		if short != "**current-domain**" {
+			panic(fmt.Errorf("short (%s) is not supposed to end with a dot", origin))
+		}
 	}
 
 	// TODO(tlim): We should add more validation here or in a separate validation
@@ -198,7 +292,7 @@ func (rc *RecordConfig) GetLabelFQDN() string {
 func (rc *RecordConfig) ToDiffable(extraMaps ...map[string]string) string {
 	content := fmt.Sprintf("%v ttl=%d", rc.GetTargetCombined(), rc.TTL)
 	if rc.Type == "SOA" {
-		content = fmt.Sprintf("%s %v %d %d %d %d ttl=%d", rc.Target, rc.SoaMbox, rc.SoaRefresh, rc.SoaRetry, rc.SoaExpire, rc.SoaMinttl, rc.TTL)
+		content = fmt.Sprintf("%s %v %d %d %d %d ttl=%d", rc.target, rc.SoaMbox, rc.SoaRefresh, rc.SoaRetry, rc.SoaExpire, rc.SoaMinttl, rc.TTL)
 		// SoaSerial is not used in comparison
 	}
 	for _, valueMap := range extraMaps {
@@ -406,13 +500,13 @@ func downcase(recs []*RecordConfig) {
 		switch r.Type { // #rtype_variations
 		case "ANAME", "CNAME", "DS", "MX", "NS", "PTR", "NAPTR", "SRV":
 			// These record types have a target that is case insensitive, so we downcase it.
-			r.Target = strings.ToLower(r.Target)
+			r.target = strings.ToLower(r.target)
 		case "A", "AAAA", "ALIAS", "CAA", "IMPORT_TRANSFORM", "TLSA", "TXT", "SSHFP", "CF_REDIRECT", "CF_TEMP_REDIRECT":
 			// These record types have a target that is case sensitive, or is an IP address. We leave them alone.
 			// Do nothing.
 		case "SOA":
-			if r.Target != "DEFAULT_NOT_SET." {
-				r.Target = strings.ToLower(r.Target) // .Target stores the Ns
+			if r.target != "DEFAULT_NOT_SET." {
+				r.target = strings.ToLower(r.target) // .target stores the Ns
 			}
 			if r.SoaMbox != "DEFAULT_NOT_SET." {
 				r.SoaMbox = strings.ToLower(r.SoaMbox)
diff --git a/models/target.go b/models/target.go
index b8c73de9..4020bad8 100644
--- a/models/target.go
+++ b/models/target.go
@@ -8,7 +8,7 @@ import (
 	"github.com/miekg/dns"
 )
 
-/* .Target is kind of a mess.
+/* .target is kind of a mess.
 For simple rtypes it is the record's value. (i.e. for an A record
 	it is the IP address).
 For complex rtypes (like an MX record has a preference and a value)
@@ -26,7 +26,7 @@ func (rc *RecordConfig) GetTargetField() string {
 	if rc.HasFormatIdenticalToTXT() {
 		return strings.Join(rc.TxtStrings, "")
 	}
-	return rc.Target
+	return rc.target
 }
 
 // // GetTargetSingle returns the target for types that have a single value target
@@ -35,15 +35,15 @@ func (rc *RecordConfig) GetTargetField() string {
 // 	if rc.Type == "MX" || rc.Type == "SRV" || rc.Type == "CAA" || rc.Type == "TLSA" || rc.Type == "TXT" {
 // 		panic("TargetSingle called on a type with a multi-parameter rtype.")
 // 	}
-// 	return rc.Target
+// 	return rc.target
 // }
 
-// GetTargetIP returns the net.IP stored in Target.
+// GetTargetIP returns the net.IP stored in .target.
 func (rc *RecordConfig) GetTargetIP() net.IP {
 	if rc.Type != "A" && rc.Type != "AAAA" {
 		panic(fmt.Errorf("GetTargetIP called on an inappropriate rtype (%s)", rc.Type))
 	}
-	return net.ParseIP(rc.Target)
+	return net.ParseIP(rc.target)
 }
 
 // GetTargetCombined returns a string with the various fields combined.
@@ -54,15 +54,15 @@ func (rc *RecordConfig) GetTargetCombined() string {
 		switch rc.Type { // #rtype_variations
 		case "R53_ALIAS":
 			// Differentiate between multiple R53_ALIASs on the same label.
-			return fmt.Sprintf("%s atype=%s zone_id=%s", rc.Target, rc.R53Alias["type"], rc.R53Alias["zone_id"])
+			return fmt.Sprintf("%s atype=%s zone_id=%s", rc.target, rc.R53Alias["type"], rc.R53Alias["zone_id"])
 		case "AZURE_ALIAS":
 			// Differentiate between multiple AZURE_ALIASs on the same label.
-			return fmt.Sprintf("%s atype=%s", rc.Target, rc.AzureAlias["type"])
+			return fmt.Sprintf("%s atype=%s", rc.target, rc.AzureAlias["type"])
 		case "SOA":
-			return fmt.Sprintf("%s %v %d %d %d %d %d", rc.Target, rc.SoaMbox, rc.SoaSerial, rc.SoaRefresh, rc.SoaRetry, rc.SoaExpire, rc.SoaMinttl)
+			return fmt.Sprintf("%s %v %d %d %d %d %d", rc.target, rc.SoaMbox, rc.SoaSerial, rc.SoaRefresh, rc.SoaRetry, rc.SoaExpire, rc.SoaMinttl)
 		default:
 			// Just return the target.
-			return rc.Target
+			return rc.target
 		}
 	}
 
@@ -87,7 +87,7 @@ func (rc *RecordConfig) GetTargetSortable() string {
 
 // GetTargetDebug returns a string with the various fields spelled out.
 func (rc *RecordConfig) GetTargetDebug() string {
-	content := fmt.Sprintf("%s %s %s %d", rc.Type, rc.NameFQDN, rc.Target, rc.TTL)
+	content := fmt.Sprintf("%s %s %s %d", rc.Type, rc.NameFQDN, rc.target, rc.TTL)
 	switch rc.Type { // #rtype_variations
 	case "A", "AAAA", "CNAME", "NS", "PTR", "TXT":
 		// Nothing special.
@@ -98,7 +98,7 @@ func (rc *RecordConfig) GetTargetDebug() string {
 	case "MX":
 		content += fmt.Sprintf(" pref=%d", rc.MxPreference)
 	case "SOA":
-		content = fmt.Sprintf("%s ns=%v mbox=%v serial=%v refresh=%v retry=%v expire=%v minttl=%v", rc.Type, rc.Target, rc.SoaMbox, rc.SoaSerial, rc.SoaRefresh, rc.SoaRetry, rc.SoaExpire, rc.SoaMinttl)
+		content = fmt.Sprintf("%s ns=%v mbox=%v serial=%v refresh=%v retry=%v expire=%v minttl=%v", rc.Type, rc.target, rc.SoaMbox, rc.SoaSerial, rc.SoaRefresh, rc.SoaRetry, rc.SoaExpire, rc.SoaMinttl)
 	case "SRV":
 		content += fmt.Sprintf(" srvpriority=%d srvweight=%d srvport=%d", rc.SrvPriority, rc.SrvWeight, rc.SrvPort)
 	case "SSHFP":
@@ -124,7 +124,7 @@ func (rc *RecordConfig) GetTargetDebug() string {
 
 // SetTarget sets the target, assuming that the rtype is appropriate.
 func (rc *RecordConfig) SetTarget(target string) error {
-	rc.Target = target
+	rc.target = target
 	return nil
 }
 
diff --git a/models/util.go b/models/util.go
deleted file mode 100644
index cbf3279f..00000000
--- a/models/util.go
+++ /dev/null
@@ -1,16 +0,0 @@
-package models
-
-import (
-	"bytes"
-	"encoding/gob"
-)
-
-func copyObj(input interface{}, output interface{}) error {
-	buf := &bytes.Buffer{}
-	enc := gob.NewEncoder(buf)
-	dec := gob.NewDecoder(buf)
-	if err := enc.Encode(input); err != nil {
-		return err
-	}
-	return dec.Decode(output)
-}
diff --git a/pkg/diff/diff.go b/pkg/diff/diff.go
index b065f791..48f2cf31 100644
--- a/pkg/diff/diff.go
+++ b/pkg/diff/diff.go
@@ -61,7 +61,7 @@ func (d *differ) content(r *models.RecordConfig) string {
 	// results are generated.  Once we have confidence, this function will go away.
 	content := fmt.Sprintf("%v ttl=%d", r.GetTargetCombined(), r.TTL)
 	if r.Type == "SOA" {
-		content = fmt.Sprintf("%s %v %d %d %d %d ttl=%d", r.Target, r.SoaMbox, r.SoaRefresh, r.SoaRetry, r.SoaExpire, r.SoaMinttl, r.TTL) // SoaSerial is not used in comparison
+		content = fmt.Sprintf("%s %v %d %d %d %d ttl=%d", r.GetTargetField(), r.SoaMbox, r.SoaRefresh, r.SoaRetry, r.SoaExpire, r.SoaMinttl, r.TTL) // SoaSerial is not used in comparison
 	}
 	var allMaps []map[string]string
 	for _, f := range d.extraValues {
diff --git a/providers/azuredns/azureDnsProvider.go b/providers/azuredns/azureDnsProvider.go
index 390095bb..acdd826a 100644
--- a/providers/azuredns/azureDnsProvider.go
+++ b/providers/azuredns/azureDnsProvider.go
@@ -495,24 +495,24 @@ func (a *azurednsProvider) recordToNative(recordKey models.RecordKey, recordConf
 			if recordSet.ARecords == nil {
 				recordSet.ARecords = &[]adns.ARecord{}
 			}
-			*recordSet.ARecords = append(*recordSet.ARecords, adns.ARecord{Ipv4Address: to.StringPtr(rec.Target)})
+			*recordSet.ARecords = append(*recordSet.ARecords, adns.ARecord{Ipv4Address: to.StringPtr(rec.GetTargetField())})
 		case "AAAA":
 			if recordSet.AaaaRecords == nil {
 				recordSet.AaaaRecords = &[]adns.AaaaRecord{}
 			}
-			*recordSet.AaaaRecords = append(*recordSet.AaaaRecords, adns.AaaaRecord{Ipv6Address: to.StringPtr(rec.Target)})
+			*recordSet.AaaaRecords = append(*recordSet.AaaaRecords, adns.AaaaRecord{Ipv6Address: to.StringPtr(rec.GetTargetField())})
 		case "CNAME":
-			recordSet.CnameRecord = &adns.CnameRecord{Cname: to.StringPtr(rec.Target)}
+			recordSet.CnameRecord = &adns.CnameRecord{Cname: to.StringPtr(rec.GetTargetField())}
 		case "NS":
 			if recordSet.NsRecords == nil {
 				recordSet.NsRecords = &[]adns.NsRecord{}
 			}
-			*recordSet.NsRecords = append(*recordSet.NsRecords, adns.NsRecord{Nsdname: to.StringPtr(rec.Target)})
+			*recordSet.NsRecords = append(*recordSet.NsRecords, adns.NsRecord{Nsdname: to.StringPtr(rec.GetTargetField())})
 		case "PTR":
 			if recordSet.PtrRecords == nil {
 				recordSet.PtrRecords = &[]adns.PtrRecord{}
 			}
-			*recordSet.PtrRecords = append(*recordSet.PtrRecords, adns.PtrRecord{Ptrdname: to.StringPtr(rec.Target)})
+			*recordSet.PtrRecords = append(*recordSet.PtrRecords, adns.PtrRecord{Ptrdname: to.StringPtr(rec.GetTargetField())})
 		case "TXT":
 			if recordSet.TxtRecords == nil {
 				recordSet.TxtRecords = &[]adns.TxtRecord{}
@@ -525,20 +525,20 @@ func (a *azurednsProvider) recordToNative(recordKey models.RecordKey, recordConf
 			if recordSet.MxRecords == nil {
 				recordSet.MxRecords = &[]adns.MxRecord{}
 			}
-			*recordSet.MxRecords = append(*recordSet.MxRecords, adns.MxRecord{Exchange: to.StringPtr(rec.Target), Preference: to.Int32Ptr(int32(rec.MxPreference))})
+			*recordSet.MxRecords = append(*recordSet.MxRecords, adns.MxRecord{Exchange: to.StringPtr(rec.GetTargetField()), Preference: to.Int32Ptr(int32(rec.MxPreference))})
 		case "SRV":
 			if recordSet.SrvRecords == nil {
 				recordSet.SrvRecords = &[]adns.SrvRecord{}
 			}
-			*recordSet.SrvRecords = append(*recordSet.SrvRecords, adns.SrvRecord{Target: to.StringPtr(rec.Target), Port: to.Int32Ptr(int32(rec.SrvPort)), Weight: to.Int32Ptr(int32(rec.SrvWeight)), Priority: to.Int32Ptr(int32(rec.SrvPriority))})
+			*recordSet.SrvRecords = append(*recordSet.SrvRecords, adns.SrvRecord{Target: to.StringPtr(rec.GetTargetField()), Port: to.Int32Ptr(int32(rec.SrvPort)), Weight: to.Int32Ptr(int32(rec.SrvWeight)), Priority: to.Int32Ptr(int32(rec.SrvPriority))})
 		case "CAA":
 			if recordSet.CaaRecords == nil {
 				recordSet.CaaRecords = &[]adns.CaaRecord{}
 			}
-			*recordSet.CaaRecords = append(*recordSet.CaaRecords, adns.CaaRecord{Value: to.StringPtr(rec.Target), Tag: to.StringPtr(rec.CaaTag), Flags: to.Int32Ptr(int32(rec.CaaFlag))})
+			*recordSet.CaaRecords = append(*recordSet.CaaRecords, adns.CaaRecord{Value: to.StringPtr(rec.GetTargetField()), Tag: to.StringPtr(rec.CaaTag), Flags: to.Int32Ptr(int32(rec.CaaFlag))})
 		case "AZURE_ALIAS_A", "AZURE_ALIAS_AAAA", "AZURE_ALIAS_CNAME":
 			*recordSet.Type = rec.AzureAlias["type"]
-			recordSet.TargetResource = &adns.SubResource{ID: to.StringPtr(rec.Target)}
+			recordSet.TargetResource = &adns.SubResource{ID: to.StringPtr(rec.GetTargetField())}
 		default:
 			return nil, adns.A, fmt.Errorf("rc.String rtype %v unimplemented", recordKey.Type) // ands.A is a placeholder
 		}
diff --git a/providers/cloudns/cloudnsProvider.go b/providers/cloudns/cloudnsProvider.go
index c19cd568..e0402c8f 100644
--- a/providers/cloudns/cloudnsProvider.go
+++ b/providers/cloudns/cloudnsProvider.go
@@ -277,7 +277,7 @@ func toReq(rc *models.RecordConfig) (requestParams, error) {
 	case "CAA":
 		req["caa_flag"] = strconv.Itoa(int(rc.CaaFlag))
 		req["caa_type"] = rc.CaaTag
-		req["caa_value"] = rc.Target
+		req["caa_value"] = rc.GetTargetField()
 	case "TLSA":
 		req["tlsa_usage"] = strconv.Itoa(int(rc.TlsaUsage))
 		req["tlsa_selector"] = strconv.Itoa(int(rc.TlsaSelector))
diff --git a/providers/exoscale/exoscaleProvider.go b/providers/exoscale/exoscaleProvider.go
index 49c5f6ac..2a796533 100644
--- a/providers/exoscale/exoscaleProvider.go
+++ b/providers/exoscale/exoscaleProvider.go
@@ -162,7 +162,7 @@ func (c *exoscaleProvider) createRecordFunc(rc *models.RecordConfig, domainName
 		name := rc.GetLabel()
 
 		if rc.Type == "MX" {
-			target = rc.Target
+			target = rc.GetTargetField()
 		}
 
 		if rc.Type == "NS" && (name == "@" || name == "") {
@@ -210,7 +210,7 @@ func (c *exoscaleProvider) updateRecordFunc(old *egoscale.DNSRecord, rc *models.
 		name := rc.GetLabel()
 
 		if rc.Type == "MX" {
-			target = rc.Target
+			target = rc.GetTargetField()
 		}
 
 		if rc.Type == "NS" && (name == "@" || name == "") {
diff --git a/providers/hedns/hednsProvider.go b/providers/hedns/hednsProvider.go
index c77b9bd1..c39f7c43 100644
--- a/providers/hedns/hednsProvider.go
+++ b/providers/hedns/hednsProvider.go
@@ -297,7 +297,10 @@ func (c *hednsProvider) GetZoneRecords(domain string) (models.Records, error) {
 				RecordName: parser.parseStringElement(element.Find(".dns_view")),
 				RecordID:   parser.parseIntAttr(element, "id"),
 			},
-			Target: parser.parseStringAttr(element.Find("td:nth-child(7)"), "data"),
+		}
+		data := parser.parseStringAttr(element.Find("td:nth-child(7)"), "data")
+		if err != nil {
+			return false
 		}
 
 		priority := parser.parseIntElement(element.Find("td:nth-child(6)"))
@@ -313,24 +316,20 @@ func (c *hednsProvider) GetZoneRecords(domain string) (models.Records, error) {
 
 		rc.SetLabelFromFQDN(rc.Original.(Record).RecordName, domain)
 
-		// dns.he.net omits the trailing "." on the hostnames for certain MX records
-		if rc.Type == "MX" {
-			rc.Target += "."
-		}
-
 		switch rc.Type {
 		case "ALIAS":
-			err = rc.SetTarget(rc.Target)
+			err = rc.SetTarget(data)
 		case "MX":
-			err = rc.SetTargetMX(uint16(priority), rc.Target)
+			// dns.he.net omits the trailing "." on the hostnames for MX records
+			err = rc.SetTargetMX(uint16(priority), data + ".")
 		case "SRV":
-			err = rc.SetTargetSRVPriorityString(uint16(priority), rc.Target)
+			err = rc.SetTargetSRVPriorityString(uint16(priority), data)
 		case "SPF":
 			// Convert to TXT record as SPF is deprecated
 			rc.Type = "TXT"
 			fallthrough
 		default:
-			err = rc.PopulateFromString(rc.Type, rc.Target, domain)
+			err = rc.PopulateFromString(rc.Type, data, domain)
 		}
 
 		if err != nil {
@@ -562,10 +561,10 @@ func (c *hednsProvider) editZoneRecord(rc *models.RecordConfig, create bool) err
 	switch rc.Type {
 	case "MX":
 		values.Set("Priority", strconv.FormatUint(uint64(rc.MxPreference), 10))
-		values.Set("Content", rc.Target)
+		values.Set("Content", rc.GetTargetField())
 	case "SRV":
 		values.Del("Content")
-		values.Set("Target", rc.Target)
+		values.Set("Target", rc.GetTargetField())
 		values.Set("Priority", strconv.FormatUint(uint64(rc.SrvPriority), 10))
 		values.Set("Weight", strconv.FormatUint(uint64(rc.SrvWeight), 10))
 		values.Set("Port", strconv.FormatUint(uint64(rc.SrvPort), 10))
diff --git a/providers/hexonet/records.go b/providers/hexonet/records.go
index e4bba561..0d251b3f 100644
--- a/providers/hexonet/records.go
+++ b/providers/hexonet/records.go
@@ -245,7 +245,7 @@ func (n *HXClient) createRecordString(rc *models.RecordConfig, domain string) (s
 	case "A", "AAAA", "ANAME", "CNAME", "MX", "NS", "PTR":
 		// nothing
 	case "TLSA":
-		record.Answer = fmt.Sprintf(`%v %v %v %s`, rc.TlsaUsage, rc.TlsaSelector, rc.TlsaMatchingType, rc.Target)
+		record.Answer = fmt.Sprintf(`%v %v %v %s`, rc.TlsaUsage, rc.TlsaSelector, rc.TlsaMatchingType, rc.GetTargetField())
 	case "CAA":
 		record.Answer = fmt.Sprintf(`%v %s "%s"`, rc.CaaFlag, rc.CaaTag, record.Answer)
 	case "TXT":
diff --git a/providers/netcup/types.go b/providers/netcup/types.go
index 2c253ff9..1dd47725 100644
--- a/providers/netcup/types.go
+++ b/providers/netcup/types.go
@@ -132,7 +132,7 @@ func fromRecordConfig(in *models.RecordConfig) *record {
 		rc.Destination = strings.TrimSuffix(in.GetTargetField(), ".")
 		rc.Priority = strconv.Itoa(int(in.MxPreference))
 	case "SRV":
-		rc.Destination = strconv.Itoa(int(in.SrvPriority)) + " " + strconv.Itoa(int(in.SrvWeight)) + " " + strconv.Itoa(int(in.SrvPort)) + " " + in.Target
+		rc.Destination = strconv.Itoa(int(in.SrvPriority)) + " " + strconv.Itoa(int(in.SrvWeight)) + " " + strconv.Itoa(int(in.SrvPort)) + " " + in.GetTargetField()
 	case "CAA":
 		rc.Destination = strconv.Itoa(int(in.CaaFlag)) + " " + in.CaaTag + " \"" + in.GetTargetField() + "\""
 	case "TLSA":


Test patch:
diff --git a/commands/r53_test.go b/commands/r53_test.go
index 136f3a84..93e8cd36 100644
--- a/commands/r53_test.go
+++ b/commands/r53_test.go
@@ -12,8 +12,8 @@ func TestR53Test_1(t *testing.T) {
 		Type:     "R53_ALIAS",
 		Name:     "foo",
 		NameFQDN: "foo.domain.tld",
-		Target:   "bar",
 	}
+	rec.SetTarget("bar")
 	rec.R53Alias = make(map[string]string)
 	rec.R53Alias["type"] = "A"
 	w := `R53_ALIAS('foo', 'A', 'bar')`
@@ -27,8 +27,8 @@ func TestR53Test_1ttl(t *testing.T) {
 		Type:     "R53_ALIAS",
 		Name:     "foo",
 		NameFQDN: "foo.domain.tld",
-		Target:   "bar",
 	}
+	rec.SetTarget("bar")
 	rec.R53Alias = make(map[string]string)
 	rec.R53Alias["type"] = "A"
 	w := `R53_ALIAS('foo', 'A', 'bar', TTL(321))`
@@ -42,8 +42,8 @@ func TestR53Test_2(t *testing.T) {
 		Type:     "R53_ALIAS",
 		Name:     "foo",
 		NameFQDN: "foo.domain.tld",
-		Target:   "bar",
 	}
+	rec.SetTarget("bar")
 	rec.R53Alias = make(map[string]string)
 	rec.R53Alias["type"] = "A"
 	rec.R53Alias["zone_id"] = "blarg"
@@ -58,8 +58,8 @@ func TestR53Test_2ttl(t *testing.T) {
 		Type:     "R53_ALIAS",
 		Name:     "foo",
 		NameFQDN: "foo.domain.tld",
-		Target:   "bar",
 	}
+	rec.SetTarget("bar")
 	rec.R53Alias = make(map[string]string)
 	rec.R53Alias["type"] = "A"
 	rec.R53Alias["zone_id"] = "blarg"
diff --git a/integrationTest/integration_test.go b/integrationTest/integration_test.go
index ed48510c..4befcf2f 100644
--- a/integrationTest/integration_test.go
+++ b/integrationTest/integration_test.go
@@ -9,14 +9,13 @@ import (
 	"strings"
 	"testing"
 
-	"github.com/miekg/dns/dnsutil"
-
 	"github.com/StackExchange/dnscontrol/v3/models"
 	"github.com/StackExchange/dnscontrol/v3/pkg/nameservers"
 	"github.com/StackExchange/dnscontrol/v3/pkg/normalize"
 	"github.com/StackExchange/dnscontrol/v3/providers"
 	_ "github.com/StackExchange/dnscontrol/v3/providers/_all"
 	"github.com/StackExchange/dnscontrol/v3/providers/config"
+	"github.com/miekg/dns/dnsutil"
 )
 
 var providerToRun = flag.String("provider", "", "Provider to run")
@@ -149,13 +148,6 @@ func testPermitted(t *testing.T, p string, f TestGroup) error {
 	return nil
 }
 
-//func makeClearFilter() *TestCase {
-//	tc := tc("Empty")
-//	tc.ChangeFilter = true
-//	return tc
-//}
-
-// desc := fmt.Sprintf("%d: %s", i, tst.Desc)
 // makeChanges runs one set of DNS record tests. Returns true on success.
 func makeChanges(t *testing.T, prv providers.DNSServiceProvider, dc *models.DomainConfig, tst *TestCase, desc string, expectChanges bool, origConfig map[string]string) bool {
 	domainName := dc.Name
@@ -328,39 +320,29 @@ type TestGroup struct {
 
 type TestCase struct {
 	Desc           string
-	Records        []*rec
+	Records        []*models.RecordConfig
 	IgnoredNames   []string
 	IgnoredTargets []*models.IgnoreTarget
 }
 
-type rec models.RecordConfig
-
-func (r *rec) GetLabel() string {
-	return r.Name
-}
-
-func (r *rec) SetLabel(label, domain string) {
+func SetLabel(r *models.RecordConfig, label, domain string) {
 	r.Name = label
 	r.NameFQDN = dnsutil.AddOrigin(label, "**current-domain**")
 }
 
-func (r *rec) SetTarget(target string) {
-	r.Target = target
-}
-
-func a(name, target string) *rec {
+func a(name, target string) *models.RecordConfig {
 	return makeRec(name, target, "A")
 }
 
-func cname(name, target string) *rec {
+func cname(name, target string) *models.RecordConfig {
 	return makeRec(name, target, "CNAME")
 }
 
-func alias(name, target string) *rec {
+func alias(name, target string) *models.RecordConfig {
 	return makeRec(name, target, "ALIAS")
 }
 
-func r53alias(name, aliasType, target string) *rec {
+func r53alias(name, aliasType, target string) *models.RecordConfig {
 	r := makeRec(name, target, "R53_ALIAS")
 	r.R53Alias = map[string]string{
 		"type": aliasType,
@@ -368,7 +350,7 @@ func r53alias(name, aliasType, target string) *rec {
 	return r
 }
 
-func azureAlias(name, aliasType, target string) *rec {
+func azureAlias(name, aliasType, target string) *models.RecordConfig {
 	r := makeRec(name, target, "AZURE_ALIAS")
 	r.AzureAlias = map[string]string{
 		"type": aliasType,
@@ -376,33 +358,33 @@ func azureAlias(name, aliasType, target string) *rec {
 	return r
 }
 
-func cfRedir(pattern, target string) *rec {
+func cfRedir(pattern, target string) *models.RecordConfig {
 	t := fmt.Sprintf("%s,%s", pattern, target)
 	r := makeRec("@", t, "CF_REDIRECT")
 	return r
 }
 
-func cfRedirTemp(pattern, target string) *rec {
+func cfRedirTemp(pattern, target string) *models.RecordConfig {
 	t := fmt.Sprintf("%s,%s", pattern, target)
 	r := makeRec("@", t, "CF_TEMP_REDIRECT")
 	return r
 }
 
-func ns(name, target string) *rec {
+func ns(name, target string) *models.RecordConfig {
 	return makeRec(name, target, "NS")
 }
 
-func mx(name string, prio uint16, target string) *rec {
+func mx(name string, prio uint16, target string) *models.RecordConfig {
 	r := makeRec(name, target, "MX")
 	r.MxPreference = prio
 	return r
 }
 
-func ptr(name, target string) *rec {
+func ptr(name, target string) *models.RecordConfig {
 	return makeRec(name, target, "PTR")
 }
 
-func naptr(name string, order uint16, preference uint16, flags string, service string, regexp string, target string) *rec {
+func naptr(name string, order uint16, preference uint16, flags string, service string, regexp string, target string) *models.RecordConfig {
 	r := makeRec(name, target, "NAPTR")
 	r.NaptrOrder = order
 	r.NaptrPreference = preference
@@ -412,7 +394,7 @@ func naptr(name string, order uint16, preference uint16, flags string, service s
 	return r
 }
 
-func ds(name string, keyTag uint16, algorithm, digestType uint8, digest string) *rec {
+func ds(name string, keyTag uint16, algorithm, digestType uint8, digest string) *models.RecordConfig {
 	r := makeRec(name, "", "DS")
 	r.DsKeyTag = keyTag
 	r.DsAlgorithm = algorithm
@@ -421,7 +403,7 @@ func ds(name string, keyTag uint16, algorithm, digestType uint8, digest string)
 	return r
 }
 
-func srv(name string, priority, weight, port uint16, target string) *rec {
+func srv(name string, priority, weight, port uint16, target string) *models.RecordConfig {
 	r := makeRec(name, target, "SRV")
 	r.SrvPriority = priority
 	r.SrvWeight = weight
@@ -429,35 +411,35 @@ func srv(name string, priority, weight, port uint16, target string) *rec {
 	return r
 }
 
-func sshfp(name string, algorithm uint8, fingerprint uint8, target string) *rec {
+func sshfp(name string, algorithm uint8, fingerprint uint8, target string) *models.RecordConfig {
 	r := makeRec(name, target, "SSHFP")
 	r.SshfpAlgorithm = algorithm
 	r.SshfpFingerprint = fingerprint
 	return r
 }
 
-func txt(name, target string) *rec {
+func txt(name, target string) *models.RecordConfig {
 	// FYI: This must match the algorithm in pkg/js/helpers.js TXT.
 	r := makeRec(name, target, "TXT")
 	r.TxtStrings = []string{target}
 	return r
 }
 
-func txtmulti(name string, target []string) *rec {
+func txtmulti(name string, target []string) *models.RecordConfig {
 	// FYI: This must match the algorithm in pkg/js/helpers.js TXT.
 	r := makeRec(name, target[0], "TXT")
 	r.TxtStrings = target
 	return r
 }
 
-func caa(name string, tag string, flag uint8, target string) *rec {
+func caa(name string, tag string, flag uint8, target string) *models.RecordConfig {
 	r := makeRec(name, target, "CAA")
 	r.CaaFlag = flag
 	r.CaaTag = tag
 	return r
 }
 
-func tlsa(name string, usage, selector, matchingtype uint8, target string) *rec {
+func tlsa(name string, usage, selector, matchingtype uint8, target string) *models.RecordConfig {
 	r := makeRec(name, target, "TLSA")
 	r.TlsaUsage = usage
 	r.TlsaSelector = selector
@@ -465,40 +447,41 @@ func tlsa(name string, usage, selector, matchingtype uint8, target string) *rec
 	return r
 }
 
-func ignoreName(name string) *rec {
-	r := &rec{
+func ignoreName(name string) *models.RecordConfig {
+	r := &models.RecordConfig{
 		Type: "IGNORE_NAME",
 	}
-	r.SetLabel(name, "**current-domain**")
+	SetLabel(r, name, "**current-domain**")
 	return r
 }
 
-func ignoreTarget(name string, typ string) *rec {
-	r := &rec{
-		Type:   "IGNORE_TARGET",
-		Target: typ,
+func ignoreTarget(name string, typ string) *models.RecordConfig {
+	r := &models.RecordConfig{
+		Type: "IGNORE_TARGET",
 	}
-	r.SetLabel(name, "**current-domain**")
+	r.SetTarget(typ)
+	SetLabel(r, name, "**current-domain**")
 	return r
 }
 
-func makeRec(name, target, typ string) *rec {
-	r := &rec{
+func makeRec(name, target, typ string) *models.RecordConfig {
+	r := &models.RecordConfig{
 		Type: typ,
 		TTL:  300,
 	}
-	r.SetLabel(name, "**current-domain**")
+	SetLabel(r, name, "**current-domain**")
 	r.SetTarget(target)
 	return r
 }
 
-func (r *rec) ttl(t uint32) *rec {
+//func (r *models.RecordConfig) ttl(t uint32) *models.RecordConfig {
+func ttl(r *models.RecordConfig, t uint32) *models.RecordConfig {
 	r.TTL = t
 	return r
 }
 
-func manyA(namePattern, target string, n int) []*rec {
-	recs := []*rec{}
+func manyA(namePattern, target string, n int) []*models.RecordConfig {
+	recs := []*models.RecordConfig{}
 	for i := 0; i < n; i++ {
 		recs = append(recs, makeRec(fmt.Sprintf(namePattern, i), target, "A"))
 	}
@@ -536,18 +519,19 @@ func testgroup(desc string, items ...interface{}) *TestGroup {
 	return group
 }
 
-func tc(desc string, recs ...*rec) *TestCase {
-	var records []*rec
+func tc(desc string, recs ...*models.RecordConfig) *TestCase {
+	var records []*models.RecordConfig
 	var ignoredNames []string
 	var ignoredTargets []*models.IgnoreTarget
 	for _, r := range recs {
 		if r.Type == "IGNORE_NAME" {
 			ignoredNames = append(ignoredNames, r.GetLabel())
 		} else if r.Type == "IGNORE_TARGET" {
-			ignoredTargets = append(ignoredTargets, &models.IgnoreTarget{
+			rec := &models.IgnoreTarget{
 				Pattern: r.GetLabel(),
-				Type:    r.Target,
-			})
+				Type:    r.GetTargetField(),
+			}
+			ignoredTargets = append(ignoredTargets, rec)
 		} else {
 			records = append(records, r)
 		}
@@ -645,11 +629,11 @@ func makeTests(t *testing.T) []*TestGroup {
 			tc("Change it", a("@", "1.2.3.4")),
 			tc("Add another", a("@", "1.2.3.4"), a("www", "1.2.3.4")),
 			tc("Add another(same name)", a("@", "1.2.3.4"), a("www", "1.2.3.4"), a("www", "5.6.7.8")),
-			tc("Change a ttl", a("@", "1.2.3.4").ttl(1000), a("www", "1.2.3.4"), a("www", "5.6.7.8")),
-			tc("Change single target from set", a("@", "1.2.3.4").ttl(1000), a("www", "2.2.2.2"), a("www", "5.6.7.8")),
-			tc("Change all ttls", a("@", "1.2.3.4").ttl(500), a("www", "2.2.2.2").ttl(400), a("www", "5.6.7.8").ttl(400)),
-			tc("Delete one", a("@", "1.2.3.4").ttl(500), a("www", "5.6.7.8").ttl(400)),
-			tc("Add back and change ttl", a("www", "5.6.7.8").ttl(700), a("www", "1.2.3.4").ttl(700)),
+			tc("Change a ttl", ttl(a("@", "1.2.3.4"), 1000), a("www", "1.2.3.4"), a("www", "5.6.7.8")),
+			tc("Change single target from set", ttl(a("@", "1.2.3.4"), 1000), a("www", "2.2.2.2"), a("www", "5.6.7.8")),
+			tc("Change all ttls", ttl(a("@", "1.2.3.4"), 500), ttl(a("www", "2.2.2.2"), 400), ttl(a("www", "5.6.7.8"), 400)),
+			tc("Delete one", ttl(a("@", "1.2.3.4"), 500), ttl(a("www", "5.6.7.8"), 400)),
+			tc("Add back and change ttl", ttl(a("www", "5.6.7.8"), 700), ttl(a("www", "1.2.3.4"), 700)),
 			tc("Change targets and ttls", a("www", "1.1.1.1"), a("www", "2.2.2.2")),
 		),
 
diff --git a/models/dns_test.go b/models/dns_test.go
index b70c14a1..800814a7 100644
--- a/models/dns_test.go
+++ b/models/dns_test.go
@@ -9,7 +9,7 @@ func TestRR(t *testing.T) {
 		Type:         "A",
 		Name:         "foo",
 		NameFQDN:     "foo.example.com",
-		Target:       "1.2.3.4",
+		target:       "1.2.3.4",
 		TTL:          0,
 		MxPreference: 0,
 	}
@@ -23,7 +23,7 @@ func TestRR(t *testing.T) {
 		Type:     "CAA",
 		Name:     "@",
 		NameFQDN: "example.com",
-		Target:   "mailto:test@example.com",
+		target:   "mailto:test@example.com",
 		TTL:      300,
 		CaaTag:   "iodef",
 		CaaFlag:  1,
@@ -38,7 +38,7 @@ func TestRR(t *testing.T) {
 		Type:             "TLSA",
 		Name:             "@",
 		NameFQDN:         "_443._tcp.example.com",
-		Target:           "abcdef0123456789",
+		target:           "abcdef0123456789",
 		TTL:              300,
 		TlsaUsage:        0,
 		TlsaSelector:     0,
@@ -53,8 +53,8 @@ func TestRR(t *testing.T) {
 
 func TestDowncase(t *testing.T) {
 	dc := DomainConfig{Records: Records{
-		&RecordConfig{Type: "MX", Name: "lower", Target: "targetmx"},
-		&RecordConfig{Type: "MX", Name: "UPPER", Target: "TARGETMX"},
+		&RecordConfig{Type: "MX", Name: "lower", target: "targetmx"},
+		&RecordConfig{Type: "MX", Name: "UPPER", target: "TARGETMX"},
 	}}
 	downcase(dc.Records)
 	if !dc.Records.HasRecordTypeName("MX", "lower") {
diff --git a/models/record_test.go b/models/record_test.go
index 1d0fe28a..f4015197 100644
--- a/models/record_test.go
+++ b/models/record_test.go
@@ -1,6 +1,9 @@
 package models
 
-import "testing"
+import (
+	"reflect"
+	"testing"
+)
 
 func TestHasRecordTypeName(t *testing.T) {
 	x := &RecordConfig{
@@ -49,3 +52,184 @@ func TestKey(t *testing.T) {
 		}
 	}
 }
+
+func TestRecordConfig_Copy(t *testing.T) {
+	type fields struct {
+		Type             string
+		Name             string
+		SubDomain        string
+		NameFQDN         string
+		target           string
+		TTL              uint32
+		Metadata         map[string]string
+		MxPreference     uint16
+		SrvPriority      uint16
+		SrvWeight        uint16
+		SrvPort          uint16
+		CaaTag           string
+		CaaFlag          uint8
+		DsKeyTag         uint16
+		DsAlgorithm      uint8
+		DsDigestType     uint8
+		DsDigest         string
+		NaptrOrder       uint16
+		NaptrPreference  uint16
+		NaptrFlags       string
+		NaptrService     string
+		NaptrRegexp      string
+		SshfpAlgorithm   uint8
+		SshfpFingerprint uint8
+		SoaMbox          string
+		SoaSerial        uint32
+		SoaRefresh       uint32
+		SoaRetry         uint32
+		SoaExpire        uint32
+		SoaMinttl        uint32
+		TlsaUsage        uint8
+		TlsaSelector     uint8
+		TlsaMatchingType uint8
+		TxtStrings       []string
+		R53Alias         map[string]string
+		AzureAlias       map[string]string
+		Original         interface{}
+	}
+	tests := []struct {
+		name    string
+		fields  fields
+		want    *RecordConfig
+		wantErr bool
+	}{
+		{
+			name: "only",
+			fields: fields{
+				Type:             "type",
+				Name:             "name",
+				SubDomain:        "sub",
+				NameFQDN:         "namef",
+				target:           "targette",
+				TTL:              12345,
+				Metadata:         map[string]string{"me": "ah", "da": "ta"},
+				MxPreference:     123,
+				SrvPriority:      223,
+				SrvWeight:        345,
+				SrvPort:          456,
+				CaaTag:           "caata",
+				CaaFlag:          100,
+				DsKeyTag:         12341,
+				DsAlgorithm:      99,
+				DsDigestType:     98,
+				DsDigest:         "dsdig",
+				NaptrOrder:       10000,
+				NaptrPreference:  12220,
+				NaptrFlags:       "naptrfl",
+				NaptrService:     "naptrser",
+				NaptrRegexp:      "naptrreg",
+				SshfpAlgorithm:   4,
+				SshfpFingerprint: 5,
+				SoaMbox:          "soambox",
+				SoaSerial:        456789,
+				SoaRefresh:       192000,
+				SoaRetry:         293293,
+				SoaExpire:        3434343,
+				SoaMinttl:        34234324,
+				TlsaUsage:        1,
+				TlsaSelector:     2,
+				TlsaMatchingType: 3,
+				TxtStrings:       []string{"one", "two", "three"},
+				R53Alias:         map[string]string{"a": "eh", "b": "bee"},
+				AzureAlias:       map[string]string{"az": "az", "ure": "your"},
+				//Original         interface{},
+			},
+			want: &RecordConfig{
+				Type:             "type",
+				Name:             "name",
+				SubDomain:        "sub",
+				NameFQDN:         "namef",
+				target:           "targette",
+				TTL:              12345,
+				Metadata:         map[string]string{"me": "ah", "da": "ta"},
+				MxPreference:     123,
+				SrvPriority:      223,
+				SrvWeight:        345,
+				SrvPort:          456,
+				CaaTag:           "caata",
+				CaaFlag:          100,
+				DsKeyTag:         12341,
+				DsAlgorithm:      99,
+				DsDigestType:     98,
+				DsDigest:         "dsdig",
+				NaptrOrder:       10000,
+				NaptrPreference:  12220,
+				NaptrFlags:       "naptrfl",
+				NaptrService:     "naptrser",
+				NaptrRegexp:      "naptrreg",
+				SshfpAlgorithm:   4,
+				SshfpFingerprint: 5,
+				SoaMbox:          "soambox",
+				SoaSerial:        456789,
+				SoaRefresh:       192000,
+				SoaRetry:         293293,
+				SoaExpire:        3434343,
+				SoaMinttl:        34234324,
+				TlsaUsage:        1,
+				TlsaSelector:     2,
+				TlsaMatchingType: 3,
+				TxtStrings:       []string{"one", "two", "three"},
+				R53Alias:         map[string]string{"a": "eh", "b": "bee"},
+				AzureAlias:       map[string]string{"az": "az", "ure": "your"},
+				//Original         interface{},
+			},
+		},
+	}
+	for _, tt := range tests {
+		t.Run(tt.name, func(t *testing.T) {
+			rc := &RecordConfig{
+				Type:             tt.fields.Type,
+				Name:             tt.fields.Name,
+				SubDomain:        tt.fields.SubDomain,
+				NameFQDN:         tt.fields.NameFQDN,
+				target:           tt.fields.target,
+				TTL:              tt.fields.TTL,
+				Metadata:         tt.fields.Metadata,
+				MxPreference:     tt.fields.MxPreference,
+				SrvPriority:      tt.fields.SrvPriority,
+				SrvWeight:        tt.fields.SrvWeight,
+				SrvPort:          tt.fields.SrvPort,
+				CaaTag:           tt.fields.CaaTag,
+				CaaFlag:          tt.fields.CaaFlag,
+				DsKeyTag:         tt.fields.DsKeyTag,
+				DsAlgorithm:      tt.fields.DsAlgorithm,
+				DsDigestType:     tt.fields.DsDigestType,
+				DsDigest:         tt.fields.DsDigest,
+				NaptrOrder:       tt.fields.NaptrOrder,
+				NaptrPreference:  tt.fields.NaptrPreference,
+				NaptrFlags:       tt.fields.NaptrFlags,
+				NaptrService:     tt.fields.NaptrService,
+				NaptrRegexp:      tt.fields.NaptrRegexp,
+				SshfpAlgorithm:   tt.fields.SshfpAlgorithm,
+				SshfpFingerprint: tt.fields.SshfpFingerprint,
+				SoaMbox:          tt.fields.SoaMbox,
+				SoaSerial:        tt.fields.SoaSerial,
+				SoaRefresh:       tt.fields.SoaRefresh,
+				SoaRetry:         tt.fields.SoaRetry,
+				SoaExpire:        tt.fields.SoaExpire,
+				SoaMinttl:        tt.fields.SoaMinttl,
+				TlsaUsage:        tt.fields.TlsaUsage,
+				TlsaSelector:     tt.fields.TlsaSelector,
+				TlsaMatchingType: tt.fields.TlsaMatchingType,
+				TxtStrings:       tt.fields.TxtStrings,
+				R53Alias:         tt.fields.R53Alias,
+				AzureAlias:       tt.fields.AzureAlias,
+				Original:         tt.fields.Original,
+			}
+			got, err := rc.Copy()
+			if (err != nil) != tt.wantErr {
+				t.Errorf("RecordConfig.Copy() error = %v, wantErr %v", err, tt.wantErr)
+				return
+			}
+			if !reflect.DeepEqual(got, tt.want) {
+				t.Errorf("RecordConfig.Copy() = %v, want %v", got, tt.want)
+			}
+		})
+	}
+}
diff --git a/pkg/js/parse_tests/017-txt.json b/pkg/js/parse_tests/017-txt.json
index aa9b5cfe..fd509360 100644
--- a/pkg/js/parse_tests/017-txt.json
+++ b/pkg/js/parse_tests/017-txt.json
@@ -34,7 +34,7 @@
         {
           "type": "TXT",
           "name": "d",
-          "target": "bonie",
+          "target": "bonieclyde",
           "txtstrings": [
             "bonie",
             "clyde"
@@ -43,7 +43,7 @@
         {
           "type": "TXT",
           "name": "e",
-          "target": "straw",
+          "target": "strawwoodbrick",
           "txtstrings": [
             "straw",
             "wood",
diff --git a/pkg/js/parse_tests/018-dkim.json b/pkg/js/parse_tests/018-dkim.json
index cbadc47f..0a84a664 100644
--- a/pkg/js/parse_tests/018-dkim.json
+++ b/pkg/js/parse_tests/018-dkim.json
@@ -10,7 +10,7 @@
         {
           "type": "TXT",
           "name": "dkimtest2",
-          "target": "this string is 255 bytes long.hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAnKZogtjOlHoeY8iZ5o5brlPOsj/a2Q9Bopu1kHxlxrdw7tZVL9FzUMngiIYGrl8dbP7Rvk7TLMoxHxVkRZPBtIpsKIab/gOUoPLQVYbrAmzyguHYBwAApi3H/pvjUsK8+XF0dKY17AR96lokAPqvfBaUb+DSx8zNw2hrYWYVqvCtnxHUGEUhT1bTlEZBptH3j",
+          "target": "this string is 255 bytes long.hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAnKZogtjOlHoeY8iZ5o5brlPOsj/a2Q9Bopu1kHxlxrdw7tZVL9FzUMngiIYGrl8dbP7Rvk7TLMoxHxVkRZPBtIpsKIab/gOUoPLQVYbrAmzyguHYBwAApi3H/pvjUsK8+XF0dKY17AR96lokAPqvfBaUb+DSx8zNw2hrYWYVqvCtnxHUGEUhT1bTlEZBptH3jthis is the remainder. it is 156 bytes long.mOhl2JmbsFKy+RoMTwbkk0/meRvcEFWLHkr4MSgbnie6OpQvM4Y51+kO6DUVr3rwjrdVO9wpFt+n/hdQ92TNif17RMJtE5AGaQ6BN3yJQIDAQAB;",
           "txtstrings": [
             "this string is 255 bytes long.hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAnKZogtjOlHoeY8iZ5o5brlPOsj/a2Q9Bopu1kHxlxrdw7tZVL9FzUMngiIYGrl8dbP7Rvk7TLMoxHxVkRZPBtIpsKIab/gOUoPLQVYbrAmzyguHYBwAApi3H/pvjUsK8+XF0dKY17AR96lokAPqvfBaUb+DSx8zNw2hrYWYVqvCtnxHUGEUhT1bTlEZBptH3j",
             "this is the remainder. it is 156 bytes long.mOhl2JmbsFKy+RoMTwbkk0/meRvcEFWLHkr4MSgbnie6OpQvM4Y51+kO6DUVr3rwjrdVO9wpFt+n/hdQ92TNif17RMJtE5AGaQ6BN3yJQIDAQAB;"
diff --git a/providers/bind/soa_test.go b/providers/bind/soa_test.go
index ba9f0997..11fe63d0 100644
--- a/providers/bind/soa_test.go
+++ b/providers/bind/soa_test.go
@@ -8,6 +8,11 @@ import (
 	"github.com/StackExchange/dnscontrol/v3/models"
 )
 
+func mkRC(target string, rec *models.RecordConfig) *models.RecordConfig {
+	rec.SetTarget(target)
+	return rec
+}
+
 func Test_makeSoa(t *testing.T) {
 	origin := "example.com"
 	var tests = []struct {
@@ -20,58 +25,58 @@ func Test_makeSoa(t *testing.T) {
 		{
 			// If everything is blank, the hard-coded defaults should kick in.
 			&SoaInfo{"", "", 0, 0, 0, 0, 0, models.DefaultTTL},
-			&models.RecordConfig{Target: "", SoaMbox: "", SoaSerial: 0, SoaRefresh: 0, SoaRetry: 0, SoaExpire: 0, SoaMinttl: 0},
-			&models.RecordConfig{Target: "", SoaMbox: "", SoaSerial: 0, SoaRefresh: 0, SoaRetry: 0, SoaExpire: 0, SoaMinttl: 0},
-			&models.RecordConfig{Target: "DEFAULT_NOT_SET.", SoaMbox: "DEFAULT_NOT_SET.", SoaSerial: 1, SoaRefresh: 3600, SoaRetry: 600, SoaExpire: 604800, SoaMinttl: 1440},
+			mkRC("", &models.RecordConfig{SoaMbox: "", SoaSerial: 0, SoaRefresh: 0, SoaRetry: 0, SoaExpire: 0, SoaMinttl: 0}),
+			mkRC("", &models.RecordConfig{SoaMbox: "", SoaSerial: 0, SoaRefresh: 0, SoaRetry: 0, SoaExpire: 0, SoaMinttl: 0}),
+			mkRC("DEFAULT_NOT_SET.", &models.RecordConfig{SoaMbox: "DEFAULT_NOT_SET.", SoaSerial: 1, SoaRefresh: 3600, SoaRetry: 600, SoaExpire: 604800, SoaMinttl: 1440}),
 			2019022300,
 		},
 		{
 			// If everything is filled, leave the desired values in place.
 			&SoaInfo{"ns.example.com", "root.example.com", 1, 2, 3, 4, 5, models.DefaultTTL},
-			&models.RecordConfig{Target: "a", SoaMbox: "aa", SoaSerial: 10, SoaRefresh: 11, SoaRetry: 12, SoaExpire: 13, SoaMinttl: 14},
-			&models.RecordConfig{Target: "b", SoaMbox: "bb", SoaSerial: 15, SoaRefresh: 16, SoaRetry: 17, SoaExpire: 18, SoaMinttl: 19},
-			&models.RecordConfig{Target: "b", SoaMbox: "bb", SoaSerial: 15, SoaRefresh: 16, SoaRetry: 17, SoaExpire: 18, SoaMinttl: 19},
+			mkRC("a", &models.RecordConfig{SoaMbox: "aa", SoaSerial: 10, SoaRefresh: 11, SoaRetry: 12, SoaExpire: 13, SoaMinttl: 14}),
+			mkRC("b", &models.RecordConfig{SoaMbox: "bb", SoaSerial: 15, SoaRefresh: 16, SoaRetry: 17, SoaExpire: 18, SoaMinttl: 19}),
+			mkRC("b", &models.RecordConfig{SoaMbox: "bb", SoaSerial: 15, SoaRefresh: 16, SoaRetry: 17, SoaExpire: 18, SoaMinttl: 19}),
 			2019022300,
 		},
 		{
 			// Test incrementing serial.
 			&SoaInfo{"ns.example.com", "root.example.com", 1, 2, 3, 4, 5, models.DefaultTTL},
-			&models.RecordConfig{Target: "a", SoaMbox: "aa", SoaSerial: 2019022301, SoaRefresh: 11, SoaRetry: 12, SoaExpire: 13, SoaMinttl: 14},
-			&models.RecordConfig{Target: "b", SoaMbox: "bb", SoaSerial: 0, SoaRefresh: 16, SoaRetry: 17, SoaExpire: 18, SoaMinttl: 19},
-			&models.RecordConfig{Target: "b", SoaMbox: "bb", SoaSerial: 2019022301, SoaRefresh: 16, SoaRetry: 17, SoaExpire: 18, SoaMinttl: 19},
+			mkRC("a", &models.RecordConfig{SoaMbox: "aa", SoaSerial: 2019022301, SoaRefresh: 11, SoaRetry: 12, SoaExpire: 13, SoaMinttl: 14}),
+			mkRC("b", &models.RecordConfig{SoaMbox: "bb", SoaSerial: 0, SoaRefresh: 16, SoaRetry: 17, SoaExpire: 18, SoaMinttl: 19}),
+			mkRC("b", &models.RecordConfig{SoaMbox: "bb", SoaSerial: 2019022301, SoaRefresh: 16, SoaRetry: 17, SoaExpire: 18, SoaMinttl: 19}),
 			2019022302,
 		},
 		{
 			// Test incrementing serial_2.
 			&SoaInfo{"ns.example.com", "root.example.com", 1, 2, 3, 4, 5, models.DefaultTTL},
-			&models.RecordConfig{Target: "a", SoaMbox: "aa", SoaSerial: 0, SoaRefresh: 11, SoaRetry: 12, SoaExpire: 13, SoaMinttl: 14},
-			&models.RecordConfig{Target: "b", SoaMbox: "bb", SoaSerial: 2019022304, SoaRefresh: 16, SoaRetry: 17, SoaExpire: 18, SoaMinttl: 19},
-			&models.RecordConfig{Target: "b", SoaMbox: "bb", SoaSerial: 2019022304, SoaRefresh: 16, SoaRetry: 17, SoaExpire: 18, SoaMinttl: 19},
+			mkRC("a", &models.RecordConfig{SoaMbox: "aa", SoaSerial: 0, SoaRefresh: 11, SoaRetry: 12, SoaExpire: 13, SoaMinttl: 14}),
+			mkRC("b", &models.RecordConfig{SoaMbox: "bb", SoaSerial: 2019022304, SoaRefresh: 16, SoaRetry: 17, SoaExpire: 18, SoaMinttl: 19}),
+			mkRC("b", &models.RecordConfig{SoaMbox: "bb", SoaSerial: 2019022304, SoaRefresh: 16, SoaRetry: 17, SoaExpire: 18, SoaMinttl: 19}),
 			2019022305,
 		},
 		{
 			// If there are gaps in existing or desired, fill in as appropriate.
 			&SoaInfo{"ns.example.com", "root.example.com", 1, 2, 3, 4, 5, models.DefaultTTL},
-			&models.RecordConfig{Target: "", SoaMbox: "aa", SoaSerial: 0, SoaRefresh: 11, SoaRetry: 0, SoaExpire: 13, SoaMinttl: 0},
-			&models.RecordConfig{Target: "b", SoaMbox: "", SoaSerial: 15, SoaRefresh: 0, SoaRetry: 17, SoaExpire: 0, SoaMinttl: 19},
-			&models.RecordConfig{Target: "b", SoaMbox: "aa", SoaSerial: 15, SoaRefresh: 11, SoaRetry: 17, SoaExpire: 13, SoaMinttl: 19},
+			mkRC("", &models.RecordConfig{SoaMbox: "aa", SoaSerial: 0, SoaRefresh: 11, SoaRetry: 0, SoaExpire: 13, SoaMinttl: 0}),
+			mkRC("b", &models.RecordConfig{SoaMbox: "", SoaSerial: 15, SoaRefresh: 0, SoaRetry: 17, SoaExpire: 0, SoaMinttl: 19}),
+			mkRC("b", &models.RecordConfig{SoaMbox: "aa", SoaSerial: 15, SoaRefresh: 11, SoaRetry: 17, SoaExpire: 13, SoaMinttl: 19}),
 			2019022300,
 		},
 		{
 			// Gaps + existing==nil
 			&SoaInfo{"ns.example.com", "root.example.com", 1, 2, 3, 4, 5, models.DefaultTTL},
 			nil,
-			&models.RecordConfig{Target: "b", SoaMbox: "", SoaSerial: 15, SoaRefresh: 0, SoaRetry: 17, SoaExpire: 0, SoaMinttl: 19},
-			&models.RecordConfig{Target: "b", SoaMbox: "root.example.com", SoaSerial: 15, SoaRefresh: 2, SoaRetry: 17, SoaExpire: 4, SoaMinttl: 19},
+			mkRC("b", &models.RecordConfig{SoaMbox: "", SoaSerial: 15, SoaRefresh: 0, SoaRetry: 17, SoaExpire: 0, SoaMinttl: 19}),
+			mkRC("b", &models.RecordConfig{SoaMbox: "root.example.com", SoaSerial: 15, SoaRefresh: 2, SoaRetry: 17, SoaExpire: 4, SoaMinttl: 19}),
 			2019022300,
 		},
 		{
 			// Gaps + desired==nil
 			// NB(tom): In the code as of 2020-02-23, desired will never be nil.
 			&SoaInfo{"ns.example.com", "root.example.com", 1, 2, 3, 4, 5, models.DefaultTTL},
-			&models.RecordConfig{Target: "", SoaMbox: "aa", SoaSerial: 0, SoaRefresh: 11, SoaRetry: 0, SoaExpire: 13, SoaMinttl: 0},
+			mkRC("", &models.RecordConfig{SoaMbox: "aa", SoaSerial: 0, SoaRefresh: 11, SoaRetry: 0, SoaExpire: 13, SoaMinttl: 0}),
 			nil,
-			&models.RecordConfig{Target: "ns.example.com", SoaMbox: "aa", SoaSerial: 1, SoaRefresh: 11, SoaRetry: 3, SoaExpire: 13, SoaMinttl: 5},
+			mkRC("ns.example.com", &models.RecordConfig{SoaMbox: "aa", SoaSerial: 1, SoaRefresh: 11, SoaRetry: 3, SoaExpire: 13, SoaMinttl: 5}),
 			2019022300,
 		},
 	}
@@ -115,8 +120,8 @@ func areEqualSoa(r1, r2 *models.RecordConfig) bool {
 		fmt.Printf("ERROR: name %q != %q\n", r1.Name, r2.Name)
 		return false
 	}
-	if r1.Target != r2.Target {
-		fmt.Printf("ERROR: target %q != %q\n", r1.Target, r2.Target)
+	if r1.GetTargetField() != r2.GetTargetField() {
+		fmt.Printf("ERROR: target %q != %q\n", r1, r2.GetTargetField())
 		return false
 	}
 	if r1.SoaMbox != r2.SoaMbox {
diff --git a/providers/msdns/powershell_test.go b/providers/msdns/powershell_test.go
index 71389e42..e131013a 100644
--- a/providers/msdns/powershell_test.go
+++ b/providers/msdns/powershell_test.go
@@ -112,28 +112,28 @@ func Test_generatePSZoneDump(t *testing.T) {
 func Test_generatePSModify(t *testing.T) {
 
 	recA1 := &models.RecordConfig{
-		Type:   "A",
-		Name:   "@",
-		Target: "1.2.3.4",
+		Type: "A",
+		Name: "@",
 	}
+	recA1.SetTarget("1.2.3.4")
 	recA2 := &models.RecordConfig{
-		Type:   "A",
-		Name:   "@",
-		Target: "10.20.30.40",
+		Type: "A",
+		Name: "@",
 	}
+	recA2.SetTarget("10.20.30.40")
 
 	recMX1 := &models.RecordConfig{
 		Type:         "MX",
 		Name:         "@",
-		Target:       "foo.com.",
 		MxPreference: 5,
 	}
+	recMX1.SetTarget("foo.com.")
 	recMX2 := &models.RecordConfig{
 		Type:         "MX",
 		Name:         "@",
-		Target:       "foo2.com.",
 		MxPreference: 50,
 	}
+	recMX2.SetTarget("foo2.com.")
 
 	type args struct {
 		domain    string
diff --git a/providers/octodns/octoyaml/rw_test.go b/providers/octodns/octoyaml/rw_test.go
index 8173d6a0..668b277e 100644
--- a/providers/octodns/octoyaml/rw_test.go
+++ b/providers/octodns/octoyaml/rw_test.go
@@ -18,10 +18,10 @@ import (
 	"io/ioutil"
 	"os"
 	"path/filepath"
-	"strings"
 	"testing"
 	"unicode"
 
+	testifyrequire "github.com/stretchr/testify/require"
 	"github.com/tdewolff/minify"
 	minjson "github.com/tdewolff/minify/json"
 )
@@ -180,11 +180,8 @@ func TestYamlRead(t *testing.T) {
 			//fmt.Printf("DEBUG: EXPECTED=%s\n", string(expectedJSON))
 			//fmt.Printf("DEBUG: ACTUAL  =%s\n", string(actualJSON))
 
-			if strings.TrimSpace(string(expectedJSON)) != strings.TrimSpace(string(actualJSON)) {
-				t.Error("Expected and actual json don't match")
-				t.Log("Expected:", string(expectedJSON))
-				t.Log("Actual  :", string(actualJSON))
-			}
+			es, as := string(expectedJSON), string(actualJSON)
+			testifyrequire.JSONEqf(t, es, as, "EXPECTING %q = \n```\n%s\n```", expectedFile, as)
 		})
 	}
 }