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

Request for testing: GetZoneRecords() refactor #2214

Closed
29 of 41 tasks
tlimoncelli opened this issue Mar 22, 2023 · 49 comments · Fixed by #2120
Closed
29 of 41 tasks

Request for testing: GetZoneRecords() refactor #2214

tlimoncelli opened this issue Mar 22, 2023 · 49 comments · Fixed by #2120

Comments

@tlimoncelli
Copy link
Contributor

tlimoncelli commented Mar 22, 2023

Hi maintainers!

I need your help! Please test this pre-release. I moved a lot of code around. It shouldn't have broken anything but I'd like your testing to be sure. I would appreciate it if your testing could be done by April 13, 2023.

This is a big PR (#2120) and needs extra testing by the provider maintainers and anyone else interested.

  • Problem: The interface (signature) of the functions involved in making corrections is broken. There are two different ways corrections are done, the signature for GetDomainCorrections() relies on side effects, and the names are confusing. As proof: Some providers are implemented wrkong... as a result they download the DNS records twice.
  • Solution: Providers should simply implement GetZoneRecords() (download the DNS records) and GetZoneRecordsCorrections() (takes the existing and desired records, returns the corrections). This way there is one way to do things, the signatures don't require side effects, and the names are consistent.

Speaking of consistent names, in the future anything that DNSControl corrects will require two functions: If it manages FOO, the functions will be GetFOO() and GetFOOCorrections(). In the future I'll do some global renames related to this.

If you'd like to see the exact change, the PR is #2120

Please test this release:

  1. Get the code and compile:
$ git pull
$ git checkout tlim_corrector
$ go install

NOTE: Previously this suggested using the "v3.30.0test" tag. I changed it to the "tlim_corrector" branch because the tag seems to be not updating properly.

Run the integration test (replace NAMEDOTCOM with your provider)

$ cd integrationTest/
$ grep NAMEDOTCOM providers.json
  "NAMEDOTCOM": {
    "TYPE": "NAMEDOTCOM",
    "apikey": "$NAMEDOTCOM_KEY",
    "apiurl": "$NAMEDOTCOM_URL",
    "apiuser": "$NAMEDOTCOM_USER",
    "domain": "$NAMEDOTCOM_DOMAIN"
$ export NAMEDOTCOM_KEY='redacted'
$ export NAMEDOTCOM_USER='redacted'
$ export NAMEDOTCOM_DOMAIN='test-domain.com'
$ go test -v -verbose -provider NAMEDOTCOM 
$ go test -v -verbose -provider NAMEDOTCOM -diff2

Test it on your production configuration:

$ cd (to where I keep my dnsconfig.js)
$ dnscontrol preview
$ dnscontrol --diff2 preview

If all of that works, please consider making real changes using --diff2 push

Project status

I would appreciate it if people could complete these tests by April 14 (3+ weeks). Thanks!

@tlimoncelli
Copy link
Contributor Author

Note to @vatsalyagoel @tresni @Deraen @riyadhalnur @KaiSchwarz-cnic @jpbede: I've checked your providers off because your provider passed the automated tests. However I would appreciate you testing preview in your production environment to be sure there aren't any problems that aren't covered by the integration tests.

@riku22
Copy link
Contributor

riku22 commented Mar 22, 2023

Hello.

When I run git checkout v3.30.0test after git pull, I get the error error: pathspec 'v3.30.0test' did not match any file(s) known to git.
I don't think there is such a tag.
Am i doing something wrong?

@tlimoncelli
Copy link
Contributor Author

@riku22 Ah, I typed the wrong git command. Please try again. Thanks!

@systemcrash
Copy link
Contributor

@tlimoncelli Favour: could you ask testers also to verify whether the new LOC record works for them (update the .Can() and submit Pr if so) 😄

@riku22
Copy link
Contributor

riku22 commented Mar 22, 2023

LuaDNS integration tests passed.

Integration test result
--- PASS: TestDNSProviders (310.59s)
    --- PASS: TestDNSProviders/riku22-dnscontrol.com (309.27s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/Clean_Slate:Empty (3.13s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/00:A:Create_A (1.34s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/00:A:Change_A_target (1.32s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/Post_cleanup:Empty (0.87s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/01:Attl:Create_Arc (1.33s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/01:Attl:Change_TTL (1.33s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/Post_cleanup:Empty#01 (0.88s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/02:MX:Create_MX (1.31s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/02:MX:Change_MX_target (1.31s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/02:MX:Change_MX_p (1.33s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/Post_cleanup:Empty#02 (0.88s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/03:CNAME:Create_a_CNAME (1.33s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/03:CNAME:Change_CNAME_target (1.31s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/Post_cleanup:Empty#03 (0.89s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/04:ManyAtOne:CreateManyAtLabel (2.22s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/04:ManyAtOne:Empty (1.76s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/04:ManyAtOne:Create_an_A_record (1.32s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/04:ManyAtOne:Add_at_label1 (1.33s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/04:ManyAtOne:Add_at_label2 (1.34s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/Post_cleanup:Empty#04 (1.78s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/05:manyAtOneTypes:CreateManyTypesAtLabel (2.23s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/05:manyAtOneTypes:Empty (1.79s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/05:manyAtOneTypes:Create_an_A_record (1.32s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/05:manyAtOneTypes:Add_Type_At_Label (1.33s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/05:manyAtOneTypes:Add_Type_At_Label#01 (1.33s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/Post_cleanup:Empty#05 (1.78s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/06:Apex:Create_A (1.34s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/06:Apex:Change_A_target (1.31s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/Post_cleanup:Empty#06 (0.87s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/07:TTL:Start (2.29s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/07:TTL:Change_a_ttl (1.32s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/07:TTL:Change_single_target_from_set (1.31s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/07:TTL:Change_all_ttls (2.19s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/Post_cleanup:Empty#07 (1.74s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/08:add_to_label_and_change_orig_ttl:Setup (1.33s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/08:add_to_label_and_change_orig_ttl:Add_at_same_label,_new_ttl (1.80s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/Post_cleanup:Empty#08 (1.32s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/09:Protocol-Wildcard:Create_wildcard (1.79s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/09:Protocol-Wildcard:Delete_wildcard (1.31s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/Post_cleanup:Empty#09 (0.89s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/10:TypeChange:Create_a_CNAME (1.36s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/10:TypeChange:Change_to_A_record (1.78s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/10:TypeChange:Change_back_to_CNAME (1.75s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/Post_cleanup:Empty#10 (0.88s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/11:CommonDNS:Create_1_of_each (2.23s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/11:CommonDNS:Change_param1 (2.28s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/11:CommonDNS:Change_param2 (1.33s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/Post_cleanup:Empty#11 (1.78s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/12:CNAME:Record_pointing_to_@ (1.31s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/Post_cleanup:Empty#12 (0.89s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/13:MX:Record_pointing_to_@ (1.33s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/13:MX:Null_MX (1.78s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/Post_cleanup:Empty#13 (0.96s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/14:NS:NS_for_subdomain (1.42s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/14:NS:Dual_NS_for_subdomain (1.39s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/14:NS:NS_Record_pointing_to_@ (2.73s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/Post_cleanup:Empty#14 (1.38s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/15:complex_TXT:TXT_with_1_single-quote (1.35s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/15:complex_TXT:TXT_with_1_backtick (1.98s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/15:complex_TXT:TXT_with_1_double-quotes (1.78s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/15:complex_TXT:TXT_with_2_double-quotes (1.77s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/15:complex_TXT:a_TXT_with_interior_ws (1.77s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/15:complex_TXT:TXT_with_ws_at_end (1.75s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/Post_cleanup:Empty#15 (0.88s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/16:Case_Sensitivity:Create_CAPS (1.32s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/16:Case_Sensitivity:Downcase_label (1.32s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/16:Case_Sensitivity:Downcase_target (1.31s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/16:Case_Sensitivity:Upcase_both (1.34s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/Post_cleanup:Empty#16 (1.33s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/17:testByLabel:initial (1.83s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/17:testByLabel:changeOne (1.35s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/17:testByLabel:deleteOne (1.33s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/17:testByLabel:addOne (1.36s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/Post_cleanup:Empty#17 (1.33s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/18:testByRecordSet:initial (3.27s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/18:testByRecordSet:changeOne (1.32s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/18:testByRecordSet:deleteOne (1.32s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/18:testByRecordSet:addOne (1.33s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/Post_cleanup:Empty#18 (2.65s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/19:IDNA:Internationalized_name (1.33s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/19:IDNA:Change_IDN (1.32s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/19:IDNA:Internationalized_CNAME_Target (1.77s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/Post_cleanup:Empty#19 (0.90s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/20:IDNAs_in_CNAME_targets:IDN_CNAME_AND_Target (1.33s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/Post_cleanup:Empty#20 (0.92s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/21:pager101:99_records (46.35s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/21:pager101:100_records (1.35s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/21:pager101:101_records (1.95s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/Post_cleanup:Empty#21 (47.32s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/22:pager601_***SKIPPED(disabled_by_only)***:Empty (0.46s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/23:pager1201_***SKIPPED(disabled_by_only)***:Empty (0.44s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/24:NS1_URLFWD_tests_***SKIPPED(disabled_by_only)***:Empty (0.43s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/25:CAA:CAA_record (1.33s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/25:CAA:CAA_change_tag (1.32s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/25:CAA:CAA_change_target (1.32s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/25:CAA:CAA_change_flag (1.33s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/25:CAA:CAA_many_records (1.34s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/25:CAA:CAA_whitespace (1.37s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/Post_cleanup:Empty#22 (0.88s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/26:NAPTR_***SKIPPED(CanUseNAPTR_not_supported)***:Empty (0.44s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/27:PTR:Create_PTR_record (1.37s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/27:PTR:Modify_PTR_record (1.33s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/Post_cleanup:Empty#23 (0.89s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/28:SOA_***SKIPPED(CanUseSOA_not_supported)***:Empty (0.44s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/29:SRV:SRV_record (1.33s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/29:SRV:Second_SRV_record,_same_prio (1.32s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/29:SRV:3_SRV (1.33s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/29:SRV:Delete_one (1.33s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/29:SRV:Change_Target (1.33s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/29:SRV:Change_Priority (1.34s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/29:SRV:Change_Weight (1.31s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/29:SRV:Change_Port (1.33s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/29:SRV:Empty (1.34s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/29:SRV:Null_Target (1.34s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/Post_cleanup:Empty#24 (0.88s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/30:SRV:Create_SRV333 (1.33s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/30:SRV:Change_TTL999 (1.34s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/Post_cleanup:Empty#25 (0.88s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/31:SSHFP:SSHFP_record (1.38s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/31:SSHFP:SSHFP_change_algorithm (1.33s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/31:SSHFP:SSHFP_change_fingerprint_and_type (1.36s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/Post_cleanup:Empty#26 (0.88s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/32:TLSA:TLSA_record (1.31s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/32:TLSA:TLSA_change_usage (1.32s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/32:TLSA:TLSA_change_selector (1.33s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/32:TLSA:TLSA_change_matchingtype (1.32s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/32:TLSA:TLSA_change_certificate (1.35s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/Post_cleanup:Empty#27 (0.89s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/33:DS_***SKIPPED(CanUseDS_not_supported)***:Empty (0.45s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/34:DS_(children_only)_***SKIPPED(CanUseDSForChildren_not_supported)***:Empty (0.45s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/35:DS_(children_only)_CLOUDNS_***SKIPPED(CanUseDSForChildren_not_supported)***:Empty (0.43s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/36:ALIAS:ALIAS_at_root (1.43s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/36:ALIAS:change_it (1.33s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/36:ALIAS:ALIAS_at_subdomain (1.90s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/36:ALIAS:change_it#01 (1.33s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/Post_cleanup:Empty#28 (0.88s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/37:AZURE_ALIAS_A_***SKIPPED(CanUseAzureAlias_not_supported)***:Empty (0.44s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/38:AZURE_ALIAS_CNAME_***SKIPPED(CanUseAzureAlias_not_supported)***:Empty (0.44s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/39:R53_ALIAS2_***SKIPPED(CanUseRoute53Alias_not_supported)***:Empty (0.44s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/40:R53_ALIAS_ORDER_***SKIPPED(CanUseRoute53Alias_not_supported)***:Empty (0.43s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/41:R53_ALIAS_CNAME_***SKIPPED(CanUseRoute53Alias_not_supported)***:Empty (0.44s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/42:R53_ALIAS_Loop_***SKIPPED(CanUseRoute53Alias_not_supported)***:Empty (0.44s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/43:CF_REDIRECT_***SKIPPED(disabled_by_only)***:Empty (0.43s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/44:CF_PROXY_***SKIPPED(disabled_by_only)***:Empty (0.44s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/45:CF_WORKER_ROUTE_***SKIPPED(disabled_by_only)***:Empty (0.44s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/46:IGNORE_NAME_function:Create_some_records (1.78s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/46:IGNORE_NAME_function:Add_a_new_record_-_ignoring_foo (2.21s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/46:IGNORE_NAME_function:Empty (0.88s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/46:IGNORE_NAME_function:Create_some_records#01 (1.84s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/46:IGNORE_NAME_function:Add_a_new_record_-_ignoring_*.foo (2.24s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/Post_cleanup:Empty#29 (0.88s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/47:IGNORE_NAME_apex:Create_some_records (2.93s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/47:IGNORE_NAME_apex:Add_a_new_record_-_ignoring_apex (2.46s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/Post_cleanup:Empty#30 (1.78s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/48:IGNORE_TARGET_function:Create_some_records (1.78s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/48:IGNORE_TARGET_function:Add_a_new_record_-_ignoring_test.foo.com. (1.33s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/48:IGNORE_TARGET_function:Empty (1.32s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/48:IGNORE_TARGET_function:Create_some_records#01 (1.79s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/48:IGNORE_TARGET_function:Add_a_new_record_-_ignoring_**.foo.com._targets (1.78s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/Post_cleanup:Empty#31 (1.32s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/49:LOC_***SKIPPED(CanUseLOC_not_supported)***:Empty (0.44s)
--- PASS: TestDualProviders (3.09s)
PASS
ok  	github.com/StackExchange/dnscontrol/v3/integrationTest	314.291s
Diff2 integration test result
--- PASS: TestDNSProviders (313.41s)
    --- PASS: TestDNSProviders/riku22-dnscontrol.com (312.24s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/Clean_Slate:Empty (1.39s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/00:A:Create_A (1.35s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/00:A:Change_A_target (1.35s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/Post_cleanup:Empty (0.89s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/01:Attl:Create_Arc (1.35s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/01:Attl:Change_TTL (1.34s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/Post_cleanup:Empty#01 (0.91s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/02:MX:Create_MX (1.36s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/02:MX:Change_MX_target (1.34s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/02:MX:Change_MX_p (1.34s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/Post_cleanup:Empty#02 (0.90s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/03:CNAME:Create_a_CNAME (1.35s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/03:CNAME:Change_CNAME_target (1.34s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/Post_cleanup:Empty#03 (0.89s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/04:ManyAtOne:CreateManyAtLabel (2.30s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/04:ManyAtOne:Empty (1.83s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/04:ManyAtOne:Create_an_A_record (1.37s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/04:ManyAtOne:Add_at_label1 (1.34s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/04:ManyAtOne:Add_at_label2 (1.38s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/Post_cleanup:Empty#04 (1.85s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/05:manyAtOneTypes:CreateManyTypesAtLabel (2.26s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/05:manyAtOneTypes:Empty (1.80s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/05:manyAtOneTypes:Create_an_A_record (1.36s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/05:manyAtOneTypes:Add_Type_At_Label (1.37s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/05:manyAtOneTypes:Add_Type_At_Label#01 (1.34s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/Post_cleanup:Empty#05 (1.81s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/06:Apex:Create_A (1.38s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/06:Apex:Change_A_target (1.35s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/Post_cleanup:Empty#06 (0.91s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/07:TTL:Start (2.28s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/07:TTL:Change_a_ttl (1.38s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/07:TTL:Change_single_target_from_set (1.34s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/07:TTL:Change_all_ttls (2.25s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/Post_cleanup:Empty#07 (1.85s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/08:add_to_label_and_change_orig_ttl:Setup (1.36s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/08:add_to_label_and_change_orig_ttl:Add_at_same_label,_new_ttl (1.83s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/Post_cleanup:Empty#08 (1.34s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/09:Protocol-Wildcard:Create_wildcard (1.81s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/09:Protocol-Wildcard:Delete_wildcard (1.34s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/Post_cleanup:Empty#09 (0.89s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/10:TypeChange:Create_a_CNAME (1.35s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/10:TypeChange:Change_to_A_record (1.79s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/10:TypeChange:Change_back_to_CNAME (1.82s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/Post_cleanup:Empty#10 (0.91s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/11:CommonDNS:Create_1_of_each (2.31s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/11:CommonDNS:Change_param1 (2.35s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/11:CommonDNS:Change_param2 (1.35s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/Post_cleanup:Empty#11 (1.83s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/12:CNAME:Record_pointing_to_@ (1.33s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/Post_cleanup:Empty#12 (0.88s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/13:MX:Record_pointing_to_@ (1.33s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/13:MX:Null_MX (2.07s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/Post_cleanup:Empty#13 (0.90s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/14:NS:NS_for_subdomain (1.34s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/14:NS:Dual_NS_for_subdomain (1.34s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/14:NS:NS_Record_pointing_to_@ (2.71s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/Post_cleanup:Empty#14 (1.36s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/15:complex_TXT:TXT_with_1_single-quote (1.35s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/15:complex_TXT:TXT_with_1_backtick (1.83s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/15:complex_TXT:TXT_with_1_double-quotes (1.82s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/15:complex_TXT:TXT_with_2_double-quotes (1.80s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/15:complex_TXT:a_TXT_with_interior_ws (1.89s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/15:complex_TXT:TXT_with_ws_at_end (1.80s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/Post_cleanup:Empty#15 (0.89s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/16:Case_Sensitivity:Create_CAPS (1.34s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/16:Case_Sensitivity:Downcase_label (1.34s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/16:Case_Sensitivity:Downcase_target (1.34s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/16:Case_Sensitivity:Upcase_both (1.34s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/Post_cleanup:Empty#16 (1.35s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/17:testByLabel:initial (1.85s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/17:testByLabel:changeOne (1.35s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/17:testByLabel:deleteOne (1.39s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/17:testByLabel:addOne (1.33s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/Post_cleanup:Empty#17 (1.34s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/18:testByRecordSet:initial (3.28s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/18:testByRecordSet:changeOne (1.35s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/18:testByRecordSet:deleteOne (1.35s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/18:testByRecordSet:addOne (1.35s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/Post_cleanup:Empty#18 (2.74s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/19:IDNA:Internationalized_name (1.45s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/19:IDNA:Change_IDN (1.36s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/19:IDNA:Internationalized_CNAME_Target (1.79s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/Post_cleanup:Empty#19 (0.90s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/20:IDNAs_in_CNAME_targets:IDN_CNAME_AND_Target (1.40s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/Post_cleanup:Empty#20 (0.90s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/21:pager101:99_records (47.53s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/21:pager101:100_records (1.36s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/21:pager101:101_records (1.35s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/Post_cleanup:Empty#21 (47.66s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/22:pager601_***SKIPPED(disabled_by_only)***:Empty (0.44s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/23:pager1201_***SKIPPED(disabled_by_only)***:Empty (0.44s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/24:NS1_URLFWD_tests_***SKIPPED(disabled_by_only)***:Empty (0.44s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/25:CAA:CAA_record (1.35s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/25:CAA:CAA_change_tag (1.35s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/25:CAA:CAA_change_target (1.36s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/25:CAA:CAA_change_flag (1.35s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/25:CAA:CAA_many_records (1.36s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/25:CAA:CAA_whitespace (1.33s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/Post_cleanup:Empty#22 (0.89s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/26:NAPTR_***SKIPPED(CanUseNAPTR_not_supported)***:Empty (0.45s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/27:PTR:Create_PTR_record (1.33s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/27:PTR:Modify_PTR_record (1.43s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/Post_cleanup:Empty#23 (0.90s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/28:SOA_***SKIPPED(CanUseSOA_not_supported)***:Empty (0.45s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/29:SRV:SRV_record (1.46s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/29:SRV:Second_SRV_record,_same_prio (1.46s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/29:SRV:3_SRV (1.58s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/29:SRV:Delete_one (1.35s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/29:SRV:Change_Target (1.34s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/29:SRV:Change_Priority (1.34s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/29:SRV:Change_Weight (1.35s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/29:SRV:Change_Port (1.35s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/29:SRV:Empty (1.37s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/29:SRV:Null_Target (1.34s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/Post_cleanup:Empty#24 (0.91s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/30:SRV:Create_SRV333 (1.35s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/30:SRV:Change_TTL999 (1.35s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/Post_cleanup:Empty#25 (0.89s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/31:SSHFP:SSHFP_record (1.38s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/31:SSHFP:SSHFP_change_algorithm (1.36s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/31:SSHFP:SSHFP_change_fingerprint_and_type (1.37s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/Post_cleanup:Empty#26 (0.90s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/32:TLSA:TLSA_record (1.36s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/32:TLSA:TLSA_change_usage (1.35s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/32:TLSA:TLSA_change_selector (1.33s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/32:TLSA:TLSA_change_matchingtype (1.36s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/32:TLSA:TLSA_change_certificate (1.35s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/Post_cleanup:Empty#27 (0.89s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/33:DS_***SKIPPED(CanUseDS_not_supported)***:Empty (0.45s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/34:DS_(children_only)_***SKIPPED(CanUseDSForChildren_not_supported)***:Empty (0.45s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/35:DS_(children_only)_CLOUDNS_***SKIPPED(CanUseDSForChildren_not_supported)***:Empty (0.44s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/36:ALIAS:ALIAS_at_root (1.53s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/36:ALIAS:change_it (1.34s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/36:ALIAS:ALIAS_at_subdomain (1.89s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/36:ALIAS:change_it#01 (1.34s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/Post_cleanup:Empty#28 (0.89s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/37:AZURE_ALIAS_A_***SKIPPED(CanUseAzureAlias_not_supported)***:Empty (0.45s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/38:AZURE_ALIAS_CNAME_***SKIPPED(CanUseAzureAlias_not_supported)***:Empty (0.44s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/39:R53_ALIAS2_***SKIPPED(CanUseRoute53Alias_not_supported)***:Empty (0.44s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/40:R53_ALIAS_ORDER_***SKIPPED(CanUseRoute53Alias_not_supported)***:Empty (0.45s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/41:R53_ALIAS_CNAME_***SKIPPED(CanUseRoute53Alias_not_supported)***:Empty (0.44s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/42:R53_ALIAS_Loop_***SKIPPED(CanUseRoute53Alias_not_supported)***:Empty (0.45s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/43:CF_REDIRECT_***SKIPPED(disabled_by_only)***:Empty (0.44s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/44:CF_PROXY_***SKIPPED(disabled_by_only)***:Empty (0.44s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/45:CF_WORKER_ROUTE_***SKIPPED(disabled_by_only)***:Empty (0.45s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/46:IGNORE_NAME_function:Create_some_records (1.78s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/46:IGNORE_NAME_function:Add_a_new_record_-_ignoring_foo (2.26s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/46:IGNORE_NAME_function:Empty (0.88s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/46:IGNORE_NAME_function:Create_some_records#01 (1.90s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/46:IGNORE_NAME_function:Add_a_new_record_-_ignoring_*.foo (2.25s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/Post_cleanup:Empty#29 (0.90s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/47:IGNORE_NAME_apex:Create_some_records (2.73s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/47:IGNORE_NAME_apex:Add_a_new_record_-_ignoring_apex (2.27s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/Post_cleanup:Empty#30 (1.82s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/48:IGNORE_TARGET_function:Create_some_records (1.80s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/48:IGNORE_TARGET_function:Add_a_new_record_-_ignoring_test.foo.com. (1.91s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/48:IGNORE_TARGET_function:Empty (0.89s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/48:IGNORE_TARGET_function:Create_some_records#01 (1.84s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/48:IGNORE_TARGET_function:Add_a_new_record_-_ignoring_**.foo.com._targets (2.29s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/Post_cleanup:Empty#31 (0.91s)
        --- PASS: TestDNSProviders/riku22-dnscontrol.com/49:LOC_***SKIPPED(CanUseLOC_not_supported)***:Empty (0.44s)
--- PASS: TestDualProviders (3.19s)
PASS
ok  	github.com/StackExchange/dnscontrol/v3/integrationTest	316.696s

@systemcrash
Copy link
Contributor

systemcrash commented Mar 22, 2023

✅ Loopia - cd integrationtests; go test -v -verbose -provider LOOPIA -timeout 3600s

One test 🟡

integration
=== RUN   TestDNSProviders/example.com/18:testByRecordSet:initial
    integration_test.go:224:
        + CREATE A bar.example.com 1.2.3.4 ttl=300
    integration_test.go:224:
        + CREATE A foo.example.com 2.3.4.5 ttl=300
    integration_test.go:224:
        + CREATE A foo.example.com 3.4.5.6 ttl=300
    integration_test.go:224:
        + CREATE MX foo.example.com 10 foo.example.com. ttl=300
    integration_test.go:224:
        + CREATE MX foo.example.com 20 bar.example.com. ttl=300
    integration_test.go:243: Expected 0 corrections on second run, but found 2.
    integration_test.go:245: UNEXPECTED #0: ± MODIFY MX foo.example.com: (10 foo ttl=300) -> (10 foo.example.com. ttl=300)
    integration_test.go:245: UNEXPECTED #1: ± MODIFY MX foo.example.com: (20 bar ttl=300) -> (20 bar.example.com. ttl=300)

✅ Loopia - cd integrationtests; go test -v -verbose -provider LOOPIA -diff2 -timeout 3600s

One test 🟡

diff2 integration
=== RUN   TestDNSProviders/example.com/18:testByRecordSet:initial
    integration_test.go:223:
        + CREATE A bar.example.com 1.2.3.4 ttl=300
    integration_test.go:223:
        + CREATE A foo.example.com 2.3.4.5 ttl=300
    integration_test.go:223:
        + CREATE A foo.example.com 3.4.5.6 ttl=300
    integration_test.go:223:
        + CREATE MX foo.example.com 10 foo.example.com. ttl=300
    integration_test.go:223:
        + CREATE MX foo.example.com 20 bar.example.com. ttl=300
    integration_test.go:242: Expected 0 corrections on second run, but found 2.
    integration_test.go:244: UNEXPECTED #0: ± MODIFY MX foo.example.com: (10 foo ttl=300) -> (10 foo.example.com. ttl=300)
    integration_test.go:244: UNEXPECTED #1: ± MODIFY MX foo.example.com: (20 bar ttl=300) -> (20 bar.example.com. ttl=300)

Pretty sure this case was weird before your work.

✅ Loopia - preview+push

$ cd (to where I keep my dnsconfig.js)
$ dnscontrol preview
$ dnscontrol --diff2 preview
$ dnscontrol --diff2 push

@tlimoncelli
Copy link
Contributor Author

@tlimoncelli Favour: could you ask testers also to verify whether the new LOC record works for them (update the .Can() and submit Pr if so) 😄

Hey folks! This might be a good chance to see if the new LOC record is supported!

@xddxdd
Copy link
Contributor

xddxdd commented Mar 23, 2023

Passes all tests for Gcore provider. Tested with diff2 on/off, and with integration test and my own config.

@kallsyms
Copy link
Contributor

Integration tests pass for oracle (both with and without -diff2). Looks like LOC is broken server-side though, so can't enable it :(

@tlimoncelli
Copy link
Contributor Author

✅ Loopia - cd integrationtests; go test -v -verbose -provider LOOPIA -timeout 3600s

One test 🟡

Both of those tests look like the same issue. It is trying to change "foo" to "foo.example.com.". My guess is somewhere there should be a loop that turns all the targets for MX, CNAME, NS (and possibly others) from shortnames to FQDNs.

Let me know how I can help!

@rblenkinsopp
Copy link
Contributor

Integration tests for HEDNS all pass (diff & diff2) except Single_LOC_record which is resolved by #2216.

@jpbede
Copy link
Contributor

jpbede commented Mar 23, 2023

However I would appreciate you testing preview in your production environment to be sure there aren't any problems that aren't covered by the integration tests.

PowerDNS works in production.

@blackshadev
Copy link
Contributor

blackshadev commented Mar 24, 2023

Works in production. No new failures between master and the new branch.

I did find the integration tests failing which seems like a change on transIP there behalve and unrelated to your changes.

Do note: the new tag v3.30.0test is not available. I used the branch of the PR.

@svernick
Copy link
Contributor

svernick commented Mar 24, 2023 via email

@willpower232
Copy link
Contributor

Alas it is not looking good for namecheap

go test -v -verbose -provider NAMECHEAP

result
--- FAIL: TestDNSProviders (189.93s)
    --- FAIL: TestDNSProviders/willpower232testsdnscontrol.com (189.93s)
        --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/Clean_Slate:Empty (1.04s)
        --- FAIL: TestDNSProviders/willpower232testsdnscontrol.com/00:A:Create_A (1.17s)
        --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/Post_cleanup:Empty (0.62s)
        --- FAIL: TestDNSProviders/willpower232testsdnscontrol.com/01:Attl:Create_Arc (0.86s)
        --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/Post_cleanup:Empty#01 (0.79s)
        --- FAIL: TestDNSProviders/willpower232testsdnscontrol.com/02:MX:Create_MX (0.90s)
        --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/Post_cleanup:Empty#02 (0.61s)
        --- FAIL: TestDNSProviders/willpower232testsdnscontrol.com/03:CNAME:Create_a_CNAME (0.92s)
        --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/Post_cleanup:Empty#03 (0.59s)
        --- FAIL: TestDNSProviders/willpower232testsdnscontrol.com/04:ManyAtOne:CreateManyAtLabel (0.87s)
        --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/Post_cleanup:Empty#04 (0.61s)
        --- FAIL: TestDNSProviders/willpower232testsdnscontrol.com/05:manyAtOneTypes:CreateManyTypesAtLabel (0.90s)
        --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/Post_cleanup:Empty#05 (0.60s)
        --- FAIL: TestDNSProviders/willpower232testsdnscontrol.com/06:Apex:Create_A (0.94s)
        --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/Post_cleanup:Empty#06 (0.62s)
        --- FAIL: TestDNSProviders/willpower232testsdnscontrol.com/07:TTL:Start (1.15s)
        --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/Post_cleanup:Empty#07 (0.74s)
        --- FAIL: TestDNSProviders/willpower232testsdnscontrol.com/08:add_to_label_and_change_orig_ttl:Setup (0.90s)
        --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/Post_cleanup:Empty#08 (0.60s)
        --- FAIL: TestDNSProviders/willpower232testsdnscontrol.com/09:Protocol-Wildcard:Create_wildcard (0.89s)
        --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/Post_cleanup:Empty#09 (47.27s)
        --- FAIL: TestDNSProviders/willpower232testsdnscontrol.com/10:TypeChange:Create_a_CNAME (0.89s)
        --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/Post_cleanup:Empty#10 (0.60s)
        --- FAIL: TestDNSProviders/willpower232testsdnscontrol.com/11:CommonDNS:Create_1_of_each (1.23s)
        --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/Post_cleanup:Empty#11 (0.60s)
        --- FAIL: TestDNSProviders/willpower232testsdnscontrol.com/12:CNAME:Record_pointing_to_@ (0.87s)
        --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/Post_cleanup:Empty#12 (0.60s)
        --- FAIL: TestDNSProviders/willpower232testsdnscontrol.com/13:MX:Record_pointing_to_@ (0.92s)
        --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/Post_cleanup:Empty#13 (0.60s)
        --- FAIL: TestDNSProviders/willpower232testsdnscontrol.com/14:NS:NS_for_subdomain (0.89s)
        --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/Post_cleanup:Empty#14 (0.63s)
        --- FAIL: TestDNSProviders/willpower232testsdnscontrol.com/15:complex_TXT:TXT_with_1_single-quote (0.91s)
        --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/Post_cleanup:Empty#15 (0.69s)
        --- FAIL: TestDNSProviders/willpower232testsdnscontrol.com/16:Case_Sensitivity:Create_CAPS (0.97s)
        --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/Post_cleanup:Empty#16 (0.64s)
        --- FAIL: TestDNSProviders/willpower232testsdnscontrol.com/17:testByLabel:initial (0.87s)
        --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/Post_cleanup:Empty#17 (0.64s)
        --- FAIL: TestDNSProviders/willpower232testsdnscontrol.com/18:testByRecordSet:initial (0.87s)
        --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/Post_cleanup:Empty#18 (0.59s)
        --- FAIL: TestDNSProviders/willpower232testsdnscontrol.com/19:IDNA:Internationalized_name (0.86s)
        --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/Post_cleanup:Empty#19 (47.32s)
        --- FAIL: TestDNSProviders/willpower232testsdnscontrol.com/20:IDNAs_in_CNAME_targets:IDN_CNAME_AND_Target (0.90s)
        --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/Post_cleanup:Empty#20 (0.65s)
        --- FAIL: TestDNSProviders/willpower232testsdnscontrol.com/21:pager101:99_records (1.27s)
        --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/Post_cleanup:Empty#21 (0.63s)
        --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/22:pager601_***SKIPPED(disabled_by_only)***:Empty (0.27s)
        --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/23:pager1201_***SKIPPED(disabled_by_only)***:Empty (0.28s)
        --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/24:NS1_URLFWD_tests_***SKIPPED(disabled_by_only)***:Empty (0.26s)
        --- FAIL: TestDNSProviders/willpower232testsdnscontrol.com/25:CAA:CAA_record (1.10s)
        --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/Post_cleanup:Empty#22 (0.61s)
        --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/26:NAPTR_***SKIPPED(CanUseNAPTR_not_supported)***:Empty (0.28s)
        --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/27:PTR_***SKIPPED(CanUsePTR_not_supported)***:Empty (0.28s)
        --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/28:SOA_***SKIPPED(CanUseSOA_not_supported)***:Empty (0.26s)
        --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/29:SRV_***SKIPPED(CanUseSRV_not_supported)***:Empty (0.26s)
        --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/30:SRV_***SKIPPED(CanUseSRV_not_supported)***:Empty (0.30s)
        --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/31:SSHFP_***SKIPPED(CanUseSSHFP_not_supported)***:Empty (0.28s)
        --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/32:TLSA_***SKIPPED(CanUseTLSA_not_supported)***:Empty (0.31s)
        --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/33:DS_***SKIPPED(CanUseDS_not_supported)***:Empty (0.27s)
        --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/34:DS_(children_only)_***SKIPPED(CanUseDSForChildren_not_supported)***:Empty (0.26s)
        --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/35:DS_(children_only)_CLOUDNS_***SKIPPED(CanUseDSForChildren_not_supported)***:Empty (0.26s)
        --- FAIL: TestDNSProviders/willpower232testsdnscontrol.com/36:ALIAS:ALIAS_at_root (0.93s)
        --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/Post_cleanup:Empty#23 (0.61s)
        --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/37:AZURE_ALIAS_A_***SKIPPED(CanUseAzureAlias_not_supported)***:Empty (0.32s)
        --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/38:AZURE_ALIAS_CNAME_***SKIPPED(CanUseAzureAlias_not_supported)***:Empty (0.28s)
        --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/39:R53_ALIAS2_***SKIPPED(CanUseRoute53Alias_not_supported)***:Empty (0.27s)
        --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/40:R53_ALIAS_ORDER_***SKIPPED(CanUseRoute53Alias_not_supported)***:Empty (0.26s)
        --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/41:R53_ALIAS_CNAME_***SKIPPED(CanUseRoute53Alias_not_supported)***:Empty (0.26s)
        --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/42:R53_ALIAS_Loop_***SKIPPED(CanUseRoute53Alias_not_supported)***:Empty (0.28s)
        --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/43:CF_REDIRECT_***SKIPPED(disabled_by_only)***:Empty (0.26s)
        --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/44:CF_PROXY_***SKIPPED(disabled_by_only)***:Empty (0.28s)
        --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/45:CF_WORKER_ROUTE_***SKIPPED(disabled_by_only)***:Empty (0.26s)
        --- FAIL: TestDNSProviders/willpower232testsdnscontrol.com/46:IGNORE_NAME_function:Create_some_records (0.88s)
        --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/Post_cleanup:Empty#24 (0.64s)
        --- FAIL: TestDNSProviders/willpower232testsdnscontrol.com/47:IGNORE_NAME_apex:Create_some_records (47.44s)
        --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/Post_cleanup:Empty#25 (0.66s)
        --- FAIL: TestDNSProviders/willpower232testsdnscontrol.com/48:IGNORE_TARGET_function:Create_some_records (0.90s)
        --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/Post_cleanup:Empty#26 (0.59s)
        --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/49:LOC_***SKIPPED(CanUseLOC_not_supported)***:Empty (0.26s)
=== RUN   TestDualProviders
    integration_test.go:319: Skipping.  DocDualHost == Cannot
--- SKIP: TestDualProviders (0.00s)
FAIL
exit status 1
full output
=== RUN   TestDNSProviders
=== RUN   TestDNSProviders/willpower232testsdnscontrol.com
=== RUN   TestDNSProviders/willpower232testsdnscontrol.com/Clean_Slate:Empty
=== RUN   TestDNSProviders/willpower232testsdnscontrol.com/00:A:Create_A
    integration_test.go:224: 
        GENERATE_ZONE: willpower232testsdnscontrol.com (1 records)[
        + CREATE A testa.willpower232testsdnscontrol.com 1.1.1.1 ttl=300]
    integration_test.go:243: Expected 0 corrections on second run, but found 1.
    integration_test.go:245: UNEXPECTED #0: GENERATE_ZONE: willpower232testsdnscontrol.com (1 records)[
        + CREATE A testa.willpower232testsdnscontrol.com 1.1.1.1 ttl=300 
        - DELETE A  1.1.1.1 ttl=300]
=== RUN   TestDNSProviders/willpower232testsdnscontrol.com/Post_cleanup:Empty
    integration_test.go:224: 
        GENERATE_ZONE: willpower232testsdnscontrol.com (0 records)[
        - DELETE A  1.1.1.1 ttl=300]
=== RUN   TestDNSProviders/willpower232testsdnscontrol.com/01:Attl:Create_Arc
    integration_test.go:224: 
        GENERATE_ZONE: willpower232testsdnscontrol.com (1 records)[
        + CREATE A testa.willpower232testsdnscontrol.com 1.1.1.1 ttl=333]
    integration_test.go:243: Expected 0 corrections on second run, but found 1.
    integration_test.go:245: UNEXPECTED #0: GENERATE_ZONE: willpower232testsdnscontrol.com (1 records)[
        + CREATE A testa.willpower232testsdnscontrol.com 1.1.1.1 ttl=333 
        - DELETE A  1.1.1.1 ttl=333]
=== RUN   TestDNSProviders/willpower232testsdnscontrol.com/Post_cleanup:Empty#01
    integration_test.go:224: 
        GENERATE_ZONE: willpower232testsdnscontrol.com (0 records)[
        - DELETE A  1.1.1.1 ttl=333]
=== RUN   TestDNSProviders/willpower232testsdnscontrol.com/02:MX:Create_MX
    integration_test.go:224: 
        GENERATE_ZONE: willpower232testsdnscontrol.com (1 records)[
        + CREATE MX testmx.willpower232testsdnscontrol.com 5 foo.com. ttl=300]
    integration_test.go:243: Expected 0 corrections on second run, but found 1.
    integration_test.go:245: UNEXPECTED #0: GENERATE_ZONE: willpower232testsdnscontrol.com (1 records)[
        + CREATE MX testmx.willpower232testsdnscontrol.com 5 foo.com. ttl=300 
        - DELETE MX  5  ttl=300]
=== RUN   TestDNSProviders/willpower232testsdnscontrol.com/Post_cleanup:Empty#02
    integration_test.go:224: 
        GENERATE_ZONE: willpower232testsdnscontrol.com (0 records)[
        - DELETE MX  5  ttl=300]
=== RUN   TestDNSProviders/willpower232testsdnscontrol.com/03:CNAME:Create_a_CNAME
    integration_test.go:224: 
        GENERATE_ZONE: willpower232testsdnscontrol.com (1 records)[
        + CREATE CNAME testcname.willpower232testsdnscontrol.com www.google.com. ttl=300]
    integration_test.go:243: Expected 0 corrections on second run, but found 1.
    integration_test.go:245: UNEXPECTED #0: GENERATE_ZONE: willpower232testsdnscontrol.com (1 records)[
        + CREATE CNAME testcname.willpower232testsdnscontrol.com www.google.com. ttl=300 
        - DELETE CNAME  www.google.com. ttl=300]
=== RUN   TestDNSProviders/willpower232testsdnscontrol.com/Post_cleanup:Empty#03
    integration_test.go:224: 
        GENERATE_ZONE: willpower232testsdnscontrol.com (0 records)[
        - DELETE CNAME  www.google.com. ttl=300]
=== RUN   TestDNSProviders/willpower232testsdnscontrol.com/04:ManyAtOne:CreateManyAtLabel
    integration_test.go:224: 
        GENERATE_ZONE: willpower232testsdnscontrol.com (3 records)[
        + CREATE A www.willpower232testsdnscontrol.com 1.1.1.1 ttl=300 
        + CREATE A www.willpower232testsdnscontrol.com 2.2.2.2 ttl=300 
        + CREATE A www.willpower232testsdnscontrol.com 3.3.3.3 ttl=300]
    integration_test.go:243: Expected 0 corrections on second run, but found 1.
    integration_test.go:245: UNEXPECTED #0: GENERATE_ZONE: willpower232testsdnscontrol.com (3 records)[
        + CREATE A www.willpower232testsdnscontrol.com 1.1.1.1 ttl=300 
        + CREATE A www.willpower232testsdnscontrol.com 2.2.2.2 ttl=300 
        + CREATE A www.willpower232testsdnscontrol.com 3.3.3.3 ttl=300 
        - DELETE A  1.1.1.1 ttl=300 
        - DELETE A  2.2.2.2 ttl=300 
        - DELETE A  3.3.3.3 ttl=300]
=== RUN   TestDNSProviders/willpower232testsdnscontrol.com/Post_cleanup:Empty#04
    integration_test.go:224: 
        GENERATE_ZONE: willpower232testsdnscontrol.com (0 records)[
        - DELETE A  1.1.1.1 ttl=300 
        - DELETE A  2.2.2.2 ttl=300 
        - DELETE A  3.3.3.3 ttl=300]
=== RUN   TestDNSProviders/willpower232testsdnscontrol.com/05:manyAtOneTypes:CreateManyTypesAtLabel
    integration_test.go:224: 
        GENERATE_ZONE: willpower232testsdnscontrol.com (3 records)[
        + CREATE MX testmx.willpower232testsdnscontrol.com 5 foo.com. ttl=300 
        + CREATE MX testmx.willpower232testsdnscontrol.com 100 bar.com. ttl=300 
        + CREATE A www.willpower232testsdnscontrol.com 1.1.1.1 ttl=300]
    integration_test.go:243: Expected 0 corrections on second run, but found 1.
    integration_test.go:245: UNEXPECTED #0: GENERATE_ZONE: willpower232testsdnscontrol.com (3 records)[
        + CREATE MX testmx.willpower232testsdnscontrol.com 5 foo.com. ttl=300 
        + CREATE MX testmx.willpower232testsdnscontrol.com 100 bar.com. ttl=300 
        + CREATE A www.willpower232testsdnscontrol.com 1.1.1.1 ttl=300 
        - DELETE A  1.1.1.1 ttl=300 
        - DELETE MX  100  ttl=300 
        - DELETE MX  5  ttl=300]
=== RUN   TestDNSProviders/willpower232testsdnscontrol.com/Post_cleanup:Empty#05
    integration_test.go:224: 
        GENERATE_ZONE: willpower232testsdnscontrol.com (0 records)[
        - DELETE A  1.1.1.1 ttl=300 
        - DELETE MX  100  ttl=300 
        - DELETE MX  5  ttl=300]
=== RUN   TestDNSProviders/willpower232testsdnscontrol.com/06:Apex:Create_A
    integration_test.go:224: 
        GENERATE_ZONE: willpower232testsdnscontrol.com (1 records)[
        + CREATE A willpower232testsdnscontrol.com 1.1.1.1 ttl=300]
    integration_test.go:243: Expected 0 corrections on second run, but found 1.
    integration_test.go:245: UNEXPECTED #0: GENERATE_ZONE: willpower232testsdnscontrol.com (1 records)[
        + CREATE A willpower232testsdnscontrol.com 1.1.1.1 ttl=300 
        - DELETE A  1.1.1.1 ttl=300]
=== RUN   TestDNSProviders/willpower232testsdnscontrol.com/Post_cleanup:Empty#06
    integration_test.go:224: 
        GENERATE_ZONE: willpower232testsdnscontrol.com (0 records)[
        - DELETE A  1.1.1.1 ttl=300]
=== RUN   TestDNSProviders/willpower232testsdnscontrol.com/07:TTL:Start
    integration_test.go:224: 
        GENERATE_ZONE: willpower232testsdnscontrol.com (3 records)[
        + CREATE A willpower232testsdnscontrol.com 8.8.8.8 ttl=666 
        + CREATE A www.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A www.willpower232testsdnscontrol.com 5.6.7.8 ttl=300]
    integration_test.go:243: Expected 0 corrections on second run, but found 1.
    integration_test.go:245: UNEXPECTED #0: GENERATE_ZONE: willpower232testsdnscontrol.com (3 records)[
        + CREATE A willpower232testsdnscontrol.com 8.8.8.8 ttl=666 
        + CREATE A www.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A www.willpower232testsdnscontrol.com 5.6.7.8 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  5.6.7.8 ttl=300 
        - DELETE A  8.8.8.8 ttl=666]
=== RUN   TestDNSProviders/willpower232testsdnscontrol.com/Post_cleanup:Empty#07
    integration_test.go:224: 
        GENERATE_ZONE: willpower232testsdnscontrol.com (0 records)[
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  5.6.7.8 ttl=300 
        - DELETE A  8.8.8.8 ttl=666]
=== RUN   TestDNSProviders/willpower232testsdnscontrol.com/08:add_to_label_and_change_orig_ttl:Setup
    integration_test.go:224: 
        GENERATE_ZONE: willpower232testsdnscontrol.com (1 records)[
        + CREATE A www.willpower232testsdnscontrol.com 5.6.7.8 ttl=400]
    integration_test.go:243: Expected 0 corrections on second run, but found 1.
    integration_test.go:245: UNEXPECTED #0: GENERATE_ZONE: willpower232testsdnscontrol.com (1 records)[
        + CREATE A www.willpower232testsdnscontrol.com 5.6.7.8 ttl=400 
        - DELETE A  5.6.7.8 ttl=400]
=== RUN   TestDNSProviders/willpower232testsdnscontrol.com/Post_cleanup:Empty#08
    integration_test.go:224: 
        GENERATE_ZONE: willpower232testsdnscontrol.com (0 records)[
        - DELETE A  5.6.7.8 ttl=400]
=== RUN   TestDNSProviders/willpower232testsdnscontrol.com/09:Protocol-Wildcard:Create_wildcard
    integration_test.go:224: 
        GENERATE_ZONE: willpower232testsdnscontrol.com (2 records)[
        + CREATE A *.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A www.willpower232testsdnscontrol.com 1.1.1.1 ttl=300]
    integration_test.go:243: Expected 0 corrections on second run, but found 1.
    integration_test.go:245: UNEXPECTED #0: GENERATE_ZONE: willpower232testsdnscontrol.com (2 records)[
        + CREATE A *.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A www.willpower232testsdnscontrol.com 1.1.1.1 ttl=300 
        - DELETE A  1.1.1.1 ttl=300 
        - DELETE A  1.2.3.4 ttl=300]
=== RUN   TestDNSProviders/willpower232testsdnscontrol.com/Post_cleanup:Empty#09
    integration_test.go:224: 
        GENERATE_ZONE: willpower232testsdnscontrol.com (0 records)[
        - DELETE A  1.1.1.1 ttl=300 
        - DELETE A  1.2.3.4 ttl=300]
Namecheap rate limit exceeded. Waiting 5s to retry.
Namecheap rate limit exceeded. Waiting 5s to retry.
Namecheap rate limit exceeded. Waiting 5s to retry.
Namecheap rate limit exceeded. Waiting 5s to retry.
Namecheap rate limit exceeded. Waiting 5s to retry.
Namecheap rate limit exceeded. Waiting 5s to retry.
Namecheap rate limit exceeded. Waiting 5s to retry.
Namecheap rate limit exceeded. Waiting 5s to retry.
Namecheap rate limit exceeded. Waiting 5s to retry.
=== RUN   TestDNSProviders/willpower232testsdnscontrol.com/10:TypeChange:Create_a_CNAME
    integration_test.go:224: 
        GENERATE_ZONE: willpower232testsdnscontrol.com (1 records)[
        + CREATE CNAME foo.willpower232testsdnscontrol.com google.com. ttl=300]
    integration_test.go:243: Expected 0 corrections on second run, but found 1.
    integration_test.go:245: UNEXPECTED #0: GENERATE_ZONE: willpower232testsdnscontrol.com (1 records)[
        + CREATE CNAME foo.willpower232testsdnscontrol.com google.com. ttl=300 
        - DELETE CNAME  google.com. ttl=300]
=== RUN   TestDNSProviders/willpower232testsdnscontrol.com/Post_cleanup:Empty#10
    integration_test.go:224: 
        GENERATE_ZONE: willpower232testsdnscontrol.com (0 records)[
        - DELETE CNAME  google.com. ttl=300]
=== RUN   TestDNSProviders/willpower232testsdnscontrol.com/11:CommonDNS:Create_1_of_each
    integration_test.go:224: 
        GENERATE_ZONE: willpower232testsdnscontrol.com (3 records)[
        + CREATE CNAME testcname.willpower232testsdnscontrol.com example.com. ttl=300 
        + CREATE MX testmx.willpower232testsdnscontrol.com 5 foo.com. ttl=300 
        + CREATE TXT testtxt.willpower232testsdnscontrol.com "simple" ttl=300]
    integration_test.go:243: Expected 0 corrections on second run, but found 1.
    integration_test.go:245: UNEXPECTED #0: GENERATE_ZONE: willpower232testsdnscontrol.com (3 records)[
        + CREATE CNAME testcname.willpower232testsdnscontrol.com example.com. ttl=300 
        + CREATE MX testmx.willpower232testsdnscontrol.com 5 foo.com. ttl=300 
        + CREATE TXT testtxt.willpower232testsdnscontrol.com "simple" ttl=300 
        - DELETE MX  5  ttl=300 
        - DELETE TXT  "simple" ttl=300 
        - DELETE CNAME  example.com. ttl=300]
=== RUN   TestDNSProviders/willpower232testsdnscontrol.com/Post_cleanup:Empty#11
    integration_test.go:224: 
        GENERATE_ZONE: willpower232testsdnscontrol.com (0 records)[
        - DELETE CNAME  example.com. ttl=300 
        - DELETE MX  5  ttl=300 
        - DELETE TXT  "simple" ttl=300]
=== RUN   TestDNSProviders/willpower232testsdnscontrol.com/12:CNAME:Record_pointing_to_@
    integration_test.go:224: 
        GENERATE_ZONE: willpower232testsdnscontrol.com (1 records)[
        + CREATE CNAME foo.willpower232testsdnscontrol.com willpower232testsdnscontrol.com. ttl=300]
    integration_test.go:243: Expected 0 corrections on second run, but found 1.
    integration_test.go:245: UNEXPECTED #0: GENERATE_ZONE: willpower232testsdnscontrol.com (1 records)[
        + CREATE CNAME foo.willpower232testsdnscontrol.com willpower232testsdnscontrol.com. ttl=300 
        - DELETE CNAME  willpower232testsdnscontrol.com. ttl=300]
=== RUN   TestDNSProviders/willpower232testsdnscontrol.com/Post_cleanup:Empty#12
    integration_test.go:224: 
        GENERATE_ZONE: willpower232testsdnscontrol.com (0 records)[
        - DELETE CNAME  willpower232testsdnscontrol.com. ttl=300]
=== RUN   TestDNSProviders/willpower232testsdnscontrol.com/13:MX:Record_pointing_to_@
    integration_test.go:224: 
        GENERATE_ZONE: willpower232testsdnscontrol.com (1 records)[
        + CREATE MX foo.willpower232testsdnscontrol.com 8 willpower232testsdnscontrol.com. ttl=300]
    integration_test.go:243: Expected 0 corrections on second run, but found 1.
    integration_test.go:245: UNEXPECTED #0: GENERATE_ZONE: willpower232testsdnscontrol.com (1 records)[
        + CREATE MX foo.willpower232testsdnscontrol.com 8 willpower232testsdnscontrol.com. ttl=300 
        - DELETE MX  8  ttl=300]
=== RUN   TestDNSProviders/willpower232testsdnscontrol.com/Post_cleanup:Empty#13
    integration_test.go:224: 
        GENERATE_ZONE: willpower232testsdnscontrol.com (0 records)[
        - DELETE MX  8  ttl=300]
=== RUN   TestDNSProviders/willpower232testsdnscontrol.com/14:NS:NS_for_subdomain
    integration_test.go:224: 
        GENERATE_ZONE: willpower232testsdnscontrol.com (1 records)[
        + CREATE NS xyz.willpower232testsdnscontrol.com ns2.foo.com. ttl=300]
    integration_test.go:243: Expected 0 corrections on second run, but found 1.
    integration_test.go:245: UNEXPECTED #0: GENERATE_ZONE: willpower232testsdnscontrol.com (1 records)[
        + CREATE NS xyz.willpower232testsdnscontrol.com ns2.foo.com. ttl=300 
        - DELETE NS  ns2.foo.com. ttl=300]
=== RUN   TestDNSProviders/willpower232testsdnscontrol.com/Post_cleanup:Empty#14
    integration_test.go:224: 
        GENERATE_ZONE: willpower232testsdnscontrol.com (0 records)[
        - DELETE NS  ns2.foo.com. ttl=300]
=== RUN   TestDNSProviders/willpower232testsdnscontrol.com/15:complex_TXT:TXT_with_1_single-quote
    integration_test.go:224: 
        GENERATE_ZONE: willpower232testsdnscontrol.com (1 records)[
        + CREATE TXT foosq.willpower232testsdnscontrol.com "quo'te" ttl=300]
    integration_test.go:243: Expected 0 corrections on second run, but found 1.
    integration_test.go:245: UNEXPECTED #0: GENERATE_ZONE: willpower232testsdnscontrol.com (1 records)[
        + CREATE TXT foosq.willpower232testsdnscontrol.com "quo'te" ttl=300 
        - DELETE TXT  "quo'te" ttl=300]
=== RUN   TestDNSProviders/willpower232testsdnscontrol.com/Post_cleanup:Empty#15
    integration_test.go:224: 
        GENERATE_ZONE: willpower232testsdnscontrol.com (0 records)[
        - DELETE TXT  "quo'te" ttl=300]
=== RUN   TestDNSProviders/willpower232testsdnscontrol.com/16:Case_Sensitivity:Create_CAPS
    integration_test.go:224: 
        GENERATE_ZONE: willpower232testsdnscontrol.com (1 records)[
        + CREATE MX bar.willpower232testsdnscontrol.com 5 bar.com. ttl=300]
    integration_test.go:243: Expected 0 corrections on second run, but found 1.
    integration_test.go:245: UNEXPECTED #0: GENERATE_ZONE: willpower232testsdnscontrol.com (1 records)[
        + CREATE MX bar.willpower232testsdnscontrol.com 5 bar.com. ttl=300 
        - DELETE MX  5  ttl=300]
=== RUN   TestDNSProviders/willpower232testsdnscontrol.com/Post_cleanup:Empty#16
    integration_test.go:224: 
        GENERATE_ZONE: willpower232testsdnscontrol.com (0 records)[
        - DELETE MX  5  ttl=300]
=== RUN   TestDNSProviders/willpower232testsdnscontrol.com/17:testByLabel:initial
    integration_test.go:224: 
        GENERATE_ZONE: willpower232testsdnscontrol.com (2 records)[
        + CREATE A foo.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A foo.willpower232testsdnscontrol.com 2.3.4.5 ttl=300]
    integration_test.go:243: Expected 0 corrections on second run, but found 1.
    integration_test.go:245: UNEXPECTED #0: GENERATE_ZONE: willpower232testsdnscontrol.com (2 records)[
        + CREATE A foo.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A foo.willpower232testsdnscontrol.com 2.3.4.5 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  2.3.4.5 ttl=300]
=== RUN   TestDNSProviders/willpower232testsdnscontrol.com/Post_cleanup:Empty#17
    integration_test.go:224: 
        GENERATE_ZONE: willpower232testsdnscontrol.com (0 records)[
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  2.3.4.5 ttl=300]
=== RUN   TestDNSProviders/willpower232testsdnscontrol.com/18:testByRecordSet:initial
    integration_test.go:224: 
        GENERATE_ZONE: willpower232testsdnscontrol.com (5 records)[
        + CREATE A bar.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A foo.willpower232testsdnscontrol.com 2.3.4.5 ttl=300 
        + CREATE A foo.willpower232testsdnscontrol.com 3.4.5.6 ttl=300 
        + CREATE MX foo.willpower232testsdnscontrol.com 10 foo.willpower232testsdnscontrol.com. ttl=300 
        + CREATE MX foo.willpower232testsdnscontrol.com 20 bar.willpower232testsdnscontrol.com. ttl=300]
    integration_test.go:243: Expected 0 corrections on second run, but found 1.
    integration_test.go:245: UNEXPECTED #0: GENERATE_ZONE: willpower232testsdnscontrol.com (5 records)[
        + CREATE A bar.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A foo.willpower232testsdnscontrol.com 2.3.4.5 ttl=300 
        + CREATE A foo.willpower232testsdnscontrol.com 3.4.5.6 ttl=300 
        + CREATE MX foo.willpower232testsdnscontrol.com 10 foo.willpower232testsdnscontrol.com. ttl=300 
        + CREATE MX foo.willpower232testsdnscontrol.com 20 bar.willpower232testsdnscontrol.com. ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  2.3.4.5 ttl=300 
        - DELETE A  3.4.5.6 ttl=300 
        - DELETE MX  10  ttl=300 
        - DELETE MX  20  ttl=300]
=== RUN   TestDNSProviders/willpower232testsdnscontrol.com/Post_cleanup:Empty#18
    integration_test.go:224: 
        GENERATE_ZONE: willpower232testsdnscontrol.com (0 records)[
        - DELETE MX  10  ttl=300 
        - DELETE MX  20  ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  2.3.4.5 ttl=300 
        - DELETE A  3.4.5.6 ttl=300]
=== RUN   TestDNSProviders/willpower232testsdnscontrol.com/19:IDNA:Internationalized_name
    integration_test.go:224: 
        GENERATE_ZONE: willpower232testsdnscontrol.com (1 records)[
        + CREATE A xn--ndaaa.willpower232testsdnscontrol.com 1.2.3.4 ttl=300]
    integration_test.go:243: Expected 0 corrections on second run, but found 1.
    integration_test.go:245: UNEXPECTED #0: GENERATE_ZONE: willpower232testsdnscontrol.com (1 records)[
        + CREATE A xn--ndaaa.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300]
=== RUN   TestDNSProviders/willpower232testsdnscontrol.com/Post_cleanup:Empty#19
    integration_test.go:224: 
        GENERATE_ZONE: willpower232testsdnscontrol.com (0 records)[
        - DELETE A  1.2.3.4 ttl=300]
Namecheap rate limit exceeded. Waiting 5s to retry.
Namecheap rate limit exceeded. Waiting 5s to retry.
Namecheap rate limit exceeded. Waiting 5s to retry.
Namecheap rate limit exceeded. Waiting 5s to retry.
Namecheap rate limit exceeded. Waiting 5s to retry.
Namecheap rate limit exceeded. Waiting 5s to retry.
Namecheap rate limit exceeded. Waiting 5s to retry.
Namecheap rate limit exceeded. Waiting 5s to retry.
Namecheap rate limit exceeded. Waiting 5s to retry.
=== RUN   TestDNSProviders/willpower232testsdnscontrol.com/20:IDNAs_in_CNAME_targets:IDN_CNAME_AND_Target
    integration_test.go:224: 
        GENERATE_ZONE: willpower232testsdnscontrol.com (1 records)[
        + CREATE CNAME xn--o-0gab.willpower232testsdnscontrol.com xn--ndaaa.xn--vhquv. ttl=300]
    integration_test.go:243: Expected 0 corrections on second run, but found 1.
    integration_test.go:245: UNEXPECTED #0: GENERATE_ZONE: willpower232testsdnscontrol.com (1 records)[
        + CREATE CNAME xn--o-0gab.willpower232testsdnscontrol.com xn--ndaaa.xn--vhquv. ttl=300 
        - DELETE CNAME  xn--ndaaa.xn--vhquv. ttl=300]
=== RUN   TestDNSProviders/willpower232testsdnscontrol.com/Post_cleanup:Empty#20
    integration_test.go:224: 
        GENERATE_ZONE: willpower232testsdnscontrol.com (0 records)[
        - DELETE CNAME  xn--ndaaa.xn--vhquv. ttl=300]
=== RUN   TestDNSProviders/willpower232testsdnscontrol.com/21:pager101:99_records
    integration_test.go:224: 
        GENERATE_ZONE: willpower232testsdnscontrol.com (99 records)[
        + CREATE A rec0000.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0001.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0002.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0003.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0004.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0005.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0006.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0007.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0008.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0009.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0010.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0011.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0012.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0013.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0014.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0015.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0016.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0017.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0018.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0019.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0020.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0021.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0022.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0023.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0024.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0025.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0026.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0027.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0028.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0029.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0030.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0031.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0032.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0033.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0034.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0035.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0036.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0037.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0038.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0039.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0040.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0041.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0042.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0043.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0044.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0045.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0046.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0047.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0048.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0049.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0050.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0051.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0052.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0053.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0054.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0055.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0056.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0057.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0058.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0059.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0060.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0061.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0062.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0063.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0064.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0065.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0066.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0067.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0068.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0069.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0070.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0071.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0072.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0073.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0074.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0075.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0076.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0077.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0078.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0079.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0080.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0081.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0082.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0083.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0084.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0085.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0086.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0087.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0088.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0089.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0090.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0091.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0092.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0093.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0094.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0095.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0096.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0097.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0098.willpower232testsdnscontrol.com 1.2.3.4 ttl=300]
    integration_test.go:243: Expected 0 corrections on second run, but found 1.
    integration_test.go:245: UNEXPECTED #0: GENERATE_ZONE: willpower232testsdnscontrol.com (99 records)[
        + CREATE A rec0000.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0001.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0002.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0003.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0004.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0005.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0006.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0007.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0008.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0009.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0010.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0011.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0012.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0013.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0014.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0015.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0016.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0017.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0018.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0019.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0020.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0021.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0022.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0023.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0024.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0025.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0026.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0027.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0028.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0029.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0030.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0031.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0032.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0033.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0034.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0035.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0036.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0037.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0038.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0039.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0040.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0041.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0042.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0043.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0044.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0045.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0046.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0047.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0048.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0049.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0050.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0051.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0052.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0053.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0054.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0055.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0056.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0057.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0058.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0059.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0060.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0061.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0062.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0063.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0064.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0065.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0066.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0067.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0068.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0069.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0070.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0071.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0072.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0073.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0074.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0075.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0076.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0077.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0078.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0079.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0080.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0081.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0082.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0083.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0084.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0085.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0086.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0087.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0088.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0089.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0090.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0091.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0092.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0093.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0094.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0095.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0096.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0097.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0098.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300]
=== RUN   TestDNSProviders/willpower232testsdnscontrol.com/Post_cleanup:Empty#21
    integration_test.go:224: 
        GENERATE_ZONE: willpower232testsdnscontrol.com (0 records)[
        - DELETE A  1.2.3.4 ttl=300]
=== RUN   TestDNSProviders/willpower232testsdnscontrol.com/22:pager601_***SKIPPED(disabled_by_only)***:Empty
=== RUN   TestDNSProviders/willpower232testsdnscontrol.com/23:pager1201_***SKIPPED(disabled_by_only)***:Empty
=== RUN   TestDNSProviders/willpower232testsdnscontrol.com/24:NS1_URLFWD_tests_***SKIPPED(disabled_by_only)***:Empty
=== RUN   TestDNSProviders/willpower232testsdnscontrol.com/25:CAA:CAA_record
    integration_test.go:224: 
        GENERATE_ZONE: willpower232testsdnscontrol.com (1 records)[
        + CREATE CAA willpower232testsdnscontrol.com 0 issue "letsencrypt.org" ttl=300]
    integration_test.go:243: Expected 0 corrections on second run, but found 1.
    integration_test.go:245: UNEXPECTED #0: GENERATE_ZONE: willpower232testsdnscontrol.com (1 records)[
        + CREATE CAA willpower232testsdnscontrol.com 0 issue "letsencrypt.org" ttl=300 
        - DELETE CAA  0 issue "letsencrypt.org" ttl=300]
=== RUN   TestDNSProviders/willpower232testsdnscontrol.com/Post_cleanup:Empty#22
    integration_test.go:224: 
        GENERATE_ZONE: willpower232testsdnscontrol.com (0 records)[
        - DELETE CAA  0 issue "letsencrypt.org" ttl=300]
=== RUN   TestDNSProviders/willpower232testsdnscontrol.com/26:NAPTR_***SKIPPED(CanUseNAPTR_not_supported)***:Empty
=== RUN   TestDNSProviders/willpower232testsdnscontrol.com/27:PTR_***SKIPPED(CanUsePTR_not_supported)***:Empty
=== RUN   TestDNSProviders/willpower232testsdnscontrol.com/28:SOA_***SKIPPED(CanUseSOA_not_supported)***:Empty
=== RUN   TestDNSProviders/willpower232testsdnscontrol.com/29:SRV_***SKIPPED(CanUseSRV_not_supported)***:Empty
=== RUN   TestDNSProviders/willpower232testsdnscontrol.com/30:SRV_***SKIPPED(CanUseSRV_not_supported)***:Empty
=== RUN   TestDNSProviders/willpower232testsdnscontrol.com/31:SSHFP_***SKIPPED(CanUseSSHFP_not_supported)***:Empty
=== RUN   TestDNSProviders/willpower232testsdnscontrol.com/32:TLSA_***SKIPPED(CanUseTLSA_not_supported)***:Empty
=== RUN   TestDNSProviders/willpower232testsdnscontrol.com/33:DS_***SKIPPED(CanUseDS_not_supported)***:Empty
=== RUN   TestDNSProviders/willpower232testsdnscontrol.com/34:DS_(children_only)_***SKIPPED(CanUseDSForChildren_not_supported)***:Empty
=== RUN   TestDNSProviders/willpower232testsdnscontrol.com/35:DS_(children_only)_CLOUDNS_***SKIPPED(CanUseDSForChildren_not_supported)***:Empty
=== RUN   TestDNSProviders/willpower232testsdnscontrol.com/36:ALIAS:ALIAS_at_root
    integration_test.go:224: 
        GENERATE_ZONE: willpower232testsdnscontrol.com (1 records)[
        + CREATE ALIAS willpower232testsdnscontrol.com foo.com. ttl=300]
    integration_test.go:243: Expected 0 corrections on second run, but found 1.
    integration_test.go:245: UNEXPECTED #0: GENERATE_ZONE: willpower232testsdnscontrol.com (1 records)[
        + CREATE ALIAS willpower232testsdnscontrol.com foo.com. ttl=300 
        - DELETE ALIAS  foo.com. ttl=300]
=== RUN   TestDNSProviders/willpower232testsdnscontrol.com/Post_cleanup:Empty#23
    integration_test.go:224: 
        GENERATE_ZONE: willpower232testsdnscontrol.com (0 records)[
        - DELETE ALIAS  foo.com. ttl=300]
=== RUN   TestDNSProviders/willpower232testsdnscontrol.com/37:AZURE_ALIAS_A_***SKIPPED(CanUseAzureAlias_not_supported)***:Empty
=== RUN   TestDNSProviders/willpower232testsdnscontrol.com/38:AZURE_ALIAS_CNAME_***SKIPPED(CanUseAzureAlias_not_supported)***:Empty
=== RUN   TestDNSProviders/willpower232testsdnscontrol.com/39:R53_ALIAS2_***SKIPPED(CanUseRoute53Alias_not_supported)***:Empty
=== RUN   TestDNSProviders/willpower232testsdnscontrol.com/40:R53_ALIAS_ORDER_***SKIPPED(CanUseRoute53Alias_not_supported)***:Empty
=== RUN   TestDNSProviders/willpower232testsdnscontrol.com/41:R53_ALIAS_CNAME_***SKIPPED(CanUseRoute53Alias_not_supported)***:Empty
=== RUN   TestDNSProviders/willpower232testsdnscontrol.com/42:R53_ALIAS_Loop_***SKIPPED(CanUseRoute53Alias_not_supported)***:Empty
=== RUN   TestDNSProviders/willpower232testsdnscontrol.com/43:CF_REDIRECT_***SKIPPED(disabled_by_only)***:Empty
=== RUN   TestDNSProviders/willpower232testsdnscontrol.com/44:CF_PROXY_***SKIPPED(disabled_by_only)***:Empty
=== RUN   TestDNSProviders/willpower232testsdnscontrol.com/45:CF_WORKER_ROUTE_***SKIPPED(disabled_by_only)***:Empty
=== RUN   TestDNSProviders/willpower232testsdnscontrol.com/46:IGNORE_NAME_function:Create_some_records
    integration_test.go:224: 
        GENERATE_ZONE: willpower232testsdnscontrol.com (2 records)[
        + CREATE TXT foo.willpower232testsdnscontrol.com "simple" ttl=300 
        + CREATE A foo.willpower232testsdnscontrol.com 1.2.3.4 ttl=300]
    integration_test.go:243: Expected 0 corrections on second run, but found 1.
    integration_test.go:245: UNEXPECTED #0: GENERATE_ZONE: willpower232testsdnscontrol.com (2 records)[
        + CREATE TXT foo.willpower232testsdnscontrol.com "simple" ttl=300 
        + CREATE A foo.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        - DELETE TXT  "simple" ttl=300 
        - DELETE A  1.2.3.4 ttl=300]
=== RUN   TestDNSProviders/willpower232testsdnscontrol.com/Post_cleanup:Empty#24
    integration_test.go:224: 
        GENERATE_ZONE: willpower232testsdnscontrol.com (0 records)[
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE TXT  "simple" ttl=300]
=== RUN   TestDNSProviders/willpower232testsdnscontrol.com/47:IGNORE_NAME_apex:Create_some_records
    integration_test.go:224: 
        GENERATE_ZONE: willpower232testsdnscontrol.com (4 records)[
        + CREATE TXT bar.willpower232testsdnscontrol.com "stringbar" ttl=300 
        + CREATE A bar.willpower232testsdnscontrol.com 2.4.6.8 ttl=300 
        + CREATE TXT willpower232testsdnscontrol.com "simple" ttl=300 
        + CREATE A willpower232testsdnscontrol.com 1.2.3.4 ttl=300]
Namecheap rate limit exceeded. Waiting 5s to retry.
Namecheap rate limit exceeded. Waiting 5s to retry.
Namecheap rate limit exceeded. Waiting 5s to retry.
Namecheap rate limit exceeded. Waiting 5s to retry.
Namecheap rate limit exceeded. Waiting 5s to retry.
Namecheap rate limit exceeded. Waiting 5s to retry.
Namecheap rate limit exceeded. Waiting 5s to retry.
Namecheap rate limit exceeded. Waiting 5s to retry.
Namecheap rate limit exceeded. Waiting 5s to retry.
    integration_test.go:243: Expected 0 corrections on second run, but found 1.
    integration_test.go:245: UNEXPECTED #0: GENERATE_ZONE: willpower232testsdnscontrol.com (4 records)[
        + CREATE A bar.willpower232testsdnscontrol.com 2.4.6.8 ttl=300 
        + CREATE TXT bar.willpower232testsdnscontrol.com "stringbar" ttl=300 
        + CREATE TXT willpower232testsdnscontrol.com "simple" ttl=300 
        + CREATE A willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  2.4.6.8 ttl=300 
        - DELETE TXT  "simple" ttl=300 
        - DELETE TXT  "stringbar" ttl=300]
=== RUN   TestDNSProviders/willpower232testsdnscontrol.com/Post_cleanup:Empty#25
    integration_test.go:224: 
        GENERATE_ZONE: willpower232testsdnscontrol.com (0 records)[
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  2.4.6.8 ttl=300 
        - DELETE TXT  "simple" ttl=300 
        - DELETE TXT  "stringbar" ttl=300]
=== RUN   TestDNSProviders/willpower232testsdnscontrol.com/48:IGNORE_TARGET_function:Create_some_records
    integration_test.go:224: 
        GENERATE_ZONE: willpower232testsdnscontrol.com (2 records)[
        + CREATE CNAME bar.willpower232testsdnscontrol.com test.bar.com. ttl=300 
        + CREATE CNAME foo.willpower232testsdnscontrol.com test.foo.com. ttl=300]
    integration_test.go:243: Expected 0 corrections on second run, but found 1.
    integration_test.go:245: UNEXPECTED #0: GENERATE_ZONE: willpower232testsdnscontrol.com (2 records)[
        + CREATE CNAME bar.willpower232testsdnscontrol.com test.bar.com. ttl=300 
        + CREATE CNAME foo.willpower232testsdnscontrol.com test.foo.com. ttl=300 
        - DELETE CNAME  test.bar.com. ttl=300 
        - DELETE CNAME  test.foo.com. ttl=300]
=== RUN   TestDNSProviders/willpower232testsdnscontrol.com/Post_cleanup:Empty#26
    integration_test.go:224: 
        GENERATE_ZONE: willpower232testsdnscontrol.com (0 records)[
        - DELETE CNAME  test.bar.com. ttl=300 
        - DELETE CNAME  test.foo.com. ttl=300]
=== RUN   TestDNSProviders/willpower232testsdnscontrol.com/49:LOC_***SKIPPED(CanUseLOC_not_supported)***:Empty

go test -v -verbose -provider NAMECHEAP --diff2

result
--- FAIL: TestDNSProviders (194.07s)
    --- FAIL: TestDNSProviders/willpower232testsdnscontrol.com (194.07s)
        --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/Clean_Slate:Empty (0.98s)
        --- FAIL: TestDNSProviders/willpower232testsdnscontrol.com/00:A:Create_A (0.93s)
        --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/Post_cleanup:Empty (0.61s)
        --- FAIL: TestDNSProviders/willpower232testsdnscontrol.com/01:Attl:Create_Arc (0.93s)
        --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/Post_cleanup:Empty#01 (0.62s)
        --- FAIL: TestDNSProviders/willpower232testsdnscontrol.com/02:MX:Create_MX (0.87s)
        --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/Post_cleanup:Empty#02 (0.64s)
        --- FAIL: TestDNSProviders/willpower232testsdnscontrol.com/03:CNAME:Create_a_CNAME (0.96s)
        --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/Post_cleanup:Empty#03 (0.61s)
        --- FAIL: TestDNSProviders/willpower232testsdnscontrol.com/04:ManyAtOne:CreateManyAtLabel (0.90s)
        --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/Post_cleanup:Empty#04 (0.64s)
        --- FAIL: TestDNSProviders/willpower232testsdnscontrol.com/05:manyAtOneTypes:CreateManyTypesAtLabel (0.89s)
        --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/Post_cleanup:Empty#05 (0.63s)
        --- FAIL: TestDNSProviders/willpower232testsdnscontrol.com/06:Apex:Create_A (0.89s)
        --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/Post_cleanup:Empty#06 (0.75s)
        --- FAIL: TestDNSProviders/willpower232testsdnscontrol.com/07:TTL:Start (0.91s)
        --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/Post_cleanup:Empty#07 (0.62s)
        --- FAIL: TestDNSProviders/willpower232testsdnscontrol.com/08:add_to_label_and_change_orig_ttl:Setup (45.72s)
        --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/Post_cleanup:Empty#08 (0.65s)
        --- FAIL: TestDNSProviders/willpower232testsdnscontrol.com/09:Protocol-Wildcard:Create_wildcard (1.08s)
        --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/Post_cleanup:Empty#09 (6.07s)
        --- FAIL: TestDNSProviders/willpower232testsdnscontrol.com/10:TypeChange:Create_a_CNAME (0.91s)
        --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/Post_cleanup:Empty#10 (0.63s)
        --- FAIL: TestDNSProviders/willpower232testsdnscontrol.com/11:CommonDNS:Create_1_of_each (0.90s)
        --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/Post_cleanup:Empty#11 (0.66s)
        --- FAIL: TestDNSProviders/willpower232testsdnscontrol.com/12:CNAME:Record_pointing_to_@ (0.90s)
        --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/Post_cleanup:Empty#12 (0.63s)
        --- FAIL: TestDNSProviders/willpower232testsdnscontrol.com/13:MX:Record_pointing_to_@ (0.99s)
        --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/Post_cleanup:Empty#13 (0.62s)
        --- FAIL: TestDNSProviders/willpower232testsdnscontrol.com/14:NS:NS_for_subdomain (0.94s)
        --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/Post_cleanup:Empty#14 (0.59s)
        --- FAIL: TestDNSProviders/willpower232testsdnscontrol.com/15:complex_TXT:TXT_with_1_single-quote (0.90s)
        --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/Post_cleanup:Empty#15 (0.61s)
        --- FAIL: TestDNSProviders/willpower232testsdnscontrol.com/16:Case_Sensitivity:Create_CAPS (1.29s)
        --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/Post_cleanup:Empty#16 (0.75s)
        --- FAIL: TestDNSProviders/willpower232testsdnscontrol.com/17:testByLabel:initial (0.95s)
        --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/Post_cleanup:Empty#17 (0.64s)
        --- FAIL: TestDNSProviders/willpower232testsdnscontrol.com/18:testByRecordSet:initial (42.49s)
        --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/Post_cleanup:Empty#18 (0.69s)
        --- FAIL: TestDNSProviders/willpower232testsdnscontrol.com/19:IDNA:Internationalized_name (0.88s)
        --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/Post_cleanup:Empty#19 (5.84s)
        --- FAIL: TestDNSProviders/willpower232testsdnscontrol.com/20:IDNAs_in_CNAME_targets:IDN_CNAME_AND_Target (0.90s)
        --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/Post_cleanup:Empty#20 (0.66s)
        --- FAIL: TestDNSProviders/willpower232testsdnscontrol.com/21:pager101:99_records (1.13s)
        --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/Post_cleanup:Empty#21 (0.69s)
        --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/22:pager601_***SKIPPED(disabled_by_only)***:Empty (0.28s)
        --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/23:pager1201_***SKIPPED(disabled_by_only)***:Empty (0.29s)
        --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/24:NS1_URLFWD_tests_***SKIPPED(disabled_by_only)***:Empty (0.27s)
        --- FAIL: TestDNSProviders/willpower232testsdnscontrol.com/25:CAA:CAA_record (0.95s)
        --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/Post_cleanup:Empty#22 (0.60s)
        --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/26:NAPTR_***SKIPPED(CanUseNAPTR_not_supported)***:Empty (0.29s)
        --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/27:PTR_***SKIPPED(CanUsePTR_not_supported)***:Empty (0.30s)
        --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/28:SOA_***SKIPPED(CanUseSOA_not_supported)***:Empty (0.27s)
        --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/29:SRV_***SKIPPED(CanUseSRV_not_supported)***:Empty (0.27s)
        --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/30:SRV_***SKIPPED(CanUseSRV_not_supported)***:Empty (0.28s)
        --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/31:SSHFP_***SKIPPED(CanUseSSHFP_not_supported)***:Empty (0.28s)
        --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/32:TLSA_***SKIPPED(CanUseTLSA_not_supported)***:Empty (0.27s)
        --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/33:DS_***SKIPPED(CanUseDS_not_supported)***:Empty (0.27s)
        --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/34:DS_(children_only)_***SKIPPED(CanUseDSForChildren_not_supported)***:Empty (0.29s)
        --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/35:DS_(children_only)_CLOUDNS_***SKIPPED(CanUseDSForChildren_not_supported)***:Empty (0.27s)
        --- FAIL: TestDNSProviders/willpower232testsdnscontrol.com/36:ALIAS:ALIAS_at_root (0.96s)
        --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/Post_cleanup:Empty#23 (0.67s)
        --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/37:AZURE_ALIAS_A_***SKIPPED(CanUseAzureAlias_not_supported)***:Empty (0.34s)
        --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/38:AZURE_ALIAS_CNAME_***SKIPPED(CanUseAzureAlias_not_supported)***:Empty (0.30s)
        --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/39:R53_ALIAS2_***SKIPPED(CanUseRoute53Alias_not_supported)***:Empty (0.27s)
        --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/40:R53_ALIAS_ORDER_***SKIPPED(CanUseRoute53Alias_not_supported)***:Empty (0.28s)
        --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/41:R53_ALIAS_CNAME_***SKIPPED(CanUseRoute53Alias_not_supported)***:Empty (0.27s)
        --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/42:R53_ALIAS_Loop_***SKIPPED(CanUseRoute53Alias_not_supported)***:Empty (0.29s)
        --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/43:CF_REDIRECT_***SKIPPED(disabled_by_only)***:Empty (0.32s)
        --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/44:CF_PROXY_***SKIPPED(disabled_by_only)***:Empty (36.60s)
        --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/45:CF_WORKER_ROUTE_***SKIPPED(disabled_by_only)***:Empty (5.53s)
        --- FAIL: TestDNSProviders/willpower232testsdnscontrol.com/46:IGNORE_NAME_function:Create_some_records (0.88s)
        --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/Post_cleanup:Empty#24 (0.61s)
        --- FAIL: TestDNSProviders/willpower232testsdnscontrol.com/47:IGNORE_NAME_apex:Create_some_records (6.11s)
        --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/Post_cleanup:Empty#25 (0.61s)
        --- FAIL: TestDNSProviders/willpower232testsdnscontrol.com/48:IGNORE_TARGET_function:Create_some_records (0.88s)
        --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/Post_cleanup:Empty#26 (0.61s)
        --- PASS: TestDNSProviders/willpower232testsdnscontrol.com/49:LOC_***SKIPPED(CanUseLOC_not_supported)***:Empty (0.26s)
=== RUN   TestDualProviders
    integration_test.go:319: Skipping.  DocDualHost == Cannot
--- SKIP: TestDualProviders (0.00s)
FAIL
exit status 1
full output
=== RUN   TestDNSProviders
=== RUN   TestDNSProviders/willpower232testsdnscontrol.com
=== RUN   TestDNSProviders/willpower232testsdnscontrol.com/Clean_Slate:Empty
=== RUN   TestDNSProviders/willpower232testsdnscontrol.com/00:A:Create_A
    integration_test.go:224: 
        GENERATE_ZONE: willpower232testsdnscontrol.com (1 records)[
        + CREATE A testa.willpower232testsdnscontrol.com 1.1.1.1 ttl=300]
    integration_test.go:243: Expected 0 corrections on second run, but found 1.
    integration_test.go:245: UNEXPECTED #0: GENERATE_ZONE: willpower232testsdnscontrol.com (1 records)[
        + CREATE A testa.willpower232testsdnscontrol.com 1.1.1.1 ttl=300 
        - DELETE A  1.1.1.1 ttl=300]
=== RUN   TestDNSProviders/willpower232testsdnscontrol.com/Post_cleanup:Empty
    integration_test.go:224: 
        GENERATE_ZONE: willpower232testsdnscontrol.com (0 records)[
        - DELETE A  1.1.1.1 ttl=300]
=== RUN   TestDNSProviders/willpower232testsdnscontrol.com/01:Attl:Create_Arc
    integration_test.go:224: 
        GENERATE_ZONE: willpower232testsdnscontrol.com (1 records)[
        + CREATE A testa.willpower232testsdnscontrol.com 1.1.1.1 ttl=333]
    integration_test.go:243: Expected 0 corrections on second run, but found 1.
    integration_test.go:245: UNEXPECTED #0: GENERATE_ZONE: willpower232testsdnscontrol.com (1 records)[
        + CREATE A testa.willpower232testsdnscontrol.com 1.1.1.1 ttl=333 
        - DELETE A  1.1.1.1 ttl=333]
=== RUN   TestDNSProviders/willpower232testsdnscontrol.com/Post_cleanup:Empty#01
    integration_test.go:224: 
        GENERATE_ZONE: willpower232testsdnscontrol.com (0 records)[
        - DELETE A  1.1.1.1 ttl=333]
=== RUN   TestDNSProviders/willpower232testsdnscontrol.com/02:MX:Create_MX
    integration_test.go:224: 
        GENERATE_ZONE: willpower232testsdnscontrol.com (1 records)[
        + CREATE MX testmx.willpower232testsdnscontrol.com 5 foo.com. ttl=300]
    integration_test.go:243: Expected 0 corrections on second run, but found 1.
    integration_test.go:245: UNEXPECTED #0: GENERATE_ZONE: willpower232testsdnscontrol.com (1 records)[
        + CREATE MX testmx.willpower232testsdnscontrol.com 5 foo.com. ttl=300 
        - DELETE MX  5  ttl=300]
=== RUN   TestDNSProviders/willpower232testsdnscontrol.com/Post_cleanup:Empty#02
    integration_test.go:224: 
        GENERATE_ZONE: willpower232testsdnscontrol.com (0 records)[
        - DELETE MX  5  ttl=300]
=== RUN   TestDNSProviders/willpower232testsdnscontrol.com/03:CNAME:Create_a_CNAME
    integration_test.go:224: 
        GENERATE_ZONE: willpower232testsdnscontrol.com (1 records)[
        + CREATE CNAME testcname.willpower232testsdnscontrol.com www.google.com. ttl=300]
    integration_test.go:243: Expected 0 corrections on second run, but found 1.
    integration_test.go:245: UNEXPECTED #0: GENERATE_ZONE: willpower232testsdnscontrol.com (1 records)[
        + CREATE CNAME testcname.willpower232testsdnscontrol.com www.google.com. ttl=300 
        - DELETE CNAME  www.google.com. ttl=300]
=== RUN   TestDNSProviders/willpower232testsdnscontrol.com/Post_cleanup:Empty#03
    integration_test.go:224: 
        GENERATE_ZONE: willpower232testsdnscontrol.com (0 records)[
        - DELETE CNAME  www.google.com. ttl=300]
=== RUN   TestDNSProviders/willpower232testsdnscontrol.com/04:ManyAtOne:CreateManyAtLabel
    integration_test.go:224: 
        GENERATE_ZONE: willpower232testsdnscontrol.com (3 records)[
        + CREATE A www.willpower232testsdnscontrol.com 1.1.1.1 ttl=300 
        + CREATE A www.willpower232testsdnscontrol.com 2.2.2.2 ttl=300 
        + CREATE A www.willpower232testsdnscontrol.com 3.3.3.3 ttl=300]
    integration_test.go:243: Expected 0 corrections on second run, but found 1.
    integration_test.go:245: UNEXPECTED #0: GENERATE_ZONE: willpower232testsdnscontrol.com (3 records)[
        + CREATE A www.willpower232testsdnscontrol.com 1.1.1.1 ttl=300 
        + CREATE A www.willpower232testsdnscontrol.com 2.2.2.2 ttl=300 
        + CREATE A www.willpower232testsdnscontrol.com 3.3.3.3 ttl=300 
        - DELETE A  1.1.1.1 ttl=300 
        - DELETE A  2.2.2.2 ttl=300 
        - DELETE A  3.3.3.3 ttl=300]
=== RUN   TestDNSProviders/willpower232testsdnscontrol.com/Post_cleanup:Empty#04
    integration_test.go:224: 
        GENERATE_ZONE: willpower232testsdnscontrol.com (0 records)[
        - DELETE A  1.1.1.1 ttl=300 
        - DELETE A  2.2.2.2 ttl=300 
        - DELETE A  3.3.3.3 ttl=300]
=== RUN   TestDNSProviders/willpower232testsdnscontrol.com/05:manyAtOneTypes:CreateManyTypesAtLabel
    integration_test.go:224: 
        GENERATE_ZONE: willpower232testsdnscontrol.com (3 records)[
        + CREATE MX testmx.willpower232testsdnscontrol.com 100 bar.com. ttl=300 
        + CREATE MX testmx.willpower232testsdnscontrol.com 5 foo.com. ttl=300 
        + CREATE A www.willpower232testsdnscontrol.com 1.1.1.1 ttl=300]
    integration_test.go:243: Expected 0 corrections on second run, but found 1.
    integration_test.go:245: UNEXPECTED #0: GENERATE_ZONE: willpower232testsdnscontrol.com (3 records)[
        + CREATE MX testmx.willpower232testsdnscontrol.com 100 bar.com. ttl=300 
        + CREATE MX testmx.willpower232testsdnscontrol.com 5 foo.com. ttl=300 
        + CREATE A www.willpower232testsdnscontrol.com 1.1.1.1 ttl=300 
        - DELETE A  1.1.1.1 ttl=300 
        - DELETE MX  100  ttl=300 
        - DELETE MX  5  ttl=300]
=== RUN   TestDNSProviders/willpower232testsdnscontrol.com/Post_cleanup:Empty#05
    integration_test.go:224: 
        GENERATE_ZONE: willpower232testsdnscontrol.com (0 records)[
        - DELETE A  1.1.1.1 ttl=300 
        - DELETE MX  100  ttl=300 
        - DELETE MX  5  ttl=300]
=== RUN   TestDNSProviders/willpower232testsdnscontrol.com/06:Apex:Create_A
    integration_test.go:224: 
        GENERATE_ZONE: willpower232testsdnscontrol.com (1 records)[
        + CREATE A willpower232testsdnscontrol.com 1.1.1.1 ttl=300]
    integration_test.go:243: Expected 0 corrections on second run, but found 1.
    integration_test.go:245: UNEXPECTED #0: GENERATE_ZONE: willpower232testsdnscontrol.com (1 records)[
        + CREATE A willpower232testsdnscontrol.com 1.1.1.1 ttl=300 
        - DELETE A  1.1.1.1 ttl=300]
=== RUN   TestDNSProviders/willpower232testsdnscontrol.com/Post_cleanup:Empty#06
    integration_test.go:224: 
        GENERATE_ZONE: willpower232testsdnscontrol.com (0 records)[
        - DELETE A  1.1.1.1 ttl=300]
=== RUN   TestDNSProviders/willpower232testsdnscontrol.com/07:TTL:Start
    integration_test.go:224: 
        GENERATE_ZONE: willpower232testsdnscontrol.com (3 records)[
        + CREATE A willpower232testsdnscontrol.com 8.8.8.8 ttl=666 
        + CREATE A www.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A www.willpower232testsdnscontrol.com 5.6.7.8 ttl=300]
    integration_test.go:243: Expected 0 corrections on second run, but found 1.
    integration_test.go:245: UNEXPECTED #0: GENERATE_ZONE: willpower232testsdnscontrol.com (3 records)[
        + CREATE A willpower232testsdnscontrol.com 8.8.8.8 ttl=666 
        + CREATE A www.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A www.willpower232testsdnscontrol.com 5.6.7.8 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  5.6.7.8 ttl=300 
        - DELETE A  8.8.8.8 ttl=666]
=== RUN   TestDNSProviders/willpower232testsdnscontrol.com/Post_cleanup:Empty#07
    integration_test.go:224: 
        GENERATE_ZONE: willpower232testsdnscontrol.com (0 records)[
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  5.6.7.8 ttl=300 
        - DELETE A  8.8.8.8 ttl=666]
=== RUN   TestDNSProviders/willpower232testsdnscontrol.com/08:add_to_label_and_change_orig_ttl:Setup
Namecheap rate limit exceeded. Waiting 5s to retry.
Namecheap rate limit exceeded. Waiting 5s to retry.
Namecheap rate limit exceeded. Waiting 5s to retry.
Namecheap rate limit exceeded. Waiting 5s to retry.
Namecheap rate limit exceeded. Waiting 5s to retry.
Namecheap rate limit exceeded. Waiting 5s to retry.
Namecheap rate limit exceeded. Waiting 5s to retry.
Namecheap rate limit exceeded. Waiting 5s to retry.
    integration_test.go:224: 
        GENERATE_ZONE: willpower232testsdnscontrol.com (1 records)[
        + CREATE A www.willpower232testsdnscontrol.com 5.6.7.8 ttl=400]
    integration_test.go:243: Expected 0 corrections on second run, but found 1.
    integration_test.go:245: UNEXPECTED #0: GENERATE_ZONE: willpower232testsdnscontrol.com (1 records)[
        + CREATE A www.willpower232testsdnscontrol.com 5.6.7.8 ttl=400 
        - DELETE A  5.6.7.8 ttl=400]
=== RUN   TestDNSProviders/willpower232testsdnscontrol.com/Post_cleanup:Empty#08
    integration_test.go:224: 
        GENERATE_ZONE: willpower232testsdnscontrol.com (0 records)[
        - DELETE A  5.6.7.8 ttl=400]
=== RUN   TestDNSProviders/willpower232testsdnscontrol.com/09:Protocol-Wildcard:Create_wildcard
    integration_test.go:224: 
        GENERATE_ZONE: willpower232testsdnscontrol.com (2 records)[
        + CREATE A *.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A www.willpower232testsdnscontrol.com 1.1.1.1 ttl=300]
    integration_test.go:243: Expected 0 corrections on second run, but found 1.
    integration_test.go:245: UNEXPECTED #0: GENERATE_ZONE: willpower232testsdnscontrol.com (2 records)[
        + CREATE A *.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A www.willpower232testsdnscontrol.com 1.1.1.1 ttl=300 
        - DELETE A  1.1.1.1 ttl=300 
        - DELETE A  1.2.3.4 ttl=300]
=== RUN   TestDNSProviders/willpower232testsdnscontrol.com/Post_cleanup:Empty#09
    integration_test.go:224: 
        GENERATE_ZONE: willpower232testsdnscontrol.com (0 records)[
        - DELETE A  1.1.1.1 ttl=300 
        - DELETE A  1.2.3.4 ttl=300]
Namecheap rate limit exceeded. Waiting 5s to retry.
=== RUN   TestDNSProviders/willpower232testsdnscontrol.com/10:TypeChange:Create_a_CNAME
    integration_test.go:224: 
        GENERATE_ZONE: willpower232testsdnscontrol.com (1 records)[
        + CREATE CNAME foo.willpower232testsdnscontrol.com google.com. ttl=300]
    integration_test.go:243: Expected 0 corrections on second run, but found 1.
    integration_test.go:245: UNEXPECTED #0: GENERATE_ZONE: willpower232testsdnscontrol.com (1 records)[
        + CREATE CNAME foo.willpower232testsdnscontrol.com google.com. ttl=300 
        - DELETE CNAME  google.com. ttl=300]
=== RUN   TestDNSProviders/willpower232testsdnscontrol.com/Post_cleanup:Empty#10
    integration_test.go:224: 
        GENERATE_ZONE: willpower232testsdnscontrol.com (0 records)[
        - DELETE CNAME  google.com. ttl=300]
=== RUN   TestDNSProviders/willpower232testsdnscontrol.com/11:CommonDNS:Create_1_of_each
    integration_test.go:224: 
        GENERATE_ZONE: willpower232testsdnscontrol.com (3 records)[
        + CREATE CNAME testcname.willpower232testsdnscontrol.com example.com. ttl=300 
        + CREATE MX testmx.willpower232testsdnscontrol.com 5 foo.com. ttl=300 
        + CREATE TXT testtxt.willpower232testsdnscontrol.com "simple" ttl=300]
    integration_test.go:243: Expected 0 corrections on second run, but found 1.
    integration_test.go:245: UNEXPECTED #0: GENERATE_ZONE: willpower232testsdnscontrol.com (3 records)[
        + CREATE CNAME testcname.willpower232testsdnscontrol.com example.com. ttl=300 
        + CREATE MX testmx.willpower232testsdnscontrol.com 5 foo.com. ttl=300 
        + CREATE TXT testtxt.willpower232testsdnscontrol.com "simple" ttl=300 
        - DELETE CNAME  example.com. ttl=300 
        - DELETE MX  5  ttl=300 
        - DELETE TXT  "simple" ttl=300]
=== RUN   TestDNSProviders/willpower232testsdnscontrol.com/Post_cleanup:Empty#11
    integration_test.go:224: 
        GENERATE_ZONE: willpower232testsdnscontrol.com (0 records)[
        - DELETE CNAME  example.com. ttl=300 
        - DELETE MX  5  ttl=300 
        - DELETE TXT  "simple" ttl=300]
=== RUN   TestDNSProviders/willpower232testsdnscontrol.com/12:CNAME:Record_pointing_to_@
    integration_test.go:224: 
        GENERATE_ZONE: willpower232testsdnscontrol.com (1 records)[
        + CREATE CNAME foo.willpower232testsdnscontrol.com willpower232testsdnscontrol.com. ttl=300]
    integration_test.go:243: Expected 0 corrections on second run, but found 1.
    integration_test.go:245: UNEXPECTED #0: GENERATE_ZONE: willpower232testsdnscontrol.com (1 records)[
        + CREATE CNAME foo.willpower232testsdnscontrol.com willpower232testsdnscontrol.com. ttl=300 
        - DELETE CNAME  willpower232testsdnscontrol.com. ttl=300]
=== RUN   TestDNSProviders/willpower232testsdnscontrol.com/Post_cleanup:Empty#12
    integration_test.go:224: 
        GENERATE_ZONE: willpower232testsdnscontrol.com (0 records)[
        - DELETE CNAME  willpower232testsdnscontrol.com. ttl=300]
=== RUN   TestDNSProviders/willpower232testsdnscontrol.com/13:MX:Record_pointing_to_@
    integration_test.go:224: 
        GENERATE_ZONE: willpower232testsdnscontrol.com (1 records)[
        + CREATE MX foo.willpower232testsdnscontrol.com 8 willpower232testsdnscontrol.com. ttl=300]
    integration_test.go:243: Expected 0 corrections on second run, but found 1.
    integration_test.go:245: UNEXPECTED #0: GENERATE_ZONE: willpower232testsdnscontrol.com (1 records)[
        + CREATE MX foo.willpower232testsdnscontrol.com 8 willpower232testsdnscontrol.com. ttl=300 
        - DELETE MX  8  ttl=300]
=== RUN   TestDNSProviders/willpower232testsdnscontrol.com/Post_cleanup:Empty#13
    integration_test.go:224: 
        GENERATE_ZONE: willpower232testsdnscontrol.com (0 records)[
        - DELETE MX  8  ttl=300]
=== RUN   TestDNSProviders/willpower232testsdnscontrol.com/14:NS:NS_for_subdomain
    integration_test.go:224: 
        GENERATE_ZONE: willpower232testsdnscontrol.com (1 records)[
        + CREATE NS xyz.willpower232testsdnscontrol.com ns2.foo.com. ttl=300]
    integration_test.go:243: Expected 0 corrections on second run, but found 1.
    integration_test.go:245: UNEXPECTED #0: GENERATE_ZONE: willpower232testsdnscontrol.com (1 records)[
        + CREATE NS xyz.willpower232testsdnscontrol.com ns2.foo.com. ttl=300 
        - DELETE NS  ns2.foo.com. ttl=300]
=== RUN   TestDNSProviders/willpower232testsdnscontrol.com/Post_cleanup:Empty#14
    integration_test.go:224: 
        GENERATE_ZONE: willpower232testsdnscontrol.com (0 records)[
        - DELETE NS  ns2.foo.com. ttl=300]
=== RUN   TestDNSProviders/willpower232testsdnscontrol.com/15:complex_TXT:TXT_with_1_single-quote
    integration_test.go:224: 
        GENERATE_ZONE: willpower232testsdnscontrol.com (1 records)[
        + CREATE TXT foosq.willpower232testsdnscontrol.com "quo'te" ttl=300]
    integration_test.go:243: Expected 0 corrections on second run, but found 1.
    integration_test.go:245: UNEXPECTED #0: GENERATE_ZONE: willpower232testsdnscontrol.com (1 records)[
        + CREATE TXT foosq.willpower232testsdnscontrol.com "quo'te" ttl=300 
        - DELETE TXT  "quo'te" ttl=300]
=== RUN   TestDNSProviders/willpower232testsdnscontrol.com/Post_cleanup:Empty#15
    integration_test.go:224: 
        GENERATE_ZONE: willpower232testsdnscontrol.com (0 records)[
        - DELETE TXT  "quo'te" ttl=300]
=== RUN   TestDNSProviders/willpower232testsdnscontrol.com/16:Case_Sensitivity:Create_CAPS
    integration_test.go:224: 
        GENERATE_ZONE: willpower232testsdnscontrol.com (1 records)[
        + CREATE MX bar.willpower232testsdnscontrol.com 5 bar.com. ttl=300]
    integration_test.go:243: Expected 0 corrections on second run, but found 1.
    integration_test.go:245: UNEXPECTED #0: GENERATE_ZONE: willpower232testsdnscontrol.com (1 records)[
        + CREATE MX bar.willpower232testsdnscontrol.com 5 bar.com. ttl=300 
        - DELETE MX  5  ttl=300]
=== RUN   TestDNSProviders/willpower232testsdnscontrol.com/Post_cleanup:Empty#16
    integration_test.go:224: 
        GENERATE_ZONE: willpower232testsdnscontrol.com (0 records)[
        - DELETE MX  5  ttl=300]
=== RUN   TestDNSProviders/willpower232testsdnscontrol.com/17:testByLabel:initial
    integration_test.go:224: 
        GENERATE_ZONE: willpower232testsdnscontrol.com (2 records)[
        + CREATE A foo.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A foo.willpower232testsdnscontrol.com 2.3.4.5 ttl=300]
    integration_test.go:243: Expected 0 corrections on second run, but found 1.
    integration_test.go:245: UNEXPECTED #0: GENERATE_ZONE: willpower232testsdnscontrol.com (2 records)[
        + CREATE A foo.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A foo.willpower232testsdnscontrol.com 2.3.4.5 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  2.3.4.5 ttl=300]
=== RUN   TestDNSProviders/willpower232testsdnscontrol.com/Post_cleanup:Empty#17
    integration_test.go:224: 
        GENERATE_ZONE: willpower232testsdnscontrol.com (0 records)[
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  2.3.4.5 ttl=300]
=== RUN   TestDNSProviders/willpower232testsdnscontrol.com/18:testByRecordSet:initial
Namecheap rate limit exceeded. Waiting 5s to retry.
Namecheap rate limit exceeded. Waiting 5s to retry.
Namecheap rate limit exceeded. Waiting 5s to retry.
Namecheap rate limit exceeded. Waiting 5s to retry.
Namecheap rate limit exceeded. Waiting 5s to retry.
Namecheap rate limit exceeded. Waiting 5s to retry.
Namecheap rate limit exceeded. Waiting 5s to retry.
    integration_test.go:224: 
        GENERATE_ZONE: willpower232testsdnscontrol.com (5 records)[
        + CREATE A bar.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A foo.willpower232testsdnscontrol.com 2.3.4.5 ttl=300 
        + CREATE A foo.willpower232testsdnscontrol.com 3.4.5.6 ttl=300 
        + CREATE MX foo.willpower232testsdnscontrol.com 10 foo.willpower232testsdnscontrol.com. ttl=300 
        + CREATE MX foo.willpower232testsdnscontrol.com 20 bar.willpower232testsdnscontrol.com. ttl=300]
Namecheap rate limit exceeded. Waiting 5s to retry.
    integration_test.go:243: Expected 0 corrections on second run, but found 1.
    integration_test.go:245: UNEXPECTED #0: GENERATE_ZONE: willpower232testsdnscontrol.com (5 records)[
        + CREATE A bar.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A foo.willpower232testsdnscontrol.com 2.3.4.5 ttl=300 
        + CREATE A foo.willpower232testsdnscontrol.com 3.4.5.6 ttl=300 
        + CREATE MX foo.willpower232testsdnscontrol.com 10 foo.willpower232testsdnscontrol.com. ttl=300 
        + CREATE MX foo.willpower232testsdnscontrol.com 20 bar.willpower232testsdnscontrol.com. ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  2.3.4.5 ttl=300 
        - DELETE A  3.4.5.6 ttl=300 
        - DELETE MX  10  ttl=300 
        - DELETE MX  20  ttl=300]
=== RUN   TestDNSProviders/willpower232testsdnscontrol.com/Post_cleanup:Empty#18
    integration_test.go:224: 
        GENERATE_ZONE: willpower232testsdnscontrol.com (0 records)[
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  2.3.4.5 ttl=300 
        - DELETE A  3.4.5.6 ttl=300 
        - DELETE MX  10  ttl=300 
        - DELETE MX  20  ttl=300]
=== RUN   TestDNSProviders/willpower232testsdnscontrol.com/19:IDNA:Internationalized_name
    integration_test.go:224: 
        GENERATE_ZONE: willpower232testsdnscontrol.com (1 records)[
        + CREATE A xn--ndaaa.willpower232testsdnscontrol.com 1.2.3.4 ttl=300]
    integration_test.go:243: Expected 0 corrections on second run, but found 1.
    integration_test.go:245: UNEXPECTED #0: GENERATE_ZONE: willpower232testsdnscontrol.com (1 records)[
        + CREATE A xn--ndaaa.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300]
=== RUN   TestDNSProviders/willpower232testsdnscontrol.com/Post_cleanup:Empty#19
    integration_test.go:224: 
        GENERATE_ZONE: willpower232testsdnscontrol.com (0 records)[
        - DELETE A  1.2.3.4 ttl=300]
Namecheap rate limit exceeded. Waiting 5s to retry.
=== RUN   TestDNSProviders/willpower232testsdnscontrol.com/20:IDNAs_in_CNAME_targets:IDN_CNAME_AND_Target
    integration_test.go:224: 
        GENERATE_ZONE: willpower232testsdnscontrol.com (1 records)[
        + CREATE CNAME xn--o-0gab.willpower232testsdnscontrol.com xn--ndaaa.xn--vhquv. ttl=300]
    integration_test.go:243: Expected 0 corrections on second run, but found 1.
    integration_test.go:245: UNEXPECTED #0: GENERATE_ZONE: willpower232testsdnscontrol.com (1 records)[
        + CREATE CNAME xn--o-0gab.willpower232testsdnscontrol.com xn--ndaaa.xn--vhquv. ttl=300 
        - DELETE CNAME  xn--ndaaa.xn--vhquv. ttl=300]
=== RUN   TestDNSProviders/willpower232testsdnscontrol.com/Post_cleanup:Empty#20
    integration_test.go:224: 
        GENERATE_ZONE: willpower232testsdnscontrol.com (0 records)[
        - DELETE CNAME  xn--ndaaa.xn--vhquv. ttl=300]
=== RUN   TestDNSProviders/willpower232testsdnscontrol.com/21:pager101:99_records
    integration_test.go:224: 
        GENERATE_ZONE: willpower232testsdnscontrol.com (99 records)[
        + CREATE A rec0000.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0001.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0002.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0003.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0004.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0005.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0006.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0007.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0008.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0009.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0010.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0011.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0012.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0013.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0014.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0015.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0016.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0017.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0018.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0019.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0020.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0021.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0022.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0023.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0024.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0025.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0026.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0027.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0028.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0029.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0030.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0031.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0032.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0033.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0034.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0035.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0036.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0037.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0038.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0039.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0040.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0041.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0042.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0043.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0044.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0045.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0046.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0047.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0048.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0049.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0050.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0051.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0052.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0053.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0054.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0055.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0056.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0057.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0058.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0059.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0060.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0061.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0062.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0063.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0064.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0065.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0066.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0067.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0068.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0069.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0070.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0071.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0072.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0073.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0074.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0075.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0076.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0077.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0078.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0079.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0080.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0081.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0082.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0083.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0084.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0085.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0086.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0087.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0088.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0089.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0090.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0091.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0092.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0093.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0094.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0095.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0096.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0097.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0098.willpower232testsdnscontrol.com 1.2.3.4 ttl=300]
    integration_test.go:243: Expected 0 corrections on second run, but found 1.
    integration_test.go:245: UNEXPECTED #0: GENERATE_ZONE: willpower232testsdnscontrol.com (99 records)[
        + CREATE A rec0000.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0001.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0002.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0003.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0004.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0005.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0006.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0007.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0008.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0009.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0010.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0011.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0012.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0013.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0014.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0015.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0016.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0017.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0018.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0019.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0020.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0021.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0022.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0023.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0024.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0025.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0026.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0027.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0028.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0029.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0030.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0031.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0032.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0033.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0034.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0035.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0036.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0037.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0038.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0039.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0040.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0041.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0042.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0043.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0044.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0045.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0046.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0047.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0048.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0049.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0050.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0051.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0052.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0053.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0054.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0055.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0056.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0057.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0058.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0059.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0060.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0061.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0062.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0063.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0064.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0065.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0066.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0067.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0068.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0069.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0070.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0071.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0072.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0073.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0074.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0075.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0076.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0077.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0078.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0079.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0080.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0081.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0082.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0083.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0084.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0085.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0086.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0087.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0088.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0089.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0090.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0091.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0092.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0093.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0094.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0095.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0096.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0097.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE A rec0098.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300]
=== RUN   TestDNSProviders/willpower232testsdnscontrol.com/Post_cleanup:Empty#21
    integration_test.go:224: 
        GENERATE_ZONE: willpower232testsdnscontrol.com (0 records)[
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  1.2.3.4 ttl=300]
=== RUN   TestDNSProviders/willpower232testsdnscontrol.com/22:pager601_***SKIPPED(disabled_by_only)***:Empty
=== RUN   TestDNSProviders/willpower232testsdnscontrol.com/23:pager1201_***SKIPPED(disabled_by_only)***:Empty
=== RUN   TestDNSProviders/willpower232testsdnscontrol.com/24:NS1_URLFWD_tests_***SKIPPED(disabled_by_only)***:Empty
=== RUN   TestDNSProviders/willpower232testsdnscontrol.com/25:CAA:CAA_record
    integration_test.go:224: 
        GENERATE_ZONE: willpower232testsdnscontrol.com (1 records)[
        + CREATE CAA willpower232testsdnscontrol.com 0 issue "letsencrypt.org" ttl=300]
    integration_test.go:243: Expected 0 corrections on second run, but found 1.
    integration_test.go:245: UNEXPECTED #0: GENERATE_ZONE: willpower232testsdnscontrol.com (1 records)[
        + CREATE CAA willpower232testsdnscontrol.com 0 issue "letsencrypt.org" ttl=300 
        - DELETE CAA  0 issue "letsencrypt.org" ttl=300]
=== RUN   TestDNSProviders/willpower232testsdnscontrol.com/Post_cleanup:Empty#22
    integration_test.go:224: 
        GENERATE_ZONE: willpower232testsdnscontrol.com (0 records)[
        - DELETE CAA  0 issue "letsencrypt.org" ttl=300]
=== RUN   TestDNSProviders/willpower232testsdnscontrol.com/26:NAPTR_***SKIPPED(CanUseNAPTR_not_supported)***:Empty
=== RUN   TestDNSProviders/willpower232testsdnscontrol.com/27:PTR_***SKIPPED(CanUsePTR_not_supported)***:Empty
=== RUN   TestDNSProviders/willpower232testsdnscontrol.com/28:SOA_***SKIPPED(CanUseSOA_not_supported)***:Empty
=== RUN   TestDNSProviders/willpower232testsdnscontrol.com/29:SRV_***SKIPPED(CanUseSRV_not_supported)***:Empty
=== RUN   TestDNSProviders/willpower232testsdnscontrol.com/30:SRV_***SKIPPED(CanUseSRV_not_supported)***:Empty
=== RUN   TestDNSProviders/willpower232testsdnscontrol.com/31:SSHFP_***SKIPPED(CanUseSSHFP_not_supported)***:Empty
=== RUN   TestDNSProviders/willpower232testsdnscontrol.com/32:TLSA_***SKIPPED(CanUseTLSA_not_supported)***:Empty
=== RUN   TestDNSProviders/willpower232testsdnscontrol.com/33:DS_***SKIPPED(CanUseDS_not_supported)***:Empty
=== RUN   TestDNSProviders/willpower232testsdnscontrol.com/34:DS_(children_only)_***SKIPPED(CanUseDSForChildren_not_supported)***:Empty
=== RUN   TestDNSProviders/willpower232testsdnscontrol.com/35:DS_(children_only)_CLOUDNS_***SKIPPED(CanUseDSForChildren_not_supported)***:Empty
=== RUN   TestDNSProviders/willpower232testsdnscontrol.com/36:ALIAS:ALIAS_at_root
    integration_test.go:224: 
        GENERATE_ZONE: willpower232testsdnscontrol.com (1 records)[
        + CREATE ALIAS willpower232testsdnscontrol.com foo.com. ttl=300]
    integration_test.go:243: Expected 0 corrections on second run, but found 1.
    integration_test.go:245: UNEXPECTED #0: GENERATE_ZONE: willpower232testsdnscontrol.com (1 records)[
        + CREATE ALIAS willpower232testsdnscontrol.com foo.com. ttl=300 
        - DELETE ALIAS  foo.com. ttl=300]
=== RUN   TestDNSProviders/willpower232testsdnscontrol.com/Post_cleanup:Empty#23
    integration_test.go:224: 
        GENERATE_ZONE: willpower232testsdnscontrol.com (0 records)[
        - DELETE ALIAS  foo.com. ttl=300]
=== RUN   TestDNSProviders/willpower232testsdnscontrol.com/37:AZURE_ALIAS_A_***SKIPPED(CanUseAzureAlias_not_supported)***:Empty
=== RUN   TestDNSProviders/willpower232testsdnscontrol.com/38:AZURE_ALIAS_CNAME_***SKIPPED(CanUseAzureAlias_not_supported)***:Empty
=== RUN   TestDNSProviders/willpower232testsdnscontrol.com/39:R53_ALIAS2_***SKIPPED(CanUseRoute53Alias_not_supported)***:Empty
=== RUN   TestDNSProviders/willpower232testsdnscontrol.com/40:R53_ALIAS_ORDER_***SKIPPED(CanUseRoute53Alias_not_supported)***:Empty
=== RUN   TestDNSProviders/willpower232testsdnscontrol.com/41:R53_ALIAS_CNAME_***SKIPPED(CanUseRoute53Alias_not_supported)***:Empty
=== RUN   TestDNSProviders/willpower232testsdnscontrol.com/42:R53_ALIAS_Loop_***SKIPPED(CanUseRoute53Alias_not_supported)***:Empty
=== RUN   TestDNSProviders/willpower232testsdnscontrol.com/43:CF_REDIRECT_***SKIPPED(disabled_by_only)***:Empty
=== RUN   TestDNSProviders/willpower232testsdnscontrol.com/44:CF_PROXY_***SKIPPED(disabled_by_only)***:Empty
Namecheap rate limit exceeded. Waiting 5s to retry.
Namecheap rate limit exceeded. Waiting 5s to retry.
Namecheap rate limit exceeded. Waiting 5s to retry.
Namecheap rate limit exceeded. Waiting 5s to retry.
Namecheap rate limit exceeded. Waiting 5s to retry.
Namecheap rate limit exceeded. Waiting 5s to retry.
Namecheap rate limit exceeded. Waiting 5s to retry.
=== RUN   TestDNSProviders/willpower232testsdnscontrol.com/45:CF_WORKER_ROUTE_***SKIPPED(disabled_by_only)***:Empty
Namecheap rate limit exceeded. Waiting 5s to retry.
=== RUN   TestDNSProviders/willpower232testsdnscontrol.com/46:IGNORE_NAME_function:Create_some_records
    integration_test.go:224: 
        GENERATE_ZONE: willpower232testsdnscontrol.com (2 records)[
        + CREATE A foo.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE TXT foo.willpower232testsdnscontrol.com "simple" ttl=300]
    integration_test.go:243: Expected 0 corrections on second run, but found 1.
    integration_test.go:245: UNEXPECTED #0: GENERATE_ZONE: willpower232testsdnscontrol.com (2 records)[
        + CREATE A foo.willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE TXT foo.willpower232testsdnscontrol.com "simple" ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE TXT  "simple" ttl=300]
=== RUN   TestDNSProviders/willpower232testsdnscontrol.com/Post_cleanup:Empty#24
    integration_test.go:224: 
        GENERATE_ZONE: willpower232testsdnscontrol.com (0 records)[
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE TXT  "simple" ttl=300]
=== RUN   TestDNSProviders/willpower232testsdnscontrol.com/47:IGNORE_NAME_apex:Create_some_records
    integration_test.go:224: 
        GENERATE_ZONE: willpower232testsdnscontrol.com (4 records)[
        + CREATE A willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE TXT willpower232testsdnscontrol.com "simple" ttl=300 
        + CREATE A bar.willpower232testsdnscontrol.com 2.4.6.8 ttl=300 
        + CREATE TXT bar.willpower232testsdnscontrol.com "stringbar" ttl=300]
Namecheap rate limit exceeded. Waiting 5s to retry.
    integration_test.go:243: Expected 0 corrections on second run, but found 1.
    integration_test.go:245: UNEXPECTED #0: GENERATE_ZONE: willpower232testsdnscontrol.com (4 records)[
        + CREATE A willpower232testsdnscontrol.com 1.2.3.4 ttl=300 
        + CREATE TXT willpower232testsdnscontrol.com "simple" ttl=300 
        + CREATE A bar.willpower232testsdnscontrol.com 2.4.6.8 ttl=300 
        + CREATE TXT bar.willpower232testsdnscontrol.com "stringbar" ttl=300 
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  2.4.6.8 ttl=300 
        - DELETE TXT  "simple" ttl=300 
        - DELETE TXT  "stringbar" ttl=300]
=== RUN   TestDNSProviders/willpower232testsdnscontrol.com/Post_cleanup:Empty#25
    integration_test.go:224: 
        GENERATE_ZONE: willpower232testsdnscontrol.com (0 records)[
        - DELETE A  1.2.3.4 ttl=300 
        - DELETE A  2.4.6.8 ttl=300 
        - DELETE TXT  "simple" ttl=300 
        - DELETE TXT  "stringbar" ttl=300]
=== RUN   TestDNSProviders/willpower232testsdnscontrol.com/48:IGNORE_TARGET_function:Create_some_records
    integration_test.go:224: 
        GENERATE_ZONE: willpower232testsdnscontrol.com (2 records)[
        + CREATE CNAME bar.willpower232testsdnscontrol.com test.bar.com. ttl=300 
        + CREATE CNAME foo.willpower232testsdnscontrol.com test.foo.com. ttl=300]
    integration_test.go:243: Expected 0 corrections on second run, but found 1.
    integration_test.go:245: UNEXPECTED #0: GENERATE_ZONE: willpower232testsdnscontrol.com (2 records)[
        + CREATE CNAME bar.willpower232testsdnscontrol.com test.bar.com. ttl=300 
        + CREATE CNAME foo.willpower232testsdnscontrol.com test.foo.com. ttl=300 
        - DELETE CNAME  test.bar.com. ttl=300 
        - DELETE CNAME  test.foo.com. ttl=300]
=== RUN   TestDNSProviders/willpower232testsdnscontrol.com/Post_cleanup:Empty#26
    integration_test.go:224: 
        GENERATE_ZONE: willpower232testsdnscontrol.com (0 records)[
        - DELETE CNAME  test.bar.com. ttl=300 
        - DELETE CNAME  test.foo.com. ttl=300]
=== RUN   TestDNSProviders/willpower232testsdnscontrol.com/49:LOC_***SKIPPED(CanUseLOC_not_supported)***:Empty

I couldn't see a way of adding a LOC record in the namecheap UI so I presume that is not (yet) possible and did not try enabling it in the provider.

I haven't got enough time today to debug but I did run the tests against master and confirm they pass with the previously noted exception of 02:MX:Change_MX_p

Is it fairly obvious to see what the problem is when I do have some time?

@tlimoncelli
Copy link
Contributor Author

Works in production. No new failures between master and the new branch.

Thanks for letting me know!

Do note: the new tag v3.30.0test is not available. I used the branch of the PR.

Good. I've updated the doc to recommend doing that instead. For some reason some people are seeing the tag and others aren't.

@tlimoncelli
Copy link
Contributor Author

svernick Yes, please us the branch. (I've updated the OP since the tag isn't working for most people)

@tlimoncelli
Copy link
Contributor Author

willpower232 I think 5fec290 should fix it. Try the tlim_corrector branch and let me know.

It that doesn't fix it...

Look at line 140 to see some code that I didn't include because it seemed redundant. Maybe it was needed after all? My guess is that record.PopulateFromString() isn't working right for certain DNS record types. Put it in a case statement and call PopulateFromString() as the default. See models/t_parse.go for an example.

@imlonghao
Copy link
Contributor

PORKBUN integration tests passed.

Integration test result
--- PASS: TestDNSProviders (682.06s)
    --- PASS: TestDNSProviders/example.com (680.52s)
        --- PASS: TestDNSProviders/example.com/Clean_Slate:Empty (0.99s)
        --- PASS: TestDNSProviders/example.com/00:A:Create_A (3.14s)
        --- PASS: TestDNSProviders/example.com/00:A:Change_A_target (3.06s)
        --- PASS: TestDNSProviders/example.com/Post_cleanup:Empty (2.07s)
        --- PASS: TestDNSProviders/example.com/01:Attl:Create_Arc (3.10s)
        --- PASS: TestDNSProviders/example.com/01:Attl:Change_TTL (3.04s)
        --- PASS: TestDNSProviders/example.com/Post_cleanup:Empty#01 (2.03s)
        --- PASS: TestDNSProviders/example.com/02:MX:Create_MX (3.26s)
        --- PASS: TestDNSProviders/example.com/02:MX:Change_MX_target (3.16s)
        --- PASS: TestDNSProviders/example.com/02:MX:Change_MX_p (3.07s)
        --- PASS: TestDNSProviders/example.com/Post_cleanup:Empty#02 (2.02s)
        --- PASS: TestDNSProviders/example.com/03:CNAME:Create_a_CNAME (3.09s)
        --- PASS: TestDNSProviders/example.com/03:CNAME:Change_CNAME_target (3.04s)
        --- PASS: TestDNSProviders/example.com/Post_cleanup:Empty#03 (2.09s)
        --- PASS: TestDNSProviders/example.com/04:ManyAtOne:CreateManyAtLabel (5.16s)
        --- PASS: TestDNSProviders/example.com/04:ManyAtOne:Empty (4.14s)
        --- PASS: TestDNSProviders/example.com/04:ManyAtOne:Create_an_A_record (3.08s)
        --- PASS: TestDNSProviders/example.com/04:ManyAtOne:Add_at_label1 (3.20s)
        --- PASS: TestDNSProviders/example.com/04:ManyAtOne:Add_at_label2 (3.11s)
        --- PASS: TestDNSProviders/example.com/Post_cleanup:Empty#04 (4.11s)
        --- PASS: TestDNSProviders/example.com/05:manyAtOneTypes:CreateManyTypesAtLabel (5.10s)
        --- PASS: TestDNSProviders/example.com/05:manyAtOneTypes:Empty (4.10s)
        --- PASS: TestDNSProviders/example.com/05:manyAtOneTypes:Create_an_A_record (3.14s)
        --- PASS: TestDNSProviders/example.com/05:manyAtOneTypes:Add_Type_At_Label (3.10s)
        --- PASS: TestDNSProviders/example.com/05:manyAtOneTypes:Add_Type_At_Label#01 (3.07s)
        --- PASS: TestDNSProviders/example.com/Post_cleanup:Empty#05 (4.14s)
        --- PASS: TestDNSProviders/example.com/06:Apex:Create_A (3.00s)
        --- PASS: TestDNSProviders/example.com/06:Apex:Change_A_target (3.03s)
        --- PASS: TestDNSProviders/example.com/Post_cleanup:Empty#06 (2.11s)
        --- PASS: TestDNSProviders/example.com/07:TTL:Start (5.16s)
        --- PASS: TestDNSProviders/example.com/07:TTL:Change_a_ttl (3.08s)
        --- PASS: TestDNSProviders/example.com/07:TTL:Change_single_target_from_set (3.02s)
        --- PASS: TestDNSProviders/example.com/07:TTL:Change_all_ttls (3.08s)
        --- PASS: TestDNSProviders/example.com/Post_cleanup:Empty#07 (4.02s)
        --- PASS: TestDNSProviders/example.com/08:add_to_label_and_change_orig_ttl:Setup (3.27s)
        --- PASS: TestDNSProviders/example.com/08:add_to_label_and_change_orig_ttl:Add_at_same_label,_new_ttl (4.08s)
        --- PASS: TestDNSProviders/example.com/Post_cleanup:Empty#08 (3.04s)
        --- PASS: TestDNSProviders/example.com/09:Protocol-Wildcard:Create_wildcard (4.09s)
        --- PASS: TestDNSProviders/example.com/09:Protocol-Wildcard:Delete_wildcard (3.18s)
        --- PASS: TestDNSProviders/example.com/Post_cleanup:Empty#09 (2.15s)
        --- PASS: TestDNSProviders/example.com/10:TypeChange:Create_a_CNAME (3.07s)
        --- PASS: TestDNSProviders/example.com/10:TypeChange:Change_to_A_record (4.03s)
        --- PASS: TestDNSProviders/example.com/10:TypeChange:Change_back_to_CNAME (4.12s)
        --- PASS: TestDNSProviders/example.com/Post_cleanup:Empty#10 (2.06s)
        --- PASS: TestDNSProviders/example.com/11:CommonDNS:Create_1_of_each (5.22s)
        --- PASS: TestDNSProviders/example.com/11:CommonDNS:Change_param1 (5.25s)
        --- PASS: TestDNSProviders/example.com/11:CommonDNS:Change_param2 (3.19s)
        --- PASS: TestDNSProviders/example.com/Post_cleanup:Empty#11 (4.11s)
        --- PASS: TestDNSProviders/example.com/12:CNAME:Record_pointing_to_@ (3.03s)
        --- PASS: TestDNSProviders/example.com/Post_cleanup:Empty#12 (2.02s)
        --- PASS: TestDNSProviders/example.com/13:MX:Record_pointing_to_@ (3.11s)
        --- PASS: TestDNSProviders/example.com/13:MX:Null_MX (7.84s)
        --- PASS: TestDNSProviders/example.com/Post_cleanup:Empty#13 (5.22s)
        --- PASS: TestDNSProviders/example.com/14:NS:NS_for_subdomain (4.07s)
        --- PASS: TestDNSProviders/example.com/14:NS:Dual_NS_for_subdomain (3.06s)
        --- PASS: TestDNSProviders/example.com/14:NS:NS_Record_pointing_to_@ (6.11s)
        --- PASS: TestDNSProviders/example.com/Post_cleanup:Empty#14 (3.03s)
        --- PASS: TestDNSProviders/example.com/15:complex_TXT:TXT_with_1_single-quote (3.03s)
        --- PASS: TestDNSProviders/example.com/15:complex_TXT:TXT_with_1_backtick (4.08s)
        --- PASS: TestDNSProviders/example.com/15:complex_TXT:TXT_with_1_double-quotes (4.14s)
        --- PASS: TestDNSProviders/example.com/15:complex_TXT:TXT_with_2_double-quotes (4.05s)
        --- PASS: TestDNSProviders/example.com/15:complex_TXT:a_TXT_with_interior_ws (4.19s)
        --- SKIP: TestDNSProviders/example.com/15:complex_TXT:TXT_with_ws_at_end (0.00s)
        --- PASS: TestDNSProviders/example.com/Post_cleanup:Empty#15 (2.06s)
        --- PASS: TestDNSProviders/example.com/16:Case_Sensitivity:Create_CAPS (3.06s)
        --- PASS: TestDNSProviders/example.com/16:Case_Sensitivity:Downcase_label (3.08s)
        --- PASS: TestDNSProviders/example.com/16:Case_Sensitivity:Downcase_target (3.02s)
        --- PASS: TestDNSProviders/example.com/16:Case_Sensitivity:Upcase_both (3.14s)
        --- PASS: TestDNSProviders/example.com/Post_cleanup:Empty#16 (3.28s)
        --- PASS: TestDNSProviders/example.com/17:testByLabel:initial (4.03s)
        --- PASS: TestDNSProviders/example.com/17:testByLabel:changeOne (3.07s)
        --- PASS: TestDNSProviders/example.com/17:testByLabel:deleteOne (3.12s)
        --- PASS: TestDNSProviders/example.com/17:testByLabel:addOne (3.14s)
        --- PASS: TestDNSProviders/example.com/Post_cleanup:Empty#17 (3.29s)
        --- PASS: TestDNSProviders/example.com/18:testByRecordSet:initial (7.22s)
        --- PASS: TestDNSProviders/example.com/18:testByRecordSet:changeOne (3.16s)
        --- PASS: TestDNSProviders/example.com/18:testByRecordSet:deleteOne (3.11s)
        --- PASS: TestDNSProviders/example.com/18:testByRecordSet:addOne (3.07s)
        --- PASS: TestDNSProviders/example.com/Post_cleanup:Empty#18 (6.20s)
        --- PASS: TestDNSProviders/example.com/19:IDNA:Internationalized_name (3.18s)
        --- PASS: TestDNSProviders/example.com/19:IDNA:Change_IDN (3.23s)
        --- PASS: TestDNSProviders/example.com/19:IDNA:Internationalized_CNAME_Target (4.12s)
        --- PASS: TestDNSProviders/example.com/Post_cleanup:Empty#19 (2.05s)
        --- PASS: TestDNSProviders/example.com/20:IDNAs_in_CNAME_targets:IDN_CNAME_AND_Target (3.09s)
        --- PASS: TestDNSProviders/example.com/Post_cleanup:Empty#20 (2.47s)
        --- PASS: TestDNSProviders/example.com/21:pager101:99_records (106.12s)
        --- PASS: TestDNSProviders/example.com/21:pager101:100_records (3.06s)
        --- PASS: TestDNSProviders/example.com/21:pager101:101_records (3.01s)
        --- PASS: TestDNSProviders/example.com/Post_cleanup:Empty#21 (119.09s)
        --- PASS: TestDNSProviders/example.com/22:pager601_***SKIPPED(disabled_by_only)***:Empty (1.00s)
        --- PASS: TestDNSProviders/example.com/23:pager1201_***SKIPPED(disabled_by_only)***:Empty (1.08s)
        --- PASS: TestDNSProviders/example.com/24:NS1_URLFWD_tests_***SKIPPED(disabled_by_only)***:Empty (1.05s)
        --- PASS: TestDNSProviders/example.com/25:CAA_***SKIPPED(CanUseCAA_not_supported)***:Empty (1.06s)
        --- PASS: TestDNSProviders/example.com/26:NAPTR_***SKIPPED(CanUseNAPTR_not_supported)***:Empty (1.04s)
        --- PASS: TestDNSProviders/example.com/27:PTR_***SKIPPED(CanUsePTR_not_supported)***:Empty (1.02s)
        --- PASS: TestDNSProviders/example.com/28:SOA_***SKIPPED(CanUseSOA_not_supported)***:Empty (1.02s)
        --- PASS: TestDNSProviders/example.com/29:SRV:SRV_record (3.35s)
        --- PASS: TestDNSProviders/example.com/29:SRV:Second_SRV_record,_same_prio (3.12s)
        --- PASS: TestDNSProviders/example.com/29:SRV:3_SRV (3.14s)
        --- PASS: TestDNSProviders/example.com/29:SRV:Delete_one (3.17s)
        --- PASS: TestDNSProviders/example.com/29:SRV:Change_Target (3.04s)
        --- PASS: TestDNSProviders/example.com/29:SRV:Change_Priority (3.28s)
        --- PASS: TestDNSProviders/example.com/29:SRV:Change_Weight (3.13s)
        --- PASS: TestDNSProviders/example.com/29:SRV:Change_Port (3.09s)
        --- PASS: TestDNSProviders/example.com/29:SRV:Empty (3.15s)
        --- PASS: TestDNSProviders/example.com/29:SRV:Null_Target (3.27s)
        --- PASS: TestDNSProviders/example.com/Post_cleanup:Empty#22 (2.01s)
        --- PASS: TestDNSProviders/example.com/30:SRV:Create_SRV333 (3.21s)
        --- PASS: TestDNSProviders/example.com/30:SRV:Change_TTL999 (3.09s)
        --- PASS: TestDNSProviders/example.com/Post_cleanup:Empty#23 (2.02s)
        --- PASS: TestDNSProviders/example.com/31:SSHFP_***SKIPPED(CanUseSSHFP_not_supported)***:Empty (1.02s)
        --- PASS: TestDNSProviders/example.com/32:TLSA:TLSA_record (3.03s)
        --- PASS: TestDNSProviders/example.com/32:TLSA:TLSA_change_usage (3.25s)
        --- PASS: TestDNSProviders/example.com/32:TLSA:TLSA_change_selector (3.00s)
        --- PASS: TestDNSProviders/example.com/32:TLSA:TLSA_change_matchingtype (3.08s)
        --- PASS: TestDNSProviders/example.com/32:TLSA:TLSA_change_certificate (3.10s)
        --- PASS: TestDNSProviders/example.com/Post_cleanup:Empty#24 (2.24s)
        --- PASS: TestDNSProviders/example.com/33:DS_***SKIPPED(CanUseDS_not_supported)***:Empty (1.06s)
        --- PASS: TestDNSProviders/example.com/34:DS_(children_only)_***SKIPPED(CanUseDSForChildren_not_supported)***:Empty (1.06s)
        --- PASS: TestDNSProviders/example.com/35:DS_(children_only)_CLOUDNS_***SKIPPED(CanUseDSForChildren_not_supported)***:Empty (1.13s)
        --- PASS: TestDNSProviders/example.com/36:ALIAS:ALIAS_at_root (3.07s)
        --- PASS: TestDNSProviders/example.com/36:ALIAS:change_it (3.03s)
        --- PASS: TestDNSProviders/example.com/36:ALIAS:ALIAS_at_subdomain (4.09s)
        --- PASS: TestDNSProviders/example.com/36:ALIAS:change_it#01 (3.08s)
        --- PASS: TestDNSProviders/example.com/Post_cleanup:Empty#25 (2.03s)
        --- PASS: TestDNSProviders/example.com/37:AZURE_ALIAS_A_***SKIPPED(CanUseAzureAlias_not_supported)***:Empty (1.00s)
        --- PASS: TestDNSProviders/example.com/38:AZURE_ALIAS_CNAME_***SKIPPED(CanUseAzureAlias_not_supported)***:Empty (1.05s)
        --- PASS: TestDNSProviders/example.com/39:R53_ALIAS2_***SKIPPED(CanUseRoute53Alias_not_supported)***:Empty (1.00s)
        --- PASS: TestDNSProviders/example.com/40:R53_ALIAS_ORDER_***SKIPPED(CanUseRoute53Alias_not_supported)***:Empty (1.00s)
        --- PASS: TestDNSProviders/example.com/41:R53_ALIAS_CNAME_***SKIPPED(CanUseRoute53Alias_not_supported)***:Empty (1.04s)
        --- PASS: TestDNSProviders/example.com/42:R53_ALIAS_Loop_***SKIPPED(CanUseRoute53Alias_not_supported)***:Empty (1.14s)
        --- PASS: TestDNSProviders/example.com/43:CF_REDIRECT_***SKIPPED(disabled_by_only)***:Empty (0.99s)
        --- PASS: TestDNSProviders/example.com/44:CF_PROXY_***SKIPPED(disabled_by_only)***:Empty (1.07s)
        --- PASS: TestDNSProviders/example.com/45:CF_WORKER_ROUTE_***SKIPPED(disabled_by_only)***:Empty (1.01s)
        --- PASS: TestDNSProviders/example.com/46:IGNORE_NAME_function:Create_some_records (4.28s)
        --- PASS: TestDNSProviders/example.com/46:IGNORE_NAME_function:Add_a_new_record_-_ignoring_foo (5.02s)
        --- PASS: TestDNSProviders/example.com/46:IGNORE_NAME_function:Empty (2.06s)
        --- PASS: TestDNSProviders/example.com/46:IGNORE_NAME_function:Create_some_records#01 (4.09s)
        --- PASS: TestDNSProviders/example.com/46:IGNORE_NAME_function:Add_a_new_record_-_ignoring_*.foo (5.15s)
        --- PASS: TestDNSProviders/example.com/Post_cleanup:Empty#26 (2.13s)
        --- PASS: TestDNSProviders/example.com/47:IGNORE_NAME_apex:Create_some_records (6.12s)
        --- PASS: TestDNSProviders/example.com/47:IGNORE_NAME_apex:Add_a_new_record_-_ignoring_apex (5.29s)
        --- PASS: TestDNSProviders/example.com/Post_cleanup:Empty#27 (4.15s)
        --- PASS: TestDNSProviders/example.com/48:IGNORE_TARGET_function:Create_some_records (4.20s)
        --- PASS: TestDNSProviders/example.com/48:IGNORE_TARGET_function:Add_a_new_record_-_ignoring_test.foo.com. (3.08s)
        --- PASS: TestDNSProviders/example.com/48:IGNORE_TARGET_function:Empty (3.09s)
        --- PASS: TestDNSProviders/example.com/48:IGNORE_TARGET_function:Create_some_records#01 (4.16s)
        --- PASS: TestDNSProviders/example.com/48:IGNORE_TARGET_function:Add_a_new_record_-_ignoring_**.foo.com._targets (4.23s)
        --- PASS: TestDNSProviders/example.com/Post_cleanup:Empty#28 (3.07s)
        --- PASS: TestDNSProviders/example.com/49:LOC_***SKIPPED(CanUseLOC_not_supported)***:Empty (1.02s)
=== RUN   TestDualProviders
    integration_test.go:319: Skipping.  DocDualHost == Cannot
--- SKIP: TestDualProviders (0.99s)
PASS
ok  	github.com/StackExchange/dnscontrol/v3/integrationTest	683.060s
Diff2 integration test result
--- PASS: TestDNSProviders (706.35s)
    --- PASS: TestDNSProviders/example.com (704.62s)
        --- PASS: TestDNSProviders/example.com/Clean_Slate:Empty (1.12s)
        --- PASS: TestDNSProviders/example.com/00:A:Create_A (3.13s)
        --- PASS: TestDNSProviders/example.com/00:A:Change_A_target (3.10s)
        --- PASS: TestDNSProviders/example.com/Post_cleanup:Empty (2.05s)
        --- PASS: TestDNSProviders/example.com/01:Attl:Create_Arc (3.02s)
        --- PASS: TestDNSProviders/example.com/01:Attl:Change_TTL (7.18s)
        --- PASS: TestDNSProviders/example.com/Post_cleanup:Empty#01 (8.14s)
        --- PASS: TestDNSProviders/example.com/02:MX:Create_MX (4.15s)
        --- PASS: TestDNSProviders/example.com/02:MX:Change_MX_target (3.06s)
        --- PASS: TestDNSProviders/example.com/02:MX:Change_MX_p (3.02s)
        --- PASS: TestDNSProviders/example.com/Post_cleanup:Empty#02 (2.09s)
        --- PASS: TestDNSProviders/example.com/03:CNAME:Create_a_CNAME (3.04s)
        --- PASS: TestDNSProviders/example.com/03:CNAME:Change_CNAME_target (3.01s)
        --- PASS: TestDNSProviders/example.com/Post_cleanup:Empty#03 (2.04s)
        --- PASS: TestDNSProviders/example.com/04:ManyAtOne:CreateManyAtLabel (5.12s)
        --- PASS: TestDNSProviders/example.com/04:ManyAtOne:Empty (4.08s)
        --- PASS: TestDNSProviders/example.com/04:ManyAtOne:Create_an_A_record (3.11s)
        --- PASS: TestDNSProviders/example.com/04:ManyAtOne:Add_at_label1 (3.08s)
        --- PASS: TestDNSProviders/example.com/04:ManyAtOne:Add_at_label2 (3.07s)
        --- PASS: TestDNSProviders/example.com/Post_cleanup:Empty#04 (4.41s)
        --- PASS: TestDNSProviders/example.com/05:manyAtOneTypes:CreateManyTypesAtLabel (5.43s)
        --- PASS: TestDNSProviders/example.com/05:manyAtOneTypes:Empty (4.17s)
        --- PASS: TestDNSProviders/example.com/05:manyAtOneTypes:Create_an_A_record (3.01s)
        --- PASS: TestDNSProviders/example.com/05:manyAtOneTypes:Add_Type_At_Label (3.07s)
        --- PASS: TestDNSProviders/example.com/05:manyAtOneTypes:Add_Type_At_Label#01 (3.10s)
        --- PASS: TestDNSProviders/example.com/Post_cleanup:Empty#05 (4.11s)
        --- PASS: TestDNSProviders/example.com/06:Apex:Create_A (3.09s)
        --- PASS: TestDNSProviders/example.com/06:Apex:Change_A_target (3.13s)
        --- PASS: TestDNSProviders/example.com/Post_cleanup:Empty#06 (2.14s)
        --- PASS: TestDNSProviders/example.com/07:TTL:Start (5.14s)
        --- PASS: TestDNSProviders/example.com/07:TTL:Change_a_ttl (3.02s)
        --- PASS: TestDNSProviders/example.com/07:TTL:Change_single_target_from_set (3.24s)
        --- PASS: TestDNSProviders/example.com/07:TTL:Change_all_ttls (3.07s)
        --- PASS: TestDNSProviders/example.com/Post_cleanup:Empty#07 (4.06s)
        --- PASS: TestDNSProviders/example.com/08:add_to_label_and_change_orig_ttl:Setup (3.08s)
        --- PASS: TestDNSProviders/example.com/08:add_to_label_and_change_orig_ttl:Add_at_same_label,_new_ttl (4.22s)
        --- PASS: TestDNSProviders/example.com/Post_cleanup:Empty#08 (3.06s)
        --- PASS: TestDNSProviders/example.com/09:Protocol-Wildcard:Create_wildcard (4.33s)
        --- PASS: TestDNSProviders/example.com/09:Protocol-Wildcard:Delete_wildcard (3.20s)
        --- PASS: TestDNSProviders/example.com/Post_cleanup:Empty#09 (2.05s)
        --- PASS: TestDNSProviders/example.com/10:TypeChange:Create_a_CNAME (3.09s)
        --- PASS: TestDNSProviders/example.com/10:TypeChange:Change_to_A_record (4.06s)
        --- PASS: TestDNSProviders/example.com/10:TypeChange:Change_back_to_CNAME (4.25s)
        --- PASS: TestDNSProviders/example.com/Post_cleanup:Empty#10 (2.03s)
        --- PASS: TestDNSProviders/example.com/11:CommonDNS:Create_1_of_each (5.15s)
        --- PASS: TestDNSProviders/example.com/11:CommonDNS:Change_param1 (5.05s)
        --- PASS: TestDNSProviders/example.com/11:CommonDNS:Change_param2 (3.10s)
        --- PASS: TestDNSProviders/example.com/Post_cleanup:Empty#11 (4.36s)
        --- PASS: TestDNSProviders/example.com/12:CNAME:Record_pointing_to_@ (3.15s)
        --- PASS: TestDNSProviders/example.com/Post_cleanup:Empty#12 (2.13s)
        --- PASS: TestDNSProviders/example.com/13:MX:Record_pointing_to_@ (3.08s)
        --- PASS: TestDNSProviders/example.com/13:MX:Null_MX (4.13s)
        --- PASS: TestDNSProviders/example.com/Post_cleanup:Empty#13 (2.06s)
        --- PASS: TestDNSProviders/example.com/14:NS:NS_for_subdomain (3.04s)
        --- PASS: TestDNSProviders/example.com/14:NS:Dual_NS_for_subdomain (3.05s)
        --- PASS: TestDNSProviders/example.com/14:NS:NS_Record_pointing_to_@ (6.28s)
        --- PASS: TestDNSProviders/example.com/Post_cleanup:Empty#14 (3.12s)
        --- PASS: TestDNSProviders/example.com/15:complex_TXT:TXT_with_1_single-quote (3.08s)
        --- PASS: TestDNSProviders/example.com/15:complex_TXT:TXT_with_1_backtick (4.06s)
        --- PASS: TestDNSProviders/example.com/15:complex_TXT:TXT_with_1_double-quotes (4.09s)
        --- PASS: TestDNSProviders/example.com/15:complex_TXT:TXT_with_2_double-quotes (4.14s)
        --- PASS: TestDNSProviders/example.com/15:complex_TXT:a_TXT_with_interior_ws (4.20s)
        --- SKIP: TestDNSProviders/example.com/15:complex_TXT:TXT_with_ws_at_end (0.00s)
        --- PASS: TestDNSProviders/example.com/Post_cleanup:Empty#15 (2.09s)
        --- PASS: TestDNSProviders/example.com/16:Case_Sensitivity:Create_CAPS (3.06s)
        --- PASS: TestDNSProviders/example.com/16:Case_Sensitivity:Downcase_label (3.03s)
        --- PASS: TestDNSProviders/example.com/16:Case_Sensitivity:Downcase_target (3.09s)
        --- PASS: TestDNSProviders/example.com/16:Case_Sensitivity:Upcase_both (3.17s)
        --- PASS: TestDNSProviders/example.com/Post_cleanup:Empty#16 (3.08s)
        --- PASS: TestDNSProviders/example.com/17:testByLabel:initial (4.10s)
        --- PASS: TestDNSProviders/example.com/17:testByLabel:changeOne (3.02s)
        --- PASS: TestDNSProviders/example.com/17:testByLabel:deleteOne (3.11s)
        --- PASS: TestDNSProviders/example.com/17:testByLabel:addOne (3.04s)
        --- PASS: TestDNSProviders/example.com/Post_cleanup:Empty#17 (3.36s)
        --- PASS: TestDNSProviders/example.com/18:testByRecordSet:initial (7.48s)
        --- PASS: TestDNSProviders/example.com/18:testByRecordSet:changeOne (3.02s)
        --- PASS: TestDNSProviders/example.com/18:testByRecordSet:deleteOne (3.10s)
        --- PASS: TestDNSProviders/example.com/18:testByRecordSet:addOne (3.19s)
        --- PASS: TestDNSProviders/example.com/Post_cleanup:Empty#18 (6.13s)
        --- PASS: TestDNSProviders/example.com/19:IDNA:Internationalized_name (3.04s)
        --- PASS: TestDNSProviders/example.com/19:IDNA:Change_IDN (3.06s)
        --- PASS: TestDNSProviders/example.com/19:IDNA:Internationalized_CNAME_Target (4.08s)
        --- PASS: TestDNSProviders/example.com/Post_cleanup:Empty#19 (2.09s)
        --- PASS: TestDNSProviders/example.com/20:IDNAs_in_CNAME_targets:IDN_CNAME_AND_Target (3.14s)
        --- PASS: TestDNSProviders/example.com/Post_cleanup:Empty#20 (2.05s)
        --- PASS: TestDNSProviders/example.com/21:pager101:99_records (111.66s)
        --- PASS: TestDNSProviders/example.com/21:pager101:100_records (3.16s)
        --- PASS: TestDNSProviders/example.com/21:pager101:101_records (3.15s)
        --- PASS: TestDNSProviders/example.com/Post_cleanup:Empty#21 (106.72s)
        --- PASS: TestDNSProviders/example.com/22:pager601_***SKIPPED(disabled_by_only)***:Empty (1.01s)
        --- PASS: TestDNSProviders/example.com/23:pager1201_***SKIPPED(disabled_by_only)***:Empty (1.05s)
        --- PASS: TestDNSProviders/example.com/24:NS1_URLFWD_tests_***SKIPPED(disabled_by_only)***:Empty (1.00s)
        --- PASS: TestDNSProviders/example.com/25:CAA_***SKIPPED(CanUseCAA_not_supported)***:Empty (1.15s)
        --- PASS: TestDNSProviders/example.com/26:NAPTR_***SKIPPED(CanUseNAPTR_not_supported)***:Empty (1.00s)
        --- PASS: TestDNSProviders/example.com/27:PTR_***SKIPPED(CanUsePTR_not_supported)***:Empty (1.00s)
        --- PASS: TestDNSProviders/example.com/28:SOA_***SKIPPED(CanUseSOA_not_supported)***:Empty (1.00s)
        --- PASS: TestDNSProviders/example.com/29:SRV:SRV_record (3.06s)
        --- PASS: TestDNSProviders/example.com/29:SRV:Second_SRV_record,_same_prio (3.06s)
        --- PASS: TestDNSProviders/example.com/29:SRV:3_SRV (3.15s)
        --- PASS: TestDNSProviders/example.com/29:SRV:Delete_one (3.04s)
        --- PASS: TestDNSProviders/example.com/29:SRV:Change_Target (3.08s)
        --- PASS: TestDNSProviders/example.com/29:SRV:Change_Priority (3.05s)
        --- PASS: TestDNSProviders/example.com/29:SRV:Change_Weight (3.11s)
        --- PASS: TestDNSProviders/example.com/29:SRV:Change_Port (3.00s)
        --- PASS: TestDNSProviders/example.com/29:SRV:Empty (3.36s)
        --- PASS: TestDNSProviders/example.com/29:SRV:Null_Target (3.08s)
        --- PASS: TestDNSProviders/example.com/Post_cleanup:Empty#22 (2.05s)
        --- PASS: TestDNSProviders/example.com/30:SRV:Create_SRV333 (3.07s)
        --- PASS: TestDNSProviders/example.com/30:SRV:Change_TTL999 (3.03s)
        --- PASS: TestDNSProviders/example.com/Post_cleanup:Empty#23 (2.03s)
        --- PASS: TestDNSProviders/example.com/31:SSHFP_***SKIPPED(CanUseSSHFP_not_supported)***:Empty (1.01s)
        --- PASS: TestDNSProviders/example.com/32:TLSA:TLSA_record (3.25s)
        --- PASS: TestDNSProviders/example.com/32:TLSA:TLSA_change_usage (3.06s)
        --- PASS: TestDNSProviders/example.com/32:TLSA:TLSA_change_selector (3.05s)
        --- PASS: TestDNSProviders/example.com/32:TLSA:TLSA_change_matchingtype (3.10s)
        --- PASS: TestDNSProviders/example.com/32:TLSA:TLSA_change_certificate (3.06s)
        --- PASS: TestDNSProviders/example.com/Post_cleanup:Empty#24 (2.08s)
        --- PASS: TestDNSProviders/example.com/33:DS_***SKIPPED(CanUseDS_not_supported)***:Empty (1.08s)
        --- PASS: TestDNSProviders/example.com/34:DS_(children_only)_***SKIPPED(CanUseDSForChildren_not_supported)***:Empty (1.04s)
        --- PASS: TestDNSProviders/example.com/35:DS_(children_only)_CLOUDNS_***SKIPPED(CanUseDSForChildren_not_supported)***:Empty (1.02s)
        --- PASS: TestDNSProviders/example.com/36:ALIAS:ALIAS_at_root (3.05s)
        --- PASS: TestDNSProviders/example.com/36:ALIAS:change_it (3.14s)
        --- PASS: TestDNSProviders/example.com/36:ALIAS:ALIAS_at_subdomain (4.10s)
        --- PASS: TestDNSProviders/example.com/36:ALIAS:change_it#01 (3.04s)
        --- PASS: TestDNSProviders/example.com/Post_cleanup:Empty#25 (2.05s)
        --- PASS: TestDNSProviders/example.com/37:AZURE_ALIAS_A_***SKIPPED(CanUseAzureAlias_not_supported)***:Empty (1.05s)
        --- PASS: TestDNSProviders/example.com/38:AZURE_ALIAS_CNAME_***SKIPPED(CanUseAzureAlias_not_supported)***:Empty (1.04s)
        --- PASS: TestDNSProviders/example.com/39:R53_ALIAS2_***SKIPPED(CanUseRoute53Alias_not_supported)***:Empty (1.00s)
        --- PASS: TestDNSProviders/example.com/40:R53_ALIAS_ORDER_***SKIPPED(CanUseRoute53Alias_not_supported)***:Empty (1.03s)
        --- PASS: TestDNSProviders/example.com/41:R53_ALIAS_CNAME_***SKIPPED(CanUseRoute53Alias_not_supported)***:Empty (1.00s)
        --- PASS: TestDNSProviders/example.com/42:R53_ALIAS_Loop_***SKIPPED(CanUseRoute53Alias_not_supported)***:Empty (1.11s)
        --- PASS: TestDNSProviders/example.com/43:CF_REDIRECT_***SKIPPED(disabled_by_only)***:Empty (1.43s)
        --- PASS: TestDNSProviders/example.com/44:CF_PROXY_***SKIPPED(disabled_by_only)***:Empty (4.03s)
        --- PASS: TestDNSProviders/example.com/45:CF_WORKER_ROUTE_***SKIPPED(disabled_by_only)***:Empty (8.48s)
        --- PASS: TestDNSProviders/example.com/46:IGNORE_NAME_function:Create_some_records (20.86s)
        --- PASS: TestDNSProviders/example.com/46:IGNORE_NAME_function:Add_a_new_record_-_ignoring_foo (5.43s)
        --- PASS: TestDNSProviders/example.com/46:IGNORE_NAME_function:Empty (2.02s)
        --- PASS: TestDNSProviders/example.com/46:IGNORE_NAME_function:Create_some_records#01 (4.09s)
        --- PASS: TestDNSProviders/example.com/46:IGNORE_NAME_function:Add_a_new_record_-_ignoring_*.foo (5.07s)
        --- PASS: TestDNSProviders/example.com/Post_cleanup:Empty#26 (2.06s)
        --- PASS: TestDNSProviders/example.com/47:IGNORE_NAME_apex:Create_some_records (6.09s)
        --- PASS: TestDNSProviders/example.com/47:IGNORE_NAME_apex:Add_a_new_record_-_ignoring_apex (5.85s)
        --- PASS: TestDNSProviders/example.com/Post_cleanup:Empty#27 (4.25s)
        --- PASS: TestDNSProviders/example.com/48:IGNORE_TARGET_function:Create_some_records (4.06s)
        --- PASS: TestDNSProviders/example.com/48:IGNORE_TARGET_function:Add_a_new_record_-_ignoring_test.foo.com. (4.11s)
        --- PASS: TestDNSProviders/example.com/48:IGNORE_TARGET_function:Empty (2.07s)
        --- PASS: TestDNSProviders/example.com/48:IGNORE_TARGET_function:Create_some_records#01 (4.08s)
        --- PASS: TestDNSProviders/example.com/48:IGNORE_TARGET_function:Add_a_new_record_-_ignoring_**.foo.com._targets (5.15s)
        --- PASS: TestDNSProviders/example.com/Post_cleanup:Empty#28 (2.05s)
        --- PASS: TestDNSProviders/example.com/49:LOC_***SKIPPED(CanUseLOC_not_supported)***:Empty (1.02s)
=== RUN   TestDualProviders
    integration_test.go:319: Skipping.  DocDualHost == Cannot
--- SKIP: TestDualProviders (1.05s)
PASS
ok  	github.com/StackExchange/dnscontrol/v3/integrationTest	707.408s

@Deraen
Copy link
Contributor

Deraen commented Mar 26, 2023

I tested the Digitalocean provider with a production-like config, and it worked. I'm no longer using Digitalocean, but I could run my Route53 config after commenting out a few R53-specific records.

@willpower232
Copy link
Contributor

Good news that the changes seem to have corrected most of the situation, there are now consistent failures for both with and without diff2

--- FAIL: TestDNSProviders/willpower232testsdnscontrol.com/04:MX:Create_MX
--- FAIL: TestDNSProviders/willpower232testsdnscontrol.com/07:manyTypesAtOnce:CreateManyTypesAtLabel
--- FAIL: TestDNSProviders/willpower232testsdnscontrol.com/14:MX:Record_pointing_to_@
--- FAIL: TestDNSProviders/willpower232testsdnscontrol.com/17:Case_Sensitivity:Create_CAPS
--- FAIL: TestDNSProviders/willpower232testsdnscontrol.com/19:testByRecordSet:initial

the code you mentioned seems to be missing a dc and actual so if you think that is what is needed, I'll take a closer look when time allows

@masterzen
Copy link
Contributor

masterzen commented Mar 26, 2023

OVH status

Integration test results ✅

--- PASS: TestDNSProviders (134.96s)
--- PASS: TestDNSProviders/dnscontroltest.ovh (134.77s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/Clean_Slate:Empty (0.57s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/00:A:Create_A (0.57s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/00:A:Change_A_target (0.58s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/Post_cleanup:Empty (0.41s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/01:Apex:Create_A (0.63s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/01:Apex:Change_A_target (0.68s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/Post_cleanup:Empty#01 (0.46s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/02:Protocol-Wildcard:Create_wildcard (0.79s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/02:Protocol-Wildcard:Delete_wildcard (0.63s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/Post_cleanup:Empty#02 (0.41s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/03:CNAME:Create_a_CNAME (0.61s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/03:CNAME:Change_CNAME_target (0.68s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/Post_cleanup:Empty#03 (0.50s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/04:MX:Create_MX (0.55s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/04:MX:Change_MX_target (0.60s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/04:MX:Change_MX_p (0.67s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/Post_cleanup:Empty#04 (0.47s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/05:TXT:Create_TXT (0.56s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/05:TXT:Change_TXT_target (0.59s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/Post_cleanup:Empty#05 (0.41s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/06:ManyAtOnce:CreateManyAtLabel (0.83s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/06:ManyAtOnce:Empty (0.79s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/06:ManyAtOnce:Create_an_A_record (0.54s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/06:ManyAtOnce:Add_at_label1 (0.73s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/06:ManyAtOnce:Add_at_label2 (0.82s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/Post_cleanup:Empty#06 (0.65s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/07:manyTypesAtOnce:CreateManyTypesAtLabel (0.82s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/07:manyTypesAtOnce:Empty (0.71s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/07:manyTypesAtOnce:Create_an_A_record (0.53s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/07:manyTypesAtOnce:Add_Type_At_Label (0.69s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/07:manyTypesAtOnce:Add_Type_At_Label#01 (0.72s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/Post_cleanup:Empty#07 (0.71s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/08:Attl:Create_Arc (0.56s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/08:Attl:Change_TTL (0.60s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/Post_cleanup:Empty#08 (0.48s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/09:TTL:Start (0.81s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/09:TTL:Change_a_ttl (0.75s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/09:TTL:Change_single_target_from_set (0.80s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/09:TTL:Change_all_ttls (1.02s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/Post_cleanup:Empty#09 (0.80s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/10:add_to_label_and_change_orig_ttl:Setup (0.57s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/10:add_to_label_and_change_orig_ttl:Add_at_same_label,new_ttl (0.72s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/Post_cleanup:Empty#10 (0.56s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/11:TypeChange:Create_A (0.48s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/11:TypeChange:Change_to_MX (0.76s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/11:TypeChange:Change_back_to_A (0.67s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/Post_cleanup:Empty#11 (0.48s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/12:TypeChangeHard:Create_a_CNAME (0.59s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/12:TypeChangeHard:Change_to_A_record (0.75s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/12:TypeChangeHard:Change_back_to_CNAME (0.68s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/Post_cleanup:Empty#12 (0.41s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/13:CNAME:Record_pointing_to
@ (0.58s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/Post_cleanup:Empty#13 (0.48s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/14:MX:Record_pointing_to_@ (0.54s)
--- SKIP: TestDNSProviders/dnscontroltest.ovh/14:MX:Null_MX (0.00s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/Post_cleanup:Empty#14 (0.42s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/15:NS:NS_for_subdomain (0.60s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/15:NS:Dual_NS_for_subdomain (0.55s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/15:NS:NS_Record_pointing_to_@ (1.02s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/Post_cleanup:Empty#15 (0.61s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/16:complex_TXT:TXT_with_1_single-quote (0.56s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/16:complex_TXT:TXT_with_1_backtick (0.67s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/16:complex_TXT:TXT_with_1_double-quotes (0.76s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/16:complex_TXT:TXT_with_2_double-quotes (0.70s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/16:complex_TXT:a_TXT_with_interior_ws (0.70s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/16:complex_TXT:TXT_with_ws_at_end (0.67s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/Post_cleanup:Empty#16 (0.48s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/17:Case_Sensitivity:Create_CAPS (0.64s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/17:Case_Sensitivity:Downcase_label (0.61s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/17:Case_Sensitivity:Downcase_target (0.61s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/17:Case_Sensitivity:Upcase_both (0.74s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/Post_cleanup:Empty#17 (0.68s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/18:testByLabel:initial (0.63s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/18:testByLabel:changeOne (0.73s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/18:testByLabel:deleteOne (0.66s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/18:testByLabel:addOne (0.60s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/Post_cleanup:Empty#18 (0.62s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/19:testByRecordSet:initial (1.08s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/19:testByRecordSet:changeOne (0.89s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/19:testByRecordSet:deleteOne (0.94s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/19:testByRecordSet:addOne (0.77s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/Post_cleanup:Empty#19 (0.98s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/20:IDNA:Internationalized_name (0.54s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/20:IDNA:Change_IDN (0.57s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/20:IDNA:Internationalized_CNAME_Target (0.66s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/Post_cleanup:Empty#20 (0.41s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/21:IDNAs_in_CNAME_targets:IDN_CNAME_AND_Target (0.62s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/Post_cleanup:Empty#21 (0.42s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/22:pager101:99_records (14.49s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/22:pager101:100_records (8.99s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/22:pager101:101_records (9.08s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/Post_cleanup:Empty#22 (14.20s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/23:pager601_SKIPPED(disabled_by_only):Empty (0.13s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/24:pager1201_SKIPPED(disabled_by_only):Empty (0.12s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/25:CAA:CAA_record (0.47s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/25:CAA:CAA_change_tag (0.50s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/25:CAA:CAA_change_target (0.61s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/25:CAA:CAA_change_flag (0.60s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/25:CAA:CAA_many_records (0.59s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/25:CAA:CAA_whitespace (0.68s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/Post_cleanup:Empty#23 (0.49s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/26:LOC_SKIPPED(CanUseLOC_not_supported):Empty (0.15s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/27:NAPTR_SKIPPED(CanUseNAPTR_not_supported):Empty (0.14s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/28:PTR_SKIPPED(CanUsePTR_not_supported):Empty (0.12s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/29:SOA_SKIPPED(CanUseSOA_not_supported):Empty (0.13s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/30:SRV:SRV_record (0.53s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/30:SRV:Second_SRV_record,same_prio (0.55s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/30:SRV:3_SRV (0.76s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/30:SRV:Delete_one (0.69s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/30:SRV:Change_Target (0.67s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/30:SRV:Change_Priority (0.68s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/30:SRV:Change_Weight (0.59s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/30:SRV:Change_Port (0.66s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/30:SRV:Empty (0.62s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/30:SRV:Null_Target (0.52s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/Post_cleanup:Empty#24 (0.48s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/31:SRV:Create_SRV333 (0.62s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/31:SRV:Change_TTL999 (0.65s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/Post_cleanup:Empty#25 (0.44s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/32:SSHFP:SSHFP_record (0.52s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/32:SSHFP:SSHFP_change_algorithm (0.68s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/32:SSHFP:SSHFP_change_fingerprint_and_type (0.57s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/Post_cleanup:Empty#26 (0.35s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/33:TLSA:TLSA_record (0.47s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/33:TLSA:TLSA_change_usage (0.66s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/33:TLSA:TLSA_change_selector (0.55s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/33:TLSA:TLSA_change_matchingtype (0.68s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/33:TLSA:TLSA_change_certificate (0.62s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/Post_cleanup:Empty#27 (0.48s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/34:DS
SKIPPED(CanUseDS_not_supported):Empty (0.12s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/35:DS_(children_only)SKIPPED(CanUseDSForChildren_not_supported):Empty (0.13s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/36:DS
(children_only)CLOUDNSSKIPPED(CanUseDSForChildren_not_supported):Empty (0.12s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/37:ALIAS_SKIPPED(CanUseAlias_not_supported):Empty (0.35s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/38:AZURE_ALIAS_A_SKIPPED(CanUseAzureAlias_not_supported):Empty (0.13s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/39:AZURE_ALIAS_CNAME_SKIPPED(CanUseAzureAlias_not_supported):Empty (0.13s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/40:R53_ALIAS2_SKIPPED(CanUseRoute53Alias_not_supported):Empty (0.13s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/41:R53_ALIAS_ORDER_SKIPPED(CanUseRoute53Alias_not_supported):Empty (0.13s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/42:R53_ALIAS_CNAME_SKIPPED(CanUseRoute53Alias_not_supported):Empty (0.13s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/43:R53_ALIAS_Loop_SKIPPED(CanUseRoute53Alias_not_supported):Empty (0.13s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/44:CF_REDIRECT_SKIPPED(disabled_by_only):Empty (0.12s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/45:CF_PROXY_SKIPPED(disabled_by_only):Empty (0.13s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/46:CF_WORKER_ROUTE_SKIPPED(disabled_by_only):Empty (0.12s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/47:NS1_URLFWD_tests_SKIPPED(disabled_by_only):Empty (0.13s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/48:IGNORE_NAME_function:Create_some_records (0.67s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/48:IGNORE_NAME_function:Add_a_new_record_-ignoring_foo (0.86s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/48:IGNORE_NAME_function:Empty (0.38s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/48:IGNORE_NAME_function:Create_some_records#01 (0.69s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/48:IGNORE_NAME_function:Add_a_new_record
-ignoring*.foo (0.91s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/Post_cleanup:Empty#28 (0.54s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/49:IGNORE_NAME_apex:Create_some_records (0.96s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/49:IGNORE_NAME_apex:Add_a_new_record_-ignoring_apex (1.07s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/Post_cleanup:Empty#29 (0.79s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/50:IGNORE_TARGET_function:Create_some_records (0.77s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/50:IGNORE_TARGET_function:Add_a_new_record
-ignoring_test.foo.com. (0.71s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/50:IGNORE_TARGET_function:Empty (0.54s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/50:IGNORE_TARGET_function:Create_some_records#01 (0.68s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/50:IGNORE_TARGET_function:Add_a_new_record
-ignoring**.foo.com._targets (0.81s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/Post_cleanup:Empty#30 (0.54s)
=== RUN TestDualProviders
integration_test.go:337: Clearing everything
integration_test.go:344: Adding nameservers from another provider
integration_test.go:331: #1:
+ CREATE NS dnscontroltest.ovh ns1.example.com. ttl=300
integration_test.go:331: #2:
+ CREATE NS dnscontroltest.ovh ns2.example.com. ttl=300
integration_test.go:331: #3:
REFRESH zone dnscontroltest.ovh
integration_test.go:347: Running again to ensure stability
--- PASS: TestDualProviders (1.11s)
PASS
ok github.com/StackExchange/dnscontrol/v3/integrationTest 136.344s

`diff2` integration tests ✅

--- PASS: TestDNSProviders (135.40s)
--- PASS: TestDNSProviders/dnscontroltest.ovh (135.30s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/Clean_Slate:Empty (0.63s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/00:A:Create_A (1.68s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/00:A:Change_A_target (0.55s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/Post_cleanup:Empty (0.42s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/01:Apex:Create_A (0.61s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/01:Apex:Change_A_target (0.59s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/Post_cleanup:Empty#01 (0.58s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/02:Protocol-Wildcard:Create_wildcard (0.66s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/02:Protocol-Wildcard:Delete_wildcard (0.65s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/Post_cleanup:Empty#02 (0.48s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/03:CNAME:Create_a_CNAME (0.53s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/03:CNAME:Change_CNAME_target (0.56s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/Post_cleanup:Empty#03 (0.41s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/04:MX:Create_MX (0.55s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/04:MX:Change_MX_target (0.57s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/04:MX:Change_MX_p (1.03s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/Post_cleanup:Empty#04 (0.47s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/05:TXT:Create_TXT (0.59s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/05:TXT:Change_TXT_target (0.57s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/Post_cleanup:Empty#05 (0.41s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/06:ManyAtOnce:CreateManyAtLabel (0.82s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/06:ManyAtOnce:Empty (0.80s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/06:ManyAtOnce:Create_an_A_record (0.56s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/06:ManyAtOnce:Add_at_label1 (1.06s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/06:ManyAtOnce:Add_at_label2 (0.91s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/Post_cleanup:Empty#06 (0.79s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/07:manyTypesAtOnce:CreateManyTypesAtLabel (0.82s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/07:manyTypesAtOnce:Empty (0.67s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/07:manyTypesAtOnce:Create_an_A_record (0.60s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/07:manyTypesAtOnce:Add_Type_At_Label (0.70s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/07:manyTypesAtOnce:Add_Type_At_Label#01 (0.78s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/Post_cleanup:Empty#07 (0.75s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/08:Attl:Create_Arc (0.51s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/08:Attl:Change_TTL (0.59s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/Post_cleanup:Empty#08 (0.40s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/09:TTL:Start (0.81s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/09:TTL:Change_a_ttl (0.69s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/09:TTL:Change_single_target_from_set (0.75s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/09:TTL:Change_all_ttls (0.97s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/Post_cleanup:Empty#09 (0.72s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/10:add_to_label_and_change_orig_ttl:Setup (0.59s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/10:add_to_label_and_change_orig_ttl:Add_at_same_label,new_ttl (0.72s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/Post_cleanup:Empty#10 (0.66s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/11:TypeChange:Create_A (0.43s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/11:TypeChange:Change_to_MX (0.61s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/11:TypeChange:Change_back_to_A (0.76s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/Post_cleanup:Empty#11 (0.42s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/12:TypeChangeHard:Create_a_CNAME (0.46s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/12:TypeChangeHard:Change_to_A_record (0.65s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/12:TypeChangeHard:Change_back_to_CNAME (0.74s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/Post_cleanup:Empty#12 (0.41s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/13:CNAME:Record_pointing_to
@ (0.55s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/Post_cleanup:Empty#13 (0.33s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/14:MX:Record_pointing_to_@ (0.64s)
--- SKIP: TestDNSProviders/dnscontroltest.ovh/14:MX:Null_MX (0.00s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/Post_cleanup:Empty#14 (0.40s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/15:NS:NS_for_subdomain (0.65s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/15:NS:Dual_NS_for_subdomain (0.65s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/15:NS:NS_Record_pointing_to_@ (0.93s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/Post_cleanup:Empty#15 (0.53s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/16:complex_TXT:TXT_with_1_single-quote (0.47s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/16:complex_TXT:TXT_with_1_backtick (0.68s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/16:complex_TXT:TXT_with_1_double-quotes (0.58s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/16:complex_TXT:TXT_with_2_double-quotes (0.71s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/16:complex_TXT:a_TXT_with_interior_ws (0.73s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/16:complex_TXT:TXT_with_ws_at_end (0.71s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/Post_cleanup:Empty#16 (0.41s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/17:Case_Sensitivity:Create_CAPS (0.59s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/17:Case_Sensitivity:Downcase_label (0.72s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/17:Case_Sensitivity:Downcase_target (0.63s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/17:Case_Sensitivity:Upcase_both (0.56s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/Post_cleanup:Empty#17 (0.53s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/18:testByLabel:initial (0.69s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/18:testByLabel:changeOne (0.64s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/18:testByLabel:deleteOne (0.52s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/18:testByLabel:addOne (0.67s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/Post_cleanup:Empty#18 (0.62s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/19:testByRecordSet:initial (1.19s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/19:testByRecordSet:changeOne (0.96s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/19:testByRecordSet:deleteOne (0.89s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/19:testByRecordSet:addOne (0.95s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/Post_cleanup:Empty#19 (1.10s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/20:IDNA:Internationalized_name (0.47s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/20:IDNA:Change_IDN (0.72s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/20:IDNA:Internationalized_CNAME_Target (0.85s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/Post_cleanup:Empty#20 (0.47s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/21:IDNAs_in_CNAME_targets:IDN_CNAME_AND_Target (0.54s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/Post_cleanup:Empty#21 (0.41s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/22:pager101:99_records (14.24s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/22:pager101:100_records (8.86s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/22:pager101:101_records (9.27s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/Post_cleanup:Empty#22 (14.32s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/23:pager601_SKIPPED(disabled_by_only):Empty (0.12s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/24:pager1201_SKIPPED(disabled_by_only):Empty (0.12s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/25:CAA:CAA_record (0.60s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/25:CAA:CAA_change_tag (0.63s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/25:CAA:CAA_change_target (0.57s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/25:CAA:CAA_change_flag (0.56s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/25:CAA:CAA_many_records (0.68s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/25:CAA:CAA_whitespace (0.67s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/Post_cleanup:Empty#23 (0.46s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/26:LOC_SKIPPED(CanUseLOC_not_supported):Empty (0.13s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/27:NAPTR_SKIPPED(CanUseNAPTR_not_supported):Empty (0.12s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/28:PTR_SKIPPED(CanUsePTR_not_supported):Empty (0.12s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/29:SOA_SKIPPED(CanUseSOA_not_supported):Empty (0.15s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/30:SRV:SRV_record (0.61s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/30:SRV:Second_SRV_record,same_prio (0.61s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/30:SRV:3_SRV (0.67s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/30:SRV:Delete_one (0.70s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/30:SRV:Change_Target (0.68s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/30:SRV:Change_Priority (0.76s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/30:SRV:Change_Weight (0.64s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/30:SRV:Change_Port (0.75s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/30:SRV:Empty (0.57s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/30:SRV:Null_Target (0.55s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/Post_cleanup:Empty#24 (0.41s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/31:SRV:Create_SRV333 (0.51s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/31:SRV:Change_TTL999 (0.66s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/Post_cleanup:Empty#25 (0.45s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/32:SSHFP:SSHFP_record (0.60s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/32:SSHFP:SSHFP_change_algorithm (0.63s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/32:SSHFP:SSHFP_change_fingerprint_and_type (0.51s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/Post_cleanup:Empty#26 (0.37s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/33:TLSA:TLSA_record (0.58s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/33:TLSA:TLSA_change_usage (0.66s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/33:TLSA:TLSA_change_selector (0.58s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/33:TLSA:TLSA_change_matchingtype (0.60s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/33:TLSA:TLSA_change_certificate (0.63s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/Post_cleanup:Empty#27 (0.41s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/34:DS
SKIPPED(CanUseDS_not_supported):Empty (0.12s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/35:DS_(children_only)SKIPPED(CanUseDSForChildren_not_supported):Empty (0.16s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/36:DS
(children_only)CLOUDNSSKIPPED(CanUseDSForChildren_not_supported):Empty (0.13s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/37:ALIAS_SKIPPED(CanUseAlias_not_supported):Empty (0.12s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/38:AZURE_ALIAS_A_SKIPPED(CanUseAzureAlias_not_supported):Empty (0.13s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/39:AZURE_ALIAS_CNAME_SKIPPED(CanUseAzureAlias_not_supported):Empty (0.12s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/40:R53_ALIAS2_SKIPPED(CanUseRoute53Alias_not_supported):Empty (0.13s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/41:R53_ALIAS_ORDER_SKIPPED(CanUseRoute53Alias_not_supported):Empty (0.12s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/42:R53_ALIAS_CNAME_SKIPPED(CanUseRoute53Alias_not_supported):Empty (0.13s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/43:R53_ALIAS_Loop_SKIPPED(CanUseRoute53Alias_not_supported):Empty (0.12s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/44:CF_REDIRECT_SKIPPED(disabled_by_only):Empty (0.13s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/45:CF_PROXY_SKIPPED(disabled_by_only):Empty (0.13s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/46:CF_WORKER_ROUTE_SKIPPED(disabled_by_only):Empty (0.12s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/47:NS1_URLFWD_tests_SKIPPED(disabled_by_only):Empty (0.12s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/48:IGNORE_NAME_function:Create_some_records (0.70s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/48:IGNORE_NAME_function:Add_a_new_record_-ignoring_foo (0.76s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/48:IGNORE_NAME_function:Empty (0.48s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/48:IGNORE_NAME_function:Create_some_records#01 (0.66s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/48:IGNORE_NAME_function:Add_a_new_record
-ignoring*.foo (0.80s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/Post_cleanup:Empty#28 (0.49s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/49:IGNORE_NAME_apex:Create_some_records (1.02s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/49:IGNORE_NAME_apex:Add_a_new_record_-ignoring_apex (0.96s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/Post_cleanup:Empty#29 (0.63s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/50:IGNORE_TARGET_function:Create_some_records (0.68s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/50:IGNORE_TARGET_function:Add_a_new_record
-ignoring_test.foo.com. (0.70s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/50:IGNORE_TARGET_function:Empty (0.48s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/50:IGNORE_TARGET_function:Create_some_records#01 (0.60s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/50:IGNORE_TARGET_function:Add_a_new_record
-ignoring**.foo.com._targets (0.80s)
--- PASS: TestDNSProviders/dnscontroltest.ovh/Post_cleanup:Empty#30 (0.46s)
=== RUN TestDualProviders
integration_test.go:337: Clearing everything
integration_test.go:344: Adding nameservers from another provider
integration_test.go:331: #1:
+ CREATE dnscontroltest.ovh NS ns1.example.com. ttl=300
integration_test.go:331: #2:
+ CREATE dnscontroltest.ovh NS ns2.example.com. ttl=300
integration_test.go:331: #3:
REFRESH zone dnscontroltest.ovh
integration_test.go:347: Running again to ensure stability
--- PASS: TestDualProviders (1.00s)
PASS
ok github.com/StackExchange/dnscontrol/v3/integrationTest 136.651s

LOC 🚫 doesn't work as is for OVH (in diff2 and regular modes, I'll have a look in the week)
my own code works fine in diff2 mode.

@tlimoncelli
Copy link
Contributor Author

willpower232

the code you mentioned seems to be missing a dc and actual so if you think that is what is needed, I'll take a closer look when time allows

I fixed that a few minutes later (oops!). Take a look at the latest tlim_corrector branch and let me know if that worked.

@willpower232
Copy link
Contributor

I was referring to these lines missing dc and actual

// rec.SetLabel(r.Name, dc.Name)
// switch rtype := r.Type; rtype { // #rtype_variations
// case "TXT":
// rec.SetTargetTXT(r.Address)
// case "CAA":
// rec.SetTargetCAAString(r.Address)
// default:
// rec.SetTarget(r.Address)
// }
// actual = append(actual, rec)

the latest commit of the branch doesn't seem to change anything I'm afraid

@tlimoncelli
Copy link
Contributor Author

tlimoncelli commented Mar 27, 2023

@willpower232

I was referring to these lines missing dc and actual

Does the current tlim_corrector branch compile and successfully run the integration tests? If so, then that commented out code can be deleted.

the latest commit of the branch doesn't seem to change anything I'm afraid

Make sure the branch you are using has record.SetLabel(dnsHost.Name, origin) at line 300. That is the line I added which, I hope, will fix the integration tests.

@willpower232
Copy link
Contributor

I'm currently at a58fb77 as of yesterday, the setLabel seems to have fixed most of the tests but these ones still fail

--- FAIL: TestDNSProviders/willpower232testsdnscontrol.com/04:MX:Create_MX
--- FAIL: TestDNSProviders/willpower232testsdnscontrol.com/07:manyTypesAtOnce:CreateManyTypesAtLabel
--- FAIL: TestDNSProviders/willpower232testsdnscontrol.com/14:MX:Record_pointing_to_@
--- FAIL: TestDNSProviders/willpower232testsdnscontrol.com/17:Case_Sensitivity:Create_CAPS
--- FAIL: TestDNSProviders/willpower232testsdnscontrol.com/19:testByRecordSet:initial

github is having a bad time right now though so if you have pushed anything since then, it might not have actually pushed 😅

@tlimoncelli
Copy link
Contributor Author

I'm currently at a58fb77 as of yesterday, the setLabel seems to have fixed most of the tests but these ones still fail

This is the 2nd provider to have this issue. I think it might be on the dnscontrol end. Let me poke around.

@tlimoncelli
Copy link
Contributor Author

I'm currently at a58fb77 as of yesterday, the setLabel seems to have fixed most of the tests but these ones still fail

This is the 2nd provider to have this issue. I think it might be on the dnscontrol end. Let me poke around.

I spoke too soon. I don't think that's the issue.

Could you try these tests on master and with/without diff2?

@willpower232
Copy link
Contributor

alas there is only one fail on the master branch in both with and without diff2, the 04:Change_MX_p which has been failing since before I started running the tests.

@tlimoncelli
Copy link
Contributor Author

@willpower232 Let's move this discussion to a separate issue. I've created #2238

@hnrgrgr
Copy link
Contributor

hnrgrgr commented Mar 27, 2023

Some fixes are needed for AXFRDDNS to work. See #2239

The MR also includes a fix for #1913 and a fix for a unrelated error discovered when testing the experimental branch.

@tlimoncelli
Copy link
Contributor Author

I did some major surgery to the code of these 3 providers. Please run the tests asap as I don't want to break anything.

This provider had major changes but since I have a Cloudflare account, I was able to test them myself. However I encourage you to do extra testing yourself:

I would appreciate it if people could complete these tests by April 14 or sooner. Thanks!

@D3luxee
Copy link
Contributor

D3luxee commented Mar 29, 2023

I started to run the first tests but as usual it takes me a lot of time because of the hourly and daily rate limits of desec.
Last time i had to spread the tests over three days.. and if you forgot on one day to run the tests.. it takes even longer.
A bit annoying :D

@tlimoncelli
Copy link
Contributor Author

I started to run the first tests but as usual it takes me a lot of time because of the hourly and daily rate limits of desec. Last time i had to spread the tests over three days.. and if you forgot on one day to run the tests.. it takes even longer. A bit annoying :D

Wow! That sounds annoying! I have a similar situation with the CSCGLOBAL provider (12 hours).

Here are some things I've done to work around this:

  • Exclude the provider from the pager101, pager601 , and pager1201 integration tests. They're only needed for providers that send or receive data in batches. Most don't.
  • Use tmux or screen on a remote host so you don't tie up your laptop/desktop
  • Split the tests over 2 or more domains. One is -start 0 -end 19 the next is -start 20 -end 39, and so on.
  • Open a support ticket and report the slowness. In some cases we were rate-limited. Once the rate limit was removed, the tests ran in just a few minutes
  • Identify tests that run slowly and exclude them with not(). You can always re-activate those tests if you suspect a regression.

Hope those help!

Tom

@juliusrickert
Copy link
Contributor

Hosting.de looks good to me.

There is one failing test for SOA:Modify_SOA_ns____ but I observed this behaviour prior to this change.
I opened an issue to track this: #2243.

Output: legacy diff2

@imlonghao
Copy link
Contributor

ClouDNS LGTM.

one test failed but also failed in master branch, tracked in #2244

Output: legacy.txt diff2.txt

(I'm not ClouDNS maintainer, the maintainer seems busy so I think I can test for him)

@tlimoncelli
Copy link
Contributor Author

@imlonghao Thanks for the assist!

@onlyhavecans
Copy link
Contributor

All tests for DNSimple work, including doing production previews and push with the -diff2 flag

@costasd
Copy link
Contributor

costasd commented Mar 30, 2023

Hi folks, integration & production (preview/push) tests for NS1 were successful in both legacy and diff2 modes.

@KaiSchwarz-cnic
Copy link
Contributor

@tlimoncelli thanks for testing us in OT&E. We addressed a little refactoring PR independent of this request for testing. We tested on our end in OT&E as well -> working. Running the integration tests on production isn't useful imho - a domain name is required for doing that (no problem), but the DNS Functionality is not coming with differences for the production environment compared to the OT&E environment. I don't see a benefit in that regard.

@tlimoncelli
Copy link
Contributor Author

KaiSchwarz-cnic:

@tlimoncelli thanks for testing us in OT&E. We addressed a little refactoring PR independent of this request for testing. We tested on our end in OT&E as well -> working. Running the integration tests on production isn't useful imho - a domain name is required for doing that (no problem), but the DNS Functionality is not coming with differences for the production environment compared to the OT&E environment. I don't see a benefit in that regard.

Sure, I've always assumed that testing in OT&E is sufficient. My request to test in production was a request to test any dnsconfig.js configurations you might be using.

Tom

@das7pad
Copy link
Contributor

das7pad commented Apr 1, 2023

The integration tests passed for HETZNER with both diff modes. I'll send you a PR with some cleanup later this weekend.

@D3luxee
Copy link
Contributor

D3luxee commented Apr 2, 2023

The integration tests for deSec passed, good to go from my side.

@tlimoncelli
Copy link
Contributor Author

Hey folks! Friendly remind to those that haven't spoken up yet:

I know that Github often doesn't deliver email reliably. I hope these messages are getting through.

The changes made to dnsmadeeasy are particularly big, so if anyone knows @vojtad or has an account there and can run the tests, I'd appreciate it.

@vojtad
Copy link
Contributor

vojtad commented Apr 7, 2023

Hi! We've migrated our DNS from dnsmadeeasy to cloudflare but I will try to do my best to keep the provider up to date.

All tests are passing for dnsmadeeasy. However, I am not able to test it in production environment anymore.

@svernick
Copy link
Contributor

akamaiedgedns tests passed.

go test -v -verbose -timeout 15m -provider AKAMAIEDGEDNS
PASS
ok github.com/StackExchange/dnscontrol/v3/integrationTest 290.844s

go test -v -verbose -timeout 15m -provider AKAMAIEDGEDNS --diff2
PASS
ok github.com/StackExchange/dnscontrol/v3/integrationTest 277.566s

@svernick
Copy link
Contributor

verify whether the new LOC record works for them (update the .Can() and submit Pr if so)

Should I make the change to the 'tlim_corrector' branch? That is, submit a PR to pull my change into 'tlim_corrector'?

@tlimoncelli
Copy link
Contributor Author

svernick

Should I make the change to the 'tlim_corrector' branch? That is, submit a PR to pull my change into 'tlim_corrector'?

Base the PR against master. I'll merge it up to tlim_corrector afterwords. Thanks for checking!

@tlimoncelli
Copy link
Contributor Author

This is going to be merged tomorrow or Saturday (May 14 or 15th). Last call for testing!

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 a pull request may close this issue.