Zonema...::Basic(3pm)
๐ Zonemaster::Test::Basic โ the 3pm manual page ๐
okay bestie, so this is Zonemaster::Test::Basic, and it's a Perl module that implements the test for very basic domain functionality. Like, the bare-minimum "does this domain even work" vibe check. ๐ธ
โจ NAME โจ
Zonemaster::Test::Basic โ module implementing test for very basic domain functionality
No cap, that's literally the whole thing. It's the module that runs the super-fundamental checks before anything else gets to happen. ๐
๐ SYNOPSIS ๐
my @results = Zonemaster::Test::Basic->all($zone);
That's it, that's the whole entry point. One call, hand it a $zone, get back an array of @results. Iconic behaviour fr fr. ๐
๐ METHODS ๐
all($zone)โ runs between one and three tests, depending on the zone. The way it works: ifbasic01passes, thenbasic02is run. And ifbasic02fails, thenbasic03is run. So it's a little cascade, a lil chain reaction, and honestly? obsessed with the logic. ๐ฆmetadata()โ returns a reference to a hash. The keys of that hash are the names of all the test methods in the module, and the corresponding values are references to lists with all the tags that the method can use in log entries. So like, a little directory of who's who and what tags they're allowed to yell. ๐translation()โ returns a reference to a hash with translation data. It's used by the builtin translation system. i18n rights! ๐version()โ returns a version string for the module. Simple. Elegant. She just tells you what version she is. โญcan_continue(@results)โ looks at the provided log entries and returns true if they indicate that further testing of the relevant zone is possible. Basically she's reading the room and telling you "bestie, we can keep going" or "nah, we're done here." ๐ฎ
๐ง TESTS ๐ง
basic00โ checks if the domain name to be tested is valid. Not all syntax tests are done here, it "just" checks domain name total length and labels length. In case of failure, all other tests are aborted. So it's the bouncer at the door ๐ช โ if the name doesn't make it past her, nobody else even gets in. And yes, that "just" is doing a lot of heavy lifting, I know. ๐basic01โ checks that we can find a parent zone for the zone we're testing. If we can't, no further testing is done. Gotta know where you come from, queen. If there's no parent found, the whole thing stops right there. ๐ญbasic02โ checks that the nameservers for the parent zone returns NS records for the tested zone, and that at least one of the nameservers thus pointed out responds sensibly to an NS query for the tested zone. So it's a two-part situation: do the parent's nameservers actually point at the tested zone, and then does at least one of the pointed-at nameservers give a sensible answer to an NS query? โจbasic03โ checks if at least one of the nameservers pointed out by the parent zone gives a useful response when sent an A query for the"www"label in the tested zone. Like, if we're testing"example.org"then this test will ask for A records for"www.example.org". And heads up: this test is only run if thebasic02test has failed. It's the backup plan, the second-chance era, the "okay but what about the www though" moment. ๐ซถ
๐ gentle reminder bestie: basic00 failing kills everything downstream. Not me being dramatic, that's just the rules. ๐
kisses, this page was served to you from the 3pm manual, built with perl v5.32.0, dated 2021-01-06. slay, take care, hydrate, and go test some domains. ๐โจ๐๐
๐ฆ where this page comes from
- ubuntu jammy: libzonemaster-perl 1.0.16-2.1 ยท BSD-2-Clause
- ๐ girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms