Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

implement namecheap dns management #94

Closed
wants to merge 0 commits into from

Conversation

rbelnap
Copy link
Contributor

@rbelnap rbelnap commented Apr 19, 2017

I was disappointed to see that the namecheap provider was only for registration, so I figured I'd take a stab at implementing it. I've only known go for 2 days, and this is shamelessly cobbled together from other providers and bits of chewing gum. It seems to do the basics, so I'm hopeful some more experienced contributors can work out the kinks before my mistakes get too ingrained.

@captncraig
Copy link
Contributor

Awesome! I'll take a look at this shortly. Have you tried wiring it up to the provider integration test suite? That is a good way to make sure it covers a bunch of the corner cases we have found. Hopefully the readme in there is sufficient, but if not I can help.


id := 1
for _, r := range dc.Records {
name := strings.Split(r.NameFQDN, "."+dc.Name)[0]
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are you trying to extract the name from a FQDN? (i.e. remove the domain suffix?). I recommend using dnsutil.TrimDomainName() instead (warning: it FQDN == domain this returns "@" instead of "").

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes indeed, thanks for the tip! (fixed)

Copy link
Contributor

@captncraig captncraig left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks pretty good. Just a few changes I see right now. Also update the docs to indicate it can do dns hosting too.

func splitDomain(domain string) (string, string) {
ds := strings.Split(domain, ".")
dl := len(ds)
tld := ds[dl-1]
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This method fails for tlds like `.co.uk'. Should use https://godoc.org/golang.org/x/net/publicsuffix instead.

Its kinda crappy that their api expects SLD/TLD, and https://www.namecheap.com/support/api/methods/domains/get-info.aspx doesn't even split it like that for you.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Agree on the crappy - implemented pubblicsuffix (hopefully correctly)

return newProvider(conf, nil)
}

func splitDomain(domain string) (string, string) {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd name the return values sld and tld for clarity. May also make sense to return an error in case we can't figure it out from the given domain.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fixed

continue
}

if r.Name == "@" {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Shouldn't need to do this. Set Name to Name, and for NameFQDN use dnsutil.AddOrigin should be an example of that somewhere.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fixed


var actual []*models.RecordConfig
for _, r := range records.Hosts {
if r.Type == "SOA" || r.Type == "NS" {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does namecheap not let you change NS records? Even for subdomains?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It does! (for subdomains) fixed

// changes though

changes := false
desc := ""
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Probably make desc a []string, append each description to it, and then use `strings.Join(desc, "\n") to build a final string.

Then you can avoid the changes cariable altogether and use if len(desc) > 0

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, I can see that - I completely stole this section from the gandi provider, so the same can apply there ;)

}

func (n *Namecheap) GetNameservers(domainName string) ([]*models.Nameserver, error) {
// not exactly sure what is wanted here, but currently not needed (TODO)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This should return the nameservers to register if you are using namecheap's dns. Looks like maybe

"dns1.registrar-servers.com", "dns2.registrar-servers.com" for the basic dns servers?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I had suspected that and tried it, but namecheap doesn't like it. When set that way :

CREATE NS dnscontrol.com dns2.registrar-servers.com. 300
RECREATING ZONE: dnscontrol.com
Namecheap returns: <nil>
FAILURE! Error 5050900: INVALID_NAME: NS record can't be set up for a @ or * host names

The best I could figure was to have it be a noop, but I'm open to interpretation

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, this is pretty common. Too many providers control those way too tightly. The general policy in this case is to remove any NS records with Name @ at the beginning of GetDomainCorrections. Something like:

dc.Filter(func(r *models.RecordConfig) bool {
    if r.Type == "NS" && r.Name == "@" {
        //check to make sure it looks like a namecheap server and print a warning if it does not.
        return false
    }
    return true
})

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That would be a way to protect against that error in general, but I don't think it is applicable to the GetNameservers method, which it sounds like will need to remain a noop.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No, GetNameservers needs to be implemented. It does more than just create NS records. It also feeds the nameservers we give to the registrar part.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hmm.. so are you saying implement the defaults for GetNameservers, then drop it (or filter it out) in GetDomainCorrections?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Correct.

id := 1
for _, r := range dc.Records {
name := strings.Split(r.NameFQDN, "."+dc.Name)[0]
if name == dc.Name {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If you leave the Name as I recommend above, this may not need to be done either.


sld, tld := splitDomain(dc.Name)
result, err := n.client.DomainDNSSetHosts(sld, tld, recs)
fmt.Println("Namecheap returns:", result)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remove debug before finalizing.

@captncraig
Copy link
Contributor

Build is failing because the publicsuffix package needs to be copied into the repo. I just added it to master, so next time you push it should pass.

@rbelnap
Copy link
Contributor Author

rbelnap commented Apr 20, 2017

I think everything has been fixed here - I welcome further feedback. I did wire it up to the integration tests, but it looks like namecheap adds in default records when a zone is emptied, and this breaks all tests. Also note that I uncovered what I expect is a bug in the go-namecheap module and submitted it as billputer/go-namecheap#6

@captncraig
Copy link
Contributor

That sounds crappy. I'll try it when I get back to my desk and see what I can figure out. If that PR doesn't get merged quickly, it is possible to vendor in your changes regardless.

@captncraig
Copy link
Contributor

Ok, I think I got past that particular issue, just by filtering out those records and pretending like they don't exist.

Now I'm getting rate limited running the test suite.

Can you give me permission to push to your pr branch? It may be easier to just make a few edits directly.

@captncraig
Copy link
Contributor

Oh, somehow I did push to that. Hmm.

@captncraig
Copy link
Contributor

What the hell did I do? I can fix.

@captncraig
Copy link
Contributor

I have no idea what I did. I was trying to add changes to your branch, but it did not do what I expected.

If you re-push your changes to your repo, this may reopen. I'm sorry.

I also pushed your changes as the namecheap branch to this repo.

@captncraig captncraig mentioned this pull request Apr 20, 2017
@captncraig
Copy link
Contributor

I reopened it as #96. Its quite nearly ready anyway.

Olivetti added a commit to Olivetti/dnscontrol that referenced this pull request Apr 6, 2022
providers-test-netcup.log appended:

=== RUN   TestDNSProviders
=== RUN   TestDNSProviders/oXXX.de
=== RUN   TestDNSProviders/oXXX.de/Clean_Slate:Empty
    integration_test.go:220: DELETE A test.oXXX.de 1.2.3.4 ttl=0, Netcup ID: 50790741
=== RUN   TestDNSProviders/oXXX.de/00:GeneralACD:Create_an_A_record
    integration_test.go:220: CREATE A oXXX.de 1.1.1.1 ttl=0
=== RUN   TestDNSProviders/oXXX.de/00:GeneralACD:Change_it
    integration_test.go:220: MODIFY A oXXX.de: (1.1.1.1 ttl=0) -> (1.2.3.4 ttl=0), Netcup ID: 50825306: 
=== RUN   TestDNSProviders/oXXX.de/00:GeneralACD:Add_another
    integration_test.go:220: CREATE A www.oXXX.de 1.2.3.4 ttl=0
=== RUN   TestDNSProviders/oXXX.de/00:GeneralACD:Add_another(same_name)
    integration_test.go:220: CREATE A www.oXXX.de 5.6.7.8 ttl=0
=== RUN   TestDNSProviders/oXXX.de/00:GeneralACD:Change_a_ttl
    integration_test.go:216: Expected changes, but got none
=== RUN   TestDNSProviders/oXXX.de/Post_cleanup:Empty
    integration_test.go:220: DELETE A oXXX.de 1.2.3.4 ttl=0, Netcup ID: 50825306
    integration_test.go:220: DELETE A www.oXXX.de 1.2.3.4 ttl=0, Netcup ID: 50825307
    integration_test.go:220: DELETE A www.oXXX.de 5.6.7.8 ttl=0, Netcup ID: 50825308
=== RUN   TestDNSProviders/oXXX.de/01:WildcardACD:Create_wildcard
    integration_test.go:220: CREATE A *.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A www.oXXX.de 1.1.1.1 ttl=0
=== RUN   TestDNSProviders/oXXX.de/Post_cleanup:Empty#01
    integration_test.go:220: DELETE A *.oXXX.de 1.2.3.4 ttl=0, Netcup ID: 50825309
    integration_test.go:220: DELETE A www.oXXX.de 1.1.1.1 ttl=0, Netcup ID: 50825310
=== RUN   TestDNSProviders/oXXX.de/02:CNAME:Create_a_CNAME
    integration_test.go:220: CREATE CNAME foo.oXXX.de google.com. ttl=0
=== RUN   TestDNSProviders/oXXX.de/Post_cleanup:Empty#02
    integration_test.go:220: DELETE CNAME foo.oXXX.de google.com. ttl=0, Netcup ID: 50825311
=== RUN   TestDNSProviders/oXXX.de/03:MX:MX_record
    integration_test.go:220: CREATE MX oXXX.de 5 foo.com. ttl=0
=== RUN   TestDNSProviders/oXXX.de/Post_cleanup:Empty#03
    integration_test.go:220: DELETE MX oXXX.de 5 foo.com. ttl=0, Netcup ID: 50825312
=== RUN   TestDNSProviders/oXXX.de/04:Null_MX_***SKIPPED(excluded_by_not("NETCUP"))***:Empty
=== RUN   TestDNSProviders/oXXX.de/05:NS_***SKIPPED(excluded_by_not("NETCUP"))***:Empty
=== RUN   TestDNSProviders/oXXX.de/06:IGNORE_NAME_function:Create_some_records
    integration_test.go:220: CREATE TXT foo.oXXX.de "simple" ttl=0
    integration_test.go:220: CREATE A foo.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:239: Expected 0 corrections on second run, but found 1.
    integration_test.go:241: UNEXPECTED #0: CREATE TXT foo.oXXX.de "simple" ttl=0
=== RUN   TestDNSProviders/oXXX.de/Post_cleanup:Empty#04
    integration_test.go:220: DELETE A foo.oXXX.de 1.2.3.4 ttl=0, Netcup ID: 50825313
=== RUN   TestDNSProviders/oXXX.de/07:IGNORE_NAME_apex:Create_some_records
    integration_test.go:220: CREATE TXT bar.oXXX.de "stringbar" ttl=0
    integration_test.go:220: CREATE A bar.oXXX.de 2.4.6.8 ttl=0
    integration_test.go:220: CREATE A oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE TXT oXXX.de "simple" ttl=0
    integration_test.go:239: Expected 0 corrections on second run, but found 2.
    integration_test.go:241: UNEXPECTED #0: CREATE TXT bar.oXXX.de "stringbar" ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#1: CREATE TXT oXXX.de "simple" ttl=0
=== RUN   TestDNSProviders/oXXX.de/Post_cleanup:Empty#05
    integration_test.go:220: DELETE A bar.oXXX.de 2.4.6.8 ttl=0, Netcup ID: 50825314
    integration_test.go:220: DELETE A oXXX.de 1.2.3.4 ttl=0, Netcup ID: 50825315
=== RUN   TestDNSProviders/oXXX.de/08:IGNORE_TARGET_function:Create_some_records
    integration_test.go:220: CREATE CNAME bar.oXXX.de test.bar.com. ttl=0
    integration_test.go:220: CREATE CNAME foo.oXXX.de test.foo.com. ttl=0
=== RUN   TestDNSProviders/oXXX.de/Post_cleanup:Empty#06
    integration_test.go:220: DELETE CNAME bar.oXXX.de test.bar.com. ttl=0, Netcup ID: 50825316
    integration_test.go:220: DELETE CNAME foo.oXXX.de test.foo.com. ttl=0, Netcup ID: 50825317
=== RUN   TestDNSProviders/oXXX.de/09:simple_TXT:Create_a_TXT
    integration_test.go:220: CREATE TXT foo.oXXX.de "simple" ttl=0
    integration_test.go:239: Expected 0 corrections on second run, but found 1.
    integration_test.go:241: UNEXPECTED #0: CREATE TXT foo.oXXX.de "simple" ttl=0
=== RUN   TestDNSProviders/oXXX.de/Post_cleanup:Empty#07
=== RUN   TestDNSProviders/oXXX.de/10:simple_TXT-spf1:Create_a_TXT/SPF
    integration_test.go:220: CREATE TXT foo.oXXX.de "v=spf1 ip4:99.99.99.99 -all" ttl=0
    integration_test.go:239: Expected 0 corrections on second run, but found 1.
    integration_test.go:241: UNEXPECTED #0: CREATE TXT foo.oXXX.de "v=spf1 ip4:99.99.99.99 -all" ttl=0
=== RUN   TestDNSProviders/oXXX.de/Post_cleanup:Empty#08
=== RUN   TestDNSProviders/oXXX.de/11:long_TXT:Create_long_TXT
    integration_test.go:220: CREATE TXT foo.oXXX.de "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" ttl=0
    integration_test.go:239: Expected 0 corrections on second run, but found 1.
    integration_test.go:241: UNEXPECTED #0: CREATE TXT foo.oXXX.de "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" ttl=0
=== RUN   TestDNSProviders/oXXX.de/Post_cleanup:Empty#09
=== RUN   TestDNSProviders/oXXX.de/12:complex_TXT:TXT_with_0-octel_string
    integration_test.go:206: ***SKIPPED(PROVIDER DOES NOT SUPPORT 'txtstring is empty' ::"12:complex TXT")
=== RUN   TestDNSProviders/oXXX.de/Post_cleanup:Empty#10
=== RUN   TestDNSProviders/oXXX.de/13:long_TXT:Create_a_505_TXT
    integration_test.go:220: CREATE TXT foo257.oXXX.de "EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE" ttl=0
    integration_test.go:239: Expected 0 corrections on second run, but found 1.
    integration_test.go:241: UNEXPECTED #0: CREATE TXT foo257.oXXX.de "EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE" ttl=0
=== RUN   TestDNSProviders/oXXX.de/Post_cleanup:Empty#11
=== RUN   TestDNSProviders/oXXX.de/14:TXTMulti:Create_TXTMulti_1
    integration_test.go:220: CREATE TXT foo1.oXXX.de "simple" ttl=0
    integration_test.go:239: Expected 0 corrections on second run, but found 1.
    integration_test.go:241: UNEXPECTED #0: CREATE TXT foo1.oXXX.de "simple" ttl=0
=== RUN   TestDNSProviders/oXXX.de/Post_cleanup:Empty#12
=== RUN   TestDNSProviders/oXXX.de/15:TXTMulti-same:Create_TXTMulti_1
    integration_test.go:220: CREATE TXT foo.oXXX.de "simple" ttl=0
    integration_test.go:239: Expected 0 corrections on second run, but found 1.
    integration_test.go:241: UNEXPECTED #0: CREATE TXT foo.oXXX.de "simple" ttl=0
=== RUN   TestDNSProviders/oXXX.de/Post_cleanup:Empty#13
=== RUN   TestDNSProviders/oXXX.de/16:TypeChange:Create_a_CNAME
    integration_test.go:220: CREATE CNAME foo.oXXX.de google.com. ttl=0
=== RUN   TestDNSProviders/oXXX.de/Post_cleanup:Empty#14
    integration_test.go:220: DELETE CNAME foo.oXXX.de google.com. ttl=0, Netcup ID: 50825318
=== RUN   TestDNSProviders/oXXX.de/17:Case_Sensitivity:Create_CAPS
    integration_test.go:220: CREATE MX bar.oXXX.de 5 bar.com. ttl=0
=== RUN   TestDNSProviders/oXXX.de/Post_cleanup:Empty#15
    integration_test.go:220: DELETE MX bar.oXXX.de 5 bar.com. ttl=0, Netcup ID: 50825319
=== RUN   TestDNSProviders/oXXX.de/18:IDNA:Internationalized_name
    integration_test.go:220: CREATE A xn--ndaaa.oXXX.de 1.2.3.4 ttl=0
=== RUN   TestDNSProviders/oXXX.de/Post_cleanup:Empty#16
    integration_test.go:220: DELETE A xn--ndaaa.oXXX.de 1.2.3.4 ttl=0, Netcup ID: 50825320
=== RUN   TestDNSProviders/oXXX.de/19:IDNAs_in_CNAME_targets:IDN_CNAME_AND_Target
    integration_test.go:220: CREATE CNAME xn--o-0gab.oXXX.de xn--ndaaa.xn--vhquv. ttl=0
=== RUN   TestDNSProviders/oXXX.de/Post_cleanup:Empty#17
    integration_test.go:220: DELETE CNAME xn--o-0gab.oXXX.de xn--ndaaa.xn--vhquv. ttl=0, Netcup ID: 50825321
=== RUN   TestDNSProviders/oXXX.de/20:pager101:99_records
    integration_test.go:220: CREATE A rec0000.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0001.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0002.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0003.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0004.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0005.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0006.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0007.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0008.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0009.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0010.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0011.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0012.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0013.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0014.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0015.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0016.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0017.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0018.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0019.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0020.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0021.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0022.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0023.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0024.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0025.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0026.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0027.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0028.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0029.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0030.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0031.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0032.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0033.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0034.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0035.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0036.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0037.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0038.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0039.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0040.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0041.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0042.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0043.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0044.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0045.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0046.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0047.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0048.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0049.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0050.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0051.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0052.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0053.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0054.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0055.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0056.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0057.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0058.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0059.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0060.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0061.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0062.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0063.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0064.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0065.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0066.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0067.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0068.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0069.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0070.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0071.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0072.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0073.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0074.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0075.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0076.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0077.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0078.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0079.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0080.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0081.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0082.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0083.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0084.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0085.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0086.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0087.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0088.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0089.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0090.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0091.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0092.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0093.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0094.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0095.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0096.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0097.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0098.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:239: Expected 0 corrections on second run, but found 99.
    integration_test.go:241: UNEXPECTED #0: CREATE A rec0000.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#1: CREATE A rec0001.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#2: CREATE A rec0002.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#3: CREATE A rec0003.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#4: CREATE A rec0004.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#5: CREATE A rec0005.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#6: CREATE A rec0006.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#7: CREATE A rec0007.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#8: CREATE A rec0008.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#9: CREATE A rec0009.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#10: CREATE A rec0010.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#11: CREATE A rec0011.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#12: CREATE A rec0012.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#13: CREATE A rec0013.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#14: CREATE A rec0014.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#15: CREATE A rec0015.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#16: CREATE A rec0016.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#17: CREATE A rec0017.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#18: CREATE A rec0018.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#19: CREATE A rec0019.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#20: CREATE A rec0020.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#21: CREATE A rec0021.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#22: CREATE A rec0022.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#23: CREATE A rec0023.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#24: CREATE A rec0024.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#25: CREATE A rec0025.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#26: CREATE A rec0026.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#27: CREATE A rec0027.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#28: CREATE A rec0028.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#29: CREATE A rec0029.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#30: CREATE A rec0030.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#31: CREATE A rec0031.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#32: CREATE A rec0032.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#33: CREATE A rec0033.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#34: CREATE A rec0034.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#35: CREATE A rec0035.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#36: CREATE A rec0036.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#37: CREATE A rec0037.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#38: CREATE A rec0038.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#39: CREATE A rec0039.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#40: CREATE A rec0040.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#41: CREATE A rec0041.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#42: CREATE A rec0042.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#43: CREATE A rec0043.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#44: CREATE A rec0044.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#45: CREATE A rec0045.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#46: CREATE A rec0046.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#47: CREATE A rec0047.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#48: CREATE A rec0048.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#49: CREATE A rec0049.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#50: CREATE A rec0050.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#51: CREATE A rec0051.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#52: CREATE A rec0052.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#53: CREATE A rec0053.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#54: CREATE A rec0054.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#55: CREATE A rec0055.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#56: CREATE A rec0056.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#57: CREATE A rec0057.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#58: CREATE A rec0058.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#59: CREATE A rec0059.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#60: CREATE A rec0060.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#61: CREATE A rec0061.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#62: CREATE A rec0062.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#63: CREATE A rec0063.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#64: CREATE A rec0064.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#65: CREATE A rec0065.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#66: CREATE A rec0066.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#67: CREATE A rec0067.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#68: CREATE A rec0068.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#69: CREATE A rec0069.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#70: CREATE A rec0070.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#71: CREATE A rec0071.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#72: CREATE A rec0072.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#73: CREATE A rec0073.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#74: CREATE A rec0074.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#75: CREATE A rec0075.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#76: CREATE A rec0076.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#77: CREATE A rec0077.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#78: CREATE A rec0078.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#79: CREATE A rec0079.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#80: CREATE A rec0080.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#81: CREATE A rec0081.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#82: CREATE A rec0082.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#83: CREATE A rec0083.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#84: CREATE A rec0084.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#85: CREATE A rec0085.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#86: CREATE A rec0086.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#87: CREATE A rec0087.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#88: CREATE A rec0088.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#89: CREATE A rec0089.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#90: CREATE A rec0090.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#91: CREATE A rec0091.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#92: CREATE A rec0092.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#93: CREATE A rec0093.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#94: CREATE A rec0094.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#95: CREATE A rec0095.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#96: CREATE A rec0096.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#97: CREATE A rec0097.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#98: CREATE A rec0098.oXXX.de 1.2.3.4 ttl=0
=== RUN   TestDNSProviders/oXXX.de/Post_cleanup:Empty#18
=== RUN   TestDNSProviders/oXXX.de/21:pager601_***SKIPPED(disabled_by_only)***:Empty
=== RUN   TestDNSProviders/oXXX.de/22:pager1201_***SKIPPED(disabled_by_only)***:Empty
=== RUN   TestDNSProviders/oXXX.de/23:CAA:CAA_record
    integration_test.go:220: CREATE CAA oXXX.de 0 issue "letsencrypt.org" ttl=0
    integration_test.go:239: Expected 0 corrections on second run, but found 1.
    integration_test.go:241: UNEXPECTED #0: CREATE CAA oXXX.de 0 issue "letsencrypt.org" ttl=0
=== RUN   TestDNSProviders/oXXX.de/Post_cleanup:Empty#19
=== RUN   TestDNSProviders/oXXX.de/24:CAA_with_;:CAA_many_records
    integration_test.go:220: CREATE CAA oXXX.de 0 issuewild ";" ttl=0
    integration_test.go:239: Expected 0 corrections on second run, but found 1.
    integration_test.go:241: UNEXPECTED #0: CREATE CAA oXXX.de 0 issuewild ";" ttl=0
=== RUN   TestDNSProviders/oXXX.de/Post_cleanup:Empty#20
=== RUN   TestDNSProviders/oXXX.de/25:Issue_1374:CAA_spaces
    integration_test.go:220: CREATE CAA oXXX.de 0 issue "letsencrypt.org; validationmethods=dns-01; accounturi=https://acme-v02.api.letsencrypt.org/acme/acct/1234" ttl=0
    integration_test.go:239: Expected 0 corrections on second run, but found 1.
    integration_test.go:241: UNEXPECTED #0: CREATE CAA oXXX.de 0 issue "letsencrypt.org; validationmethods=dns-01; accounturi=https://acme-v02.api.letsencrypt.org/acme/acct/1234" ttl=0
=== RUN   TestDNSProviders/oXXX.de/Post_cleanup:Empty#21
=== RUN   TestDNSProviders/oXXX.de/26:NAPTR_***SKIPPED(CanUseNAPTR_not_supported)***:Empty
=== RUN   TestDNSProviders/oXXX.de/27:PTR_***SKIPPED(CanUsePTR_not_supported)***:Empty
=== RUN   TestDNSProviders/oXXX.de/28:SOA_***SKIPPED(CanUseSOA_not_supported)***:Empty
=== RUN   TestDNSProviders/oXXX.de/29:SRV:SRV_record
    integration_test.go:220: CREATE SRV _sip._tcp.oXXX.de 5 6 7 foo.com. ttl=0
    integration_test.go:239: Expected 0 corrections on second run, but found 1.
    integration_test.go:241: UNEXPECTED #0: CREATE SRV _sip._tcp.oXXX.de 5 6 7 foo.com. ttl=0
=== RUN   TestDNSProviders/oXXX.de/Post_cleanup:Empty#22
=== RUN   TestDNSProviders/oXXX.de/30:SRV_w/_null_target:Null_Target
    integration_test.go:220: CREATE SRV _sip._tcp.oXXX.de 52 62 72 foo.com. ttl=0
    integration_test.go:220: CREATE SRV _sip._tcp.oXXX.de 15 65 75 . ttl=0
    integration_test.go:239: Expected 0 corrections on second run, but found 2.
    integration_test.go:241: UNEXPECTED #0: CREATE SRV _sip._tcp.oXXX.de 52 62 72 foo.com. ttl=0
    integration_test.go:241: UNEXPECTED StackExchange#1: CREATE SRV _sip._tcp.oXXX.de 15 65 75 . ttl=0
=== RUN   TestDNSProviders/oXXX.de/Post_cleanup:Empty#23
=== RUN   TestDNSProviders/oXXX.de/31:SSHFP_***SKIPPED(CanUseSSHFP_not_supported)***:Empty
=== RUN   TestDNSProviders/oXXX.de/32:TLSA_***SKIPPED(CanUseTLSA_not_supported)***:Empty
=== RUN   TestDNSProviders/oXXX.de/33:DS_***SKIPPED(CanUseDS_not_supported)***:Empty
=== RUN   TestDNSProviders/oXXX.de/34:DS_(children_only)_***SKIPPED(CanUseDSForChildren_not_supported)***:Empty
=== RUN   TestDNSProviders/oXXX.de/35:DS_(children_only)_CLOUDNS_***SKIPPED(CanUseDSForChildren_not_supported)***:Empty
=== RUN   TestDNSProviders/oXXX.de/36:ALIAS_***SKIPPED(CanUseAlias_not_supported)***:Empty
=== RUN   TestDNSProviders/oXXX.de/37:AZURE_ALIAS_***SKIPPED(CanUseAzureAlias_not_supported)***:Empty
=== RUN   TestDNSProviders/oXXX.de/38:R53_ALIAS2_***SKIPPED(CanUseRoute53Alias_not_supported)***:Empty
=== RUN   TestDNSProviders/oXXX.de/39:R53_ALIAS_ORDER_***SKIPPED(CanUseRoute53Alias_not_supported)***:Empty
=== RUN   TestDNSProviders/oXXX.de/40:CF_REDIRECT_***SKIPPED(disabled_by_only)***:Empty
=== RUN   TestDNSProviders/oXXX.de/41:CF_PROXY_***SKIPPED(disabled_by_only)***:Empty
=== RUN   TestDNSProviders/oXXX.de/42:CF_WORKER_ROUTE_***SKIPPED(disabled_by_only)***:Empty
--- FAIL: TestDNSProviders (25.84s)
    --- FAIL: TestDNSProviders/oXXX.de (24.98s)
        --- PASS: TestDNSProviders/oXXX.de/Clean_Slate:Empty (0.25s)
        --- PASS: TestDNSProviders/oXXX.de/00:GeneralACD:Create_an_A_record (0.33s)
        --- PASS: TestDNSProviders/oXXX.de/00:GeneralACD:Change_it (0.32s)
        --- PASS: TestDNSProviders/oXXX.de/00:GeneralACD:Add_another (0.34s)
        --- PASS: TestDNSProviders/oXXX.de/00:GeneralACD:Add_another(same_name) (0.38s)
        --- FAIL: TestDNSProviders/oXXX.de/00:GeneralACD:Change_a_ttl (0.11s)
        --- PASS: TestDNSProviders/oXXX.de/Post_cleanup:Empty (0.59s)
        --- PASS: TestDNSProviders/oXXX.de/01:WildcardACD:Create_wildcard (0.46s)
        --- PASS: TestDNSProviders/oXXX.de/Post_cleanup:Empty#01 (0.37s)
        --- PASS: TestDNSProviders/oXXX.de/02:CNAME:Create_a_CNAME (0.31s)
        --- PASS: TestDNSProviders/oXXX.de/Post_cleanup:Empty#02 (0.23s)
        --- PASS: TestDNSProviders/oXXX.de/03:MX:MX_record (0.31s)
        --- PASS: TestDNSProviders/oXXX.de/Post_cleanup:Empty#03 (0.21s)
        --- PASS: TestDNSProviders/oXXX.de/04:Null_MX_***SKIPPED(excluded_by_not("NETCUP"))***:Empty (0.10s)
        --- PASS: TestDNSProviders/oXXX.de/05:NS_***SKIPPED(excluded_by_not("NETCUP"))***:Empty (0.08s)
        --- FAIL: TestDNSProviders/oXXX.de/06:IGNORE_NAME_function:Create_some_records (0.36s)
        --- PASS: TestDNSProviders/oXXX.de/Post_cleanup:Empty#04 (0.24s)
        --- FAIL: TestDNSProviders/oXXX.de/07:IGNORE_NAME_apex:Create_some_records (0.57s)
        --- PASS: TestDNSProviders/oXXX.de/Post_cleanup:Empty#05 (0.35s)
        --- PASS: TestDNSProviders/oXXX.de/08:IGNORE_TARGET_function:Create_some_records (0.45s)
        --- PASS: TestDNSProviders/oXXX.de/Post_cleanup:Empty#06 (0.38s)
        --- FAIL: TestDNSProviders/oXXX.de/09:simple_TXT:Create_a_TXT (0.25s)
        --- PASS: TestDNSProviders/oXXX.de/Post_cleanup:Empty#07 (0.08s)
        --- FAIL: TestDNSProviders/oXXX.de/10:simple_TXT-spf1:Create_a_TXT/SPF (0.28s)
        --- PASS: TestDNSProviders/oXXX.de/Post_cleanup:Empty#08 (0.12s)
        --- FAIL: TestDNSProviders/oXXX.de/11:long_TXT:Create_long_TXT (0.25s)
        --- PASS: TestDNSProviders/oXXX.de/Post_cleanup:Empty#09 (0.11s)
        --- SKIP: TestDNSProviders/oXXX.de/12:complex_TXT:TXT_with_0-octel_string (0.00s)
        --- PASS: TestDNSProviders/oXXX.de/Post_cleanup:Empty#10 (0.10s)
        --- FAIL: TestDNSProviders/oXXX.de/13:long_TXT:Create_a_505_TXT (0.25s)
        --- PASS: TestDNSProviders/oXXX.de/Post_cleanup:Empty#11 (0.08s)
        --- FAIL: TestDNSProviders/oXXX.de/14:TXTMulti:Create_TXTMulti_1 (0.26s)
        --- PASS: TestDNSProviders/oXXX.de/Post_cleanup:Empty#12 (0.09s)
        --- FAIL: TestDNSProviders/oXXX.de/15:TXTMulti-same:Create_TXTMulti_1 (0.24s)
        --- PASS: TestDNSProviders/oXXX.de/Post_cleanup:Empty#13 (0.10s)
        --- PASS: TestDNSProviders/oXXX.de/16:TypeChange:Create_a_CNAME (0.34s)
        --- PASS: TestDNSProviders/oXXX.de/Post_cleanup:Empty#14 (0.23s)
        --- PASS: TestDNSProviders/oXXX.de/17:Case_Sensitivity:Create_CAPS (0.33s)
        --- PASS: TestDNSProviders/oXXX.de/Post_cleanup:Empty#15 (0.22s)
        --- PASS: TestDNSProviders/oXXX.de/18:IDNA:Internationalized_name (0.34s)
        --- PASS: TestDNSProviders/oXXX.de/Post_cleanup:Empty#16 (0.21s)
        --- PASS: TestDNSProviders/oXXX.de/19:IDNAs_in_CNAME_targets:IDN_CNAME_AND_Target (0.29s)
        --- PASS: TestDNSProviders/oXXX.de/Post_cleanup:Empty#17 (0.24s)
        --- FAIL: TestDNSProviders/oXXX.de/20:pager101:99_records (11.55s)
        --- PASS: TestDNSProviders/oXXX.de/Post_cleanup:Empty#18 (0.05s)
        --- PASS: TestDNSProviders/oXXX.de/21:pager601_***SKIPPED(disabled_by_only)***:Empty (0.05s)
        --- PASS: TestDNSProviders/oXXX.de/22:pager1201_***SKIPPED(disabled_by_only)***:Empty (0.05s)
        --- FAIL: TestDNSProviders/oXXX.de/23:CAA:CAA_record (0.20s)
        --- PASS: TestDNSProviders/oXXX.de/Post_cleanup:Empty#19 (0.05s)
        --- FAIL: TestDNSProviders/oXXX.de/24:CAA_with_;:CAA_many_records (0.19s)
        --- PASS: TestDNSProviders/oXXX.de/Post_cleanup:Empty#20 (0.06s)
        --- FAIL: TestDNSProviders/oXXX.de/25:Issue_1374:CAA_spaces (0.17s)
        --- PASS: TestDNSProviders/oXXX.de/Post_cleanup:Empty#21 (0.07s)
        --- PASS: TestDNSProviders/oXXX.de/26:NAPTR_***SKIPPED(CanUseNAPTR_not_supported)***:Empty (0.05s)
        --- PASS: TestDNSProviders/oXXX.de/27:PTR_***SKIPPED(CanUsePTR_not_supported)***:Empty (0.06s)
        --- PASS: TestDNSProviders/oXXX.de/28:SOA_***SKIPPED(CanUseSOA_not_supported)***:Empty (0.06s)
        --- FAIL: TestDNSProviders/oXXX.de/29:SRV:SRV_record (0.17s)
        --- PASS: TestDNSProviders/oXXX.de/Post_cleanup:Empty#22 (0.06s)
        --- FAIL: TestDNSProviders/oXXX.de/30:SRV_w/_null_target:Null_Target (0.25s)
        --- PASS: TestDNSProviders/oXXX.de/Post_cleanup:Empty#23 (0.08s)
        --- PASS: TestDNSProviders/oXXX.de/31:SSHFP_***SKIPPED(CanUseSSHFP_not_supported)***:Empty (0.06s)
        --- PASS: TestDNSProviders/oXXX.de/32:TLSA_***SKIPPED(CanUseTLSA_not_supported)***:Empty (0.06s)
        --- PASS: TestDNSProviders/oXXX.de/33:DS_***SKIPPED(CanUseDS_not_supported)***:Empty (0.05s)
        --- PASS: TestDNSProviders/oXXX.de/34:DS_(children_only)_***SKIPPED(CanUseDSForChildren_not_supported)***:Empty (0.05s)
        --- PASS: TestDNSProviders/oXXX.de/35:DS_(children_only)_CLOUDNS_***SKIPPED(CanUseDSForChildren_not_supported)***:Empty (0.06s)
        --- PASS: TestDNSProviders/oXXX.de/36:ALIAS_***SKIPPED(CanUseAlias_not_supported)***:Empty (0.06s)
        --- PASS: TestDNSProviders/oXXX.de/37:AZURE_ALIAS_***SKIPPED(CanUseAzureAlias_not_supported)***:Empty (0.05s)
        --- PASS: TestDNSProviders/oXXX.de/38:R53_ALIAS2_***SKIPPED(CanUseRoute53Alias_not_supported)***:Empty (0.05s)
        --- PASS: TestDNSProviders/oXXX.de/39:R53_ALIAS_ORDER_***SKIPPED(CanUseRoute53Alias_not_supported)***:Empty (0.06s)
        --- PASS: TestDNSProviders/oXXX.de/40:CF_REDIRECT_***SKIPPED(disabled_by_only)***:Empty (0.05s)
        --- PASS: TestDNSProviders/oXXX.de/41:CF_PROXY_***SKIPPED(disabled_by_only)***:Empty (0.05s)
        --- PASS: TestDNSProviders/oXXX.de/42:CF_WORKER_ROUTE_***SKIPPED(disabled_by_only)***:Empty (0.06s)
=== RUN   TestDualProviders
    integration_test.go:312: Skipping.  DocDualHost == Cannot
--- SKIP: TestDualProviders (0.06s)
FAIL
exit status 1
FAIL	github.com/StackExchange/dnscontrol/v3/integrationTest	25.942s
tlimoncelli added a commit that referenced this pull request May 8, 2022
providers-test-netcup.log appended:

=== RUN   TestDNSProviders
=== RUN   TestDNSProviders/oXXX.de
=== RUN   TestDNSProviders/oXXX.de/Clean_Slate:Empty
    integration_test.go:220: DELETE A test.oXXX.de 1.2.3.4 ttl=0, Netcup ID: 50790741
=== RUN   TestDNSProviders/oXXX.de/00:GeneralACD:Create_an_A_record
    integration_test.go:220: CREATE A oXXX.de 1.1.1.1 ttl=0
=== RUN   TestDNSProviders/oXXX.de/00:GeneralACD:Change_it
    integration_test.go:220: MODIFY A oXXX.de: (1.1.1.1 ttl=0) -> (1.2.3.4 ttl=0), Netcup ID: 50825306: 
=== RUN   TestDNSProviders/oXXX.de/00:GeneralACD:Add_another
    integration_test.go:220: CREATE A www.oXXX.de 1.2.3.4 ttl=0
=== RUN   TestDNSProviders/oXXX.de/00:GeneralACD:Add_another(same_name)
    integration_test.go:220: CREATE A www.oXXX.de 5.6.7.8 ttl=0
=== RUN   TestDNSProviders/oXXX.de/00:GeneralACD:Change_a_ttl
    integration_test.go:216: Expected changes, but got none
=== RUN   TestDNSProviders/oXXX.de/Post_cleanup:Empty
    integration_test.go:220: DELETE A oXXX.de 1.2.3.4 ttl=0, Netcup ID: 50825306
    integration_test.go:220: DELETE A www.oXXX.de 1.2.3.4 ttl=0, Netcup ID: 50825307
    integration_test.go:220: DELETE A www.oXXX.de 5.6.7.8 ttl=0, Netcup ID: 50825308
=== RUN   TestDNSProviders/oXXX.de/01:WildcardACD:Create_wildcard
    integration_test.go:220: CREATE A *.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A www.oXXX.de 1.1.1.1 ttl=0
=== RUN   TestDNSProviders/oXXX.de/Post_cleanup:Empty#01
    integration_test.go:220: DELETE A *.oXXX.de 1.2.3.4 ttl=0, Netcup ID: 50825309
    integration_test.go:220: DELETE A www.oXXX.de 1.1.1.1 ttl=0, Netcup ID: 50825310
=== RUN   TestDNSProviders/oXXX.de/02:CNAME:Create_a_CNAME
    integration_test.go:220: CREATE CNAME foo.oXXX.de google.com. ttl=0
=== RUN   TestDNSProviders/oXXX.de/Post_cleanup:Empty#02
    integration_test.go:220: DELETE CNAME foo.oXXX.de google.com. ttl=0, Netcup ID: 50825311
=== RUN   TestDNSProviders/oXXX.de/03:MX:MX_record
    integration_test.go:220: CREATE MX oXXX.de 5 foo.com. ttl=0
=== RUN   TestDNSProviders/oXXX.de/Post_cleanup:Empty#03
    integration_test.go:220: DELETE MX oXXX.de 5 foo.com. ttl=0, Netcup ID: 50825312
=== RUN   TestDNSProviders/oXXX.de/04:Null_MX_***SKIPPED(excluded_by_not("NETCUP"))***:Empty
=== RUN   TestDNSProviders/oXXX.de/05:NS_***SKIPPED(excluded_by_not("NETCUP"))***:Empty
=== RUN   TestDNSProviders/oXXX.de/06:IGNORE_NAME_function:Create_some_records
    integration_test.go:220: CREATE TXT foo.oXXX.de "simple" ttl=0
    integration_test.go:220: CREATE A foo.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:239: Expected 0 corrections on second run, but found 1.
    integration_test.go:241: UNEXPECTED #0: CREATE TXT foo.oXXX.de "simple" ttl=0
=== RUN   TestDNSProviders/oXXX.de/Post_cleanup:Empty#04
    integration_test.go:220: DELETE A foo.oXXX.de 1.2.3.4 ttl=0, Netcup ID: 50825313
=== RUN   TestDNSProviders/oXXX.de/07:IGNORE_NAME_apex:Create_some_records
    integration_test.go:220: CREATE TXT bar.oXXX.de "stringbar" ttl=0
    integration_test.go:220: CREATE A bar.oXXX.de 2.4.6.8 ttl=0
    integration_test.go:220: CREATE A oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE TXT oXXX.de "simple" ttl=0
    integration_test.go:239: Expected 0 corrections on second run, but found 2.
    integration_test.go:241: UNEXPECTED #0: CREATE TXT bar.oXXX.de "stringbar" ttl=0
    integration_test.go:241: UNEXPECTED #1: CREATE TXT oXXX.de "simple" ttl=0
=== RUN   TestDNSProviders/oXXX.de/Post_cleanup:Empty#05
    integration_test.go:220: DELETE A bar.oXXX.de 2.4.6.8 ttl=0, Netcup ID: 50825314
    integration_test.go:220: DELETE A oXXX.de 1.2.3.4 ttl=0, Netcup ID: 50825315
=== RUN   TestDNSProviders/oXXX.de/08:IGNORE_TARGET_function:Create_some_records
    integration_test.go:220: CREATE CNAME bar.oXXX.de test.bar.com. ttl=0
    integration_test.go:220: CREATE CNAME foo.oXXX.de test.foo.com. ttl=0
=== RUN   TestDNSProviders/oXXX.de/Post_cleanup:Empty#06
    integration_test.go:220: DELETE CNAME bar.oXXX.de test.bar.com. ttl=0, Netcup ID: 50825316
    integration_test.go:220: DELETE CNAME foo.oXXX.de test.foo.com. ttl=0, Netcup ID: 50825317
=== RUN   TestDNSProviders/oXXX.de/09:simple_TXT:Create_a_TXT
    integration_test.go:220: CREATE TXT foo.oXXX.de "simple" ttl=0
    integration_test.go:239: Expected 0 corrections on second run, but found 1.
    integration_test.go:241: UNEXPECTED #0: CREATE TXT foo.oXXX.de "simple" ttl=0
=== RUN   TestDNSProviders/oXXX.de/Post_cleanup:Empty#07
=== RUN   TestDNSProviders/oXXX.de/10:simple_TXT-spf1:Create_a_TXT/SPF
    integration_test.go:220: CREATE TXT foo.oXXX.de "v=spf1 ip4:99.99.99.99 -all" ttl=0
    integration_test.go:239: Expected 0 corrections on second run, but found 1.
    integration_test.go:241: UNEXPECTED #0: CREATE TXT foo.oXXX.de "v=spf1 ip4:99.99.99.99 -all" ttl=0
=== RUN   TestDNSProviders/oXXX.de/Post_cleanup:Empty#08
=== RUN   TestDNSProviders/oXXX.de/11:long_TXT:Create_long_TXT
    integration_test.go:220: CREATE TXT foo.oXXX.de "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" ttl=0
    integration_test.go:239: Expected 0 corrections on second run, but found 1.
    integration_test.go:241: UNEXPECTED #0: CREATE TXT foo.oXXX.de "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" ttl=0
=== RUN   TestDNSProviders/oXXX.de/Post_cleanup:Empty#09
=== RUN   TestDNSProviders/oXXX.de/12:complex_TXT:TXT_with_0-octel_string
    integration_test.go:206: ***SKIPPED(PROVIDER DOES NOT SUPPORT 'txtstring is empty' ::"12:complex TXT")
=== RUN   TestDNSProviders/oXXX.de/Post_cleanup:Empty#10
=== RUN   TestDNSProviders/oXXX.de/13:long_TXT:Create_a_505_TXT
    integration_test.go:220: CREATE TXT foo257.oXXX.de "EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE" ttl=0
    integration_test.go:239: Expected 0 corrections on second run, but found 1.
    integration_test.go:241: UNEXPECTED #0: CREATE TXT foo257.oXXX.de "EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE" ttl=0
=== RUN   TestDNSProviders/oXXX.de/Post_cleanup:Empty#11
=== RUN   TestDNSProviders/oXXX.de/14:TXTMulti:Create_TXTMulti_1
    integration_test.go:220: CREATE TXT foo1.oXXX.de "simple" ttl=0
    integration_test.go:239: Expected 0 corrections on second run, but found 1.
    integration_test.go:241: UNEXPECTED #0: CREATE TXT foo1.oXXX.de "simple" ttl=0
=== RUN   TestDNSProviders/oXXX.de/Post_cleanup:Empty#12
=== RUN   TestDNSProviders/oXXX.de/15:TXTMulti-same:Create_TXTMulti_1
    integration_test.go:220: CREATE TXT foo.oXXX.de "simple" ttl=0
    integration_test.go:239: Expected 0 corrections on second run, but found 1.
    integration_test.go:241: UNEXPECTED #0: CREATE TXT foo.oXXX.de "simple" ttl=0
=== RUN   TestDNSProviders/oXXX.de/Post_cleanup:Empty#13
=== RUN   TestDNSProviders/oXXX.de/16:TypeChange:Create_a_CNAME
    integration_test.go:220: CREATE CNAME foo.oXXX.de google.com. ttl=0
=== RUN   TestDNSProviders/oXXX.de/Post_cleanup:Empty#14
    integration_test.go:220: DELETE CNAME foo.oXXX.de google.com. ttl=0, Netcup ID: 50825318
=== RUN   TestDNSProviders/oXXX.de/17:Case_Sensitivity:Create_CAPS
    integration_test.go:220: CREATE MX bar.oXXX.de 5 bar.com. ttl=0
=== RUN   TestDNSProviders/oXXX.de/Post_cleanup:Empty#15
    integration_test.go:220: DELETE MX bar.oXXX.de 5 bar.com. ttl=0, Netcup ID: 50825319
=== RUN   TestDNSProviders/oXXX.de/18:IDNA:Internationalized_name
    integration_test.go:220: CREATE A xn--ndaaa.oXXX.de 1.2.3.4 ttl=0
=== RUN   TestDNSProviders/oXXX.de/Post_cleanup:Empty#16
    integration_test.go:220: DELETE A xn--ndaaa.oXXX.de 1.2.3.4 ttl=0, Netcup ID: 50825320
=== RUN   TestDNSProviders/oXXX.de/19:IDNAs_in_CNAME_targets:IDN_CNAME_AND_Target
    integration_test.go:220: CREATE CNAME xn--o-0gab.oXXX.de xn--ndaaa.xn--vhquv. ttl=0
=== RUN   TestDNSProviders/oXXX.de/Post_cleanup:Empty#17
    integration_test.go:220: DELETE CNAME xn--o-0gab.oXXX.de xn--ndaaa.xn--vhquv. ttl=0, Netcup ID: 50825321
=== RUN   TestDNSProviders/oXXX.de/20:pager101:99_records
    integration_test.go:220: CREATE A rec0000.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0001.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0002.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0003.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0004.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0005.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0006.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0007.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0008.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0009.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0010.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0011.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0012.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0013.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0014.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0015.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0016.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0017.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0018.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0019.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0020.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0021.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0022.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0023.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0024.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0025.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0026.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0027.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0028.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0029.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0030.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0031.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0032.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0033.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0034.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0035.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0036.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0037.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0038.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0039.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0040.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0041.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0042.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0043.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0044.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0045.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0046.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0047.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0048.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0049.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0050.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0051.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0052.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0053.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0054.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0055.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0056.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0057.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0058.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0059.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0060.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0061.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0062.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0063.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0064.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0065.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0066.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0067.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0068.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0069.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0070.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0071.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0072.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0073.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0074.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0075.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0076.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0077.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0078.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0079.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0080.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0081.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0082.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0083.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0084.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0085.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0086.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0087.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0088.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0089.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0090.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0091.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0092.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0093.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0094.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0095.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0096.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0097.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:220: CREATE A rec0098.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:239: Expected 0 corrections on second run, but found 99.
    integration_test.go:241: UNEXPECTED #0: CREATE A rec0000.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #1: CREATE A rec0001.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #2: CREATE A rec0002.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #3: CREATE A rec0003.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #4: CREATE A rec0004.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #5: CREATE A rec0005.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #6: CREATE A rec0006.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #7: CREATE A rec0007.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #8: CREATE A rec0008.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #9: CREATE A rec0009.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #10: CREATE A rec0010.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #11: CREATE A rec0011.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #12: CREATE A rec0012.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #13: CREATE A rec0013.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #14: CREATE A rec0014.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #15: CREATE A rec0015.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #16: CREATE A rec0016.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #17: CREATE A rec0017.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #18: CREATE A rec0018.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #19: CREATE A rec0019.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #20: CREATE A rec0020.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #21: CREATE A rec0021.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #22: CREATE A rec0022.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #23: CREATE A rec0023.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #24: CREATE A rec0024.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #25: CREATE A rec0025.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #26: CREATE A rec0026.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #27: CREATE A rec0027.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #28: CREATE A rec0028.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #29: CREATE A rec0029.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #30: CREATE A rec0030.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #31: CREATE A rec0031.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #32: CREATE A rec0032.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #33: CREATE A rec0033.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #34: CREATE A rec0034.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #35: CREATE A rec0035.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #36: CREATE A rec0036.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #37: CREATE A rec0037.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #38: CREATE A rec0038.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #39: CREATE A rec0039.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #40: CREATE A rec0040.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #41: CREATE A rec0041.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #42: CREATE A rec0042.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #43: CREATE A rec0043.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #44: CREATE A rec0044.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #45: CREATE A rec0045.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #46: CREATE A rec0046.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #47: CREATE A rec0047.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #48: CREATE A rec0048.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #49: CREATE A rec0049.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #50: CREATE A rec0050.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #51: CREATE A rec0051.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #52: CREATE A rec0052.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #53: CREATE A rec0053.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #54: CREATE A rec0054.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #55: CREATE A rec0055.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #56: CREATE A rec0056.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #57: CREATE A rec0057.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #58: CREATE A rec0058.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #59: CREATE A rec0059.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #60: CREATE A rec0060.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #61: CREATE A rec0061.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #62: CREATE A rec0062.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #63: CREATE A rec0063.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #64: CREATE A rec0064.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #65: CREATE A rec0065.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #66: CREATE A rec0066.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #67: CREATE A rec0067.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #68: CREATE A rec0068.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #69: CREATE A rec0069.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #70: CREATE A rec0070.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #71: CREATE A rec0071.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #72: CREATE A rec0072.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #73: CREATE A rec0073.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #74: CREATE A rec0074.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #75: CREATE A rec0075.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #76: CREATE A rec0076.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #77: CREATE A rec0077.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #78: CREATE A rec0078.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #79: CREATE A rec0079.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #80: CREATE A rec0080.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #81: CREATE A rec0081.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #82: CREATE A rec0082.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #83: CREATE A rec0083.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #84: CREATE A rec0084.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #85: CREATE A rec0085.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #86: CREATE A rec0086.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #87: CREATE A rec0087.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #88: CREATE A rec0088.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #89: CREATE A rec0089.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #90: CREATE A rec0090.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #91: CREATE A rec0091.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #92: CREATE A rec0092.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #93: CREATE A rec0093.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #94: CREATE A rec0094.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #95: CREATE A rec0095.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #96: CREATE A rec0096.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #97: CREATE A rec0097.oXXX.de 1.2.3.4 ttl=0
    integration_test.go:241: UNEXPECTED #98: CREATE A rec0098.oXXX.de 1.2.3.4 ttl=0
=== RUN   TestDNSProviders/oXXX.de/Post_cleanup:Empty#18
=== RUN   TestDNSProviders/oXXX.de/21:pager601_***SKIPPED(disabled_by_only)***:Empty
=== RUN   TestDNSProviders/oXXX.de/22:pager1201_***SKIPPED(disabled_by_only)***:Empty
=== RUN   TestDNSProviders/oXXX.de/23:CAA:CAA_record
    integration_test.go:220: CREATE CAA oXXX.de 0 issue "letsencrypt.org" ttl=0
    integration_test.go:239: Expected 0 corrections on second run, but found 1.
    integration_test.go:241: UNEXPECTED #0: CREATE CAA oXXX.de 0 issue "letsencrypt.org" ttl=0
=== RUN   TestDNSProviders/oXXX.de/Post_cleanup:Empty#19
=== RUN   TestDNSProviders/oXXX.de/24:CAA_with_;:CAA_many_records
    integration_test.go:220: CREATE CAA oXXX.de 0 issuewild ";" ttl=0
    integration_test.go:239: Expected 0 corrections on second run, but found 1.
    integration_test.go:241: UNEXPECTED #0: CREATE CAA oXXX.de 0 issuewild ";" ttl=0
=== RUN   TestDNSProviders/oXXX.de/Post_cleanup:Empty#20
=== RUN   TestDNSProviders/oXXX.de/25:Issue_1374:CAA_spaces
    integration_test.go:220: CREATE CAA oXXX.de 0 issue "letsencrypt.org; validationmethods=dns-01; accounturi=https://acme-v02.api.letsencrypt.org/acme/acct/1234" ttl=0
    integration_test.go:239: Expected 0 corrections on second run, but found 1.
    integration_test.go:241: UNEXPECTED #0: CREATE CAA oXXX.de 0 issue "letsencrypt.org; validationmethods=dns-01; accounturi=https://acme-v02.api.letsencrypt.org/acme/acct/1234" ttl=0
=== RUN   TestDNSProviders/oXXX.de/Post_cleanup:Empty#21
=== RUN   TestDNSProviders/oXXX.de/26:NAPTR_***SKIPPED(CanUseNAPTR_not_supported)***:Empty
=== RUN   TestDNSProviders/oXXX.de/27:PTR_***SKIPPED(CanUsePTR_not_supported)***:Empty
=== RUN   TestDNSProviders/oXXX.de/28:SOA_***SKIPPED(CanUseSOA_not_supported)***:Empty
=== RUN   TestDNSProviders/oXXX.de/29:SRV:SRV_record
    integration_test.go:220: CREATE SRV _sip._tcp.oXXX.de 5 6 7 foo.com. ttl=0
    integration_test.go:239: Expected 0 corrections on second run, but found 1.
    integration_test.go:241: UNEXPECTED #0: CREATE SRV _sip._tcp.oXXX.de 5 6 7 foo.com. ttl=0
=== RUN   TestDNSProviders/oXXX.de/Post_cleanup:Empty#22
=== RUN   TestDNSProviders/oXXX.de/30:SRV_w/_null_target:Null_Target
    integration_test.go:220: CREATE SRV _sip._tcp.oXXX.de 52 62 72 foo.com. ttl=0
    integration_test.go:220: CREATE SRV _sip._tcp.oXXX.de 15 65 75 . ttl=0
    integration_test.go:239: Expected 0 corrections on second run, but found 2.
    integration_test.go:241: UNEXPECTED #0: CREATE SRV _sip._tcp.oXXX.de 52 62 72 foo.com. ttl=0
    integration_test.go:241: UNEXPECTED #1: CREATE SRV _sip._tcp.oXXX.de 15 65 75 . ttl=0
=== RUN   TestDNSProviders/oXXX.de/Post_cleanup:Empty#23
=== RUN   TestDNSProviders/oXXX.de/31:SSHFP_***SKIPPED(CanUseSSHFP_not_supported)***:Empty
=== RUN   TestDNSProviders/oXXX.de/32:TLSA_***SKIPPED(CanUseTLSA_not_supported)***:Empty
=== RUN   TestDNSProviders/oXXX.de/33:DS_***SKIPPED(CanUseDS_not_supported)***:Empty
=== RUN   TestDNSProviders/oXXX.de/34:DS_(children_only)_***SKIPPED(CanUseDSForChildren_not_supported)***:Empty
=== RUN   TestDNSProviders/oXXX.de/35:DS_(children_only)_CLOUDNS_***SKIPPED(CanUseDSForChildren_not_supported)***:Empty
=== RUN   TestDNSProviders/oXXX.de/36:ALIAS_***SKIPPED(CanUseAlias_not_supported)***:Empty
=== RUN   TestDNSProviders/oXXX.de/37:AZURE_ALIAS_***SKIPPED(CanUseAzureAlias_not_supported)***:Empty
=== RUN   TestDNSProviders/oXXX.de/38:R53_ALIAS2_***SKIPPED(CanUseRoute53Alias_not_supported)***:Empty
=== RUN   TestDNSProviders/oXXX.de/39:R53_ALIAS_ORDER_***SKIPPED(CanUseRoute53Alias_not_supported)***:Empty
=== RUN   TestDNSProviders/oXXX.de/40:CF_REDIRECT_***SKIPPED(disabled_by_only)***:Empty
=== RUN   TestDNSProviders/oXXX.de/41:CF_PROXY_***SKIPPED(disabled_by_only)***:Empty
=== RUN   TestDNSProviders/oXXX.de/42:CF_WORKER_ROUTE_***SKIPPED(disabled_by_only)***:Empty
--- FAIL: TestDNSProviders (25.84s)
    --- FAIL: TestDNSProviders/oXXX.de (24.98s)
        --- PASS: TestDNSProviders/oXXX.de/Clean_Slate:Empty (0.25s)
        --- PASS: TestDNSProviders/oXXX.de/00:GeneralACD:Create_an_A_record (0.33s)
        --- PASS: TestDNSProviders/oXXX.de/00:GeneralACD:Change_it (0.32s)
        --- PASS: TestDNSProviders/oXXX.de/00:GeneralACD:Add_another (0.34s)
        --- PASS: TestDNSProviders/oXXX.de/00:GeneralACD:Add_another(same_name) (0.38s)
        --- FAIL: TestDNSProviders/oXXX.de/00:GeneralACD:Change_a_ttl (0.11s)
        --- PASS: TestDNSProviders/oXXX.de/Post_cleanup:Empty (0.59s)
        --- PASS: TestDNSProviders/oXXX.de/01:WildcardACD:Create_wildcard (0.46s)
        --- PASS: TestDNSProviders/oXXX.de/Post_cleanup:Empty#01 (0.37s)
        --- PASS: TestDNSProviders/oXXX.de/02:CNAME:Create_a_CNAME (0.31s)
        --- PASS: TestDNSProviders/oXXX.de/Post_cleanup:Empty#02 (0.23s)
        --- PASS: TestDNSProviders/oXXX.de/03:MX:MX_record (0.31s)
        --- PASS: TestDNSProviders/oXXX.de/Post_cleanup:Empty#03 (0.21s)
        --- PASS: TestDNSProviders/oXXX.de/04:Null_MX_***SKIPPED(excluded_by_not("NETCUP"))***:Empty (0.10s)
        --- PASS: TestDNSProviders/oXXX.de/05:NS_***SKIPPED(excluded_by_not("NETCUP"))***:Empty (0.08s)
        --- FAIL: TestDNSProviders/oXXX.de/06:IGNORE_NAME_function:Create_some_records (0.36s)
        --- PASS: TestDNSProviders/oXXX.de/Post_cleanup:Empty#04 (0.24s)
        --- FAIL: TestDNSProviders/oXXX.de/07:IGNORE_NAME_apex:Create_some_records (0.57s)
        --- PASS: TestDNSProviders/oXXX.de/Post_cleanup:Empty#05 (0.35s)
        --- PASS: TestDNSProviders/oXXX.de/08:IGNORE_TARGET_function:Create_some_records (0.45s)
        --- PASS: TestDNSProviders/oXXX.de/Post_cleanup:Empty#06 (0.38s)
        --- FAIL: TestDNSProviders/oXXX.de/09:simple_TXT:Create_a_TXT (0.25s)
        --- PASS: TestDNSProviders/oXXX.de/Post_cleanup:Empty#07 (0.08s)
        --- FAIL: TestDNSProviders/oXXX.de/10:simple_TXT-spf1:Create_a_TXT/SPF (0.28s)
        --- PASS: TestDNSProviders/oXXX.de/Post_cleanup:Empty#08 (0.12s)
        --- FAIL: TestDNSProviders/oXXX.de/11:long_TXT:Create_long_TXT (0.25s)
        --- PASS: TestDNSProviders/oXXX.de/Post_cleanup:Empty#09 (0.11s)
        --- SKIP: TestDNSProviders/oXXX.de/12:complex_TXT:TXT_with_0-octel_string (0.00s)
        --- PASS: TestDNSProviders/oXXX.de/Post_cleanup:Empty#10 (0.10s)
        --- FAIL: TestDNSProviders/oXXX.de/13:long_TXT:Create_a_505_TXT (0.25s)
        --- PASS: TestDNSProviders/oXXX.de/Post_cleanup:Empty#11 (0.08s)
        --- FAIL: TestDNSProviders/oXXX.de/14:TXTMulti:Create_TXTMulti_1 (0.26s)
        --- PASS: TestDNSProviders/oXXX.de/Post_cleanup:Empty#12 (0.09s)
        --- FAIL: TestDNSProviders/oXXX.de/15:TXTMulti-same:Create_TXTMulti_1 (0.24s)
        --- PASS: TestDNSProviders/oXXX.de/Post_cleanup:Empty#13 (0.10s)
        --- PASS: TestDNSProviders/oXXX.de/16:TypeChange:Create_a_CNAME (0.34s)
        --- PASS: TestDNSProviders/oXXX.de/Post_cleanup:Empty#14 (0.23s)
        --- PASS: TestDNSProviders/oXXX.de/17:Case_Sensitivity:Create_CAPS (0.33s)
        --- PASS: TestDNSProviders/oXXX.de/Post_cleanup:Empty#15 (0.22s)
        --- PASS: TestDNSProviders/oXXX.de/18:IDNA:Internationalized_name (0.34s)
        --- PASS: TestDNSProviders/oXXX.de/Post_cleanup:Empty#16 (0.21s)
        --- PASS: TestDNSProviders/oXXX.de/19:IDNAs_in_CNAME_targets:IDN_CNAME_AND_Target (0.29s)
        --- PASS: TestDNSProviders/oXXX.de/Post_cleanup:Empty#17 (0.24s)
        --- FAIL: TestDNSProviders/oXXX.de/20:pager101:99_records (11.55s)
        --- PASS: TestDNSProviders/oXXX.de/Post_cleanup:Empty#18 (0.05s)
        --- PASS: TestDNSProviders/oXXX.de/21:pager601_***SKIPPED(disabled_by_only)***:Empty (0.05s)
        --- PASS: TestDNSProviders/oXXX.de/22:pager1201_***SKIPPED(disabled_by_only)***:Empty (0.05s)
        --- FAIL: TestDNSProviders/oXXX.de/23:CAA:CAA_record (0.20s)
        --- PASS: TestDNSProviders/oXXX.de/Post_cleanup:Empty#19 (0.05s)
        --- FAIL: TestDNSProviders/oXXX.de/24:CAA_with_;:CAA_many_records (0.19s)
        --- PASS: TestDNSProviders/oXXX.de/Post_cleanup:Empty#20 (0.06s)
        --- FAIL: TestDNSProviders/oXXX.de/25:Issue_1374:CAA_spaces (0.17s)
        --- PASS: TestDNSProviders/oXXX.de/Post_cleanup:Empty#21 (0.07s)
        --- PASS: TestDNSProviders/oXXX.de/26:NAPTR_***SKIPPED(CanUseNAPTR_not_supported)***:Empty (0.05s)
        --- PASS: TestDNSProviders/oXXX.de/27:PTR_***SKIPPED(CanUsePTR_not_supported)***:Empty (0.06s)
        --- PASS: TestDNSProviders/oXXX.de/28:SOA_***SKIPPED(CanUseSOA_not_supported)***:Empty (0.06s)
        --- FAIL: TestDNSProviders/oXXX.de/29:SRV:SRV_record (0.17s)
        --- PASS: TestDNSProviders/oXXX.de/Post_cleanup:Empty#22 (0.06s)
        --- FAIL: TestDNSProviders/oXXX.de/30:SRV_w/_null_target:Null_Target (0.25s)
        --- PASS: TestDNSProviders/oXXX.de/Post_cleanup:Empty#23 (0.08s)
        --- PASS: TestDNSProviders/oXXX.de/31:SSHFP_***SKIPPED(CanUseSSHFP_not_supported)***:Empty (0.06s)
        --- PASS: TestDNSProviders/oXXX.de/32:TLSA_***SKIPPED(CanUseTLSA_not_supported)***:Empty (0.06s)
        --- PASS: TestDNSProviders/oXXX.de/33:DS_***SKIPPED(CanUseDS_not_supported)***:Empty (0.05s)
        --- PASS: TestDNSProviders/oXXX.de/34:DS_(children_only)_***SKIPPED(CanUseDSForChildren_not_supported)***:Empty (0.05s)
        --- PASS: TestDNSProviders/oXXX.de/35:DS_(children_only)_CLOUDNS_***SKIPPED(CanUseDSForChildren_not_supported)***:Empty (0.06s)
        --- PASS: TestDNSProviders/oXXX.de/36:ALIAS_***SKIPPED(CanUseAlias_not_supported)***:Empty (0.06s)
        --- PASS: TestDNSProviders/oXXX.de/37:AZURE_ALIAS_***SKIPPED(CanUseAzureAlias_not_supported)***:Empty (0.05s)
        --- PASS: TestDNSProviders/oXXX.de/38:R53_ALIAS2_***SKIPPED(CanUseRoute53Alias_not_supported)***:Empty (0.05s)
        --- PASS: TestDNSProviders/oXXX.de/39:R53_ALIAS_ORDER_***SKIPPED(CanUseRoute53Alias_not_supported)***:Empty (0.06s)
        --- PASS: TestDNSProviders/oXXX.de/40:CF_REDIRECT_***SKIPPED(disabled_by_only)***:Empty (0.05s)
        --- PASS: TestDNSProviders/oXXX.de/41:CF_PROXY_***SKIPPED(disabled_by_only)***:Empty (0.05s)
        --- PASS: TestDNSProviders/oXXX.de/42:CF_WORKER_ROUTE_***SKIPPED(disabled_by_only)***:Empty (0.06s)
=== RUN   TestDualProviders
    integration_test.go:312: Skipping.  DocDualHost == Cannot
--- SKIP: TestDualProviders (0.06s)
FAIL
exit status 1
FAIL	github.com/StackExchange/dnscontrol/v3/integrationTest	25.942s

Co-authored-by: Tom Limoncelli <tlimoncelli@stackoverflow.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants