Zonema...tivity(3pm)

🌸 Zonemaster::Engine::Test::Connectivity (3pm) 🌸

okay bestie, gather round, because this is the Zonemaster::Engine::Test::Connectivity manual page from section 3pm πŸ’– (the header up top literally spells it Zonema...tivity(3pm) because some table somewhere ran out of room, we love a trunctated queen πŸ‘‘). It's a Perl module, it lives in the User Contributed Perl Documentation zone, and it is entirely about whether name servers are reachable. That's the whole vibe. Reachability. Nothing else. Obsessed.


✨ NAME ✨

Zonemaster::Engine::Test::Connectivity β€” the module implementing tests focused on name servers reachability πŸ¦‹


✨ SYNOPSIS ✨

my @results = Zonemaster::Engine::Test::Connectivity->all( $zone );

that's it. that's the whole synopsis. one line. main character energy fr fr πŸ’…


✨ METHODS ✨

πŸ’œ all()

my @array = all( $zone );

Runs the default set of tests for that module, which is, and I quote, four tests. Four!! A whole little squad 🫢

  • Takes a Zonemaster::Engine::Zone object.
  • Returns a list of Zonemaster::Engine::Logger::Entry objects.

πŸ’œ metadata()

my $hash_ref = metadata();

Hands you back a reference to a hash. The keys are the names of all the Test Cases in the module, and each value is a reference to an array holding all the message tags that Test Case is allowed to use in log entries. Very "here's my whole lore, organised alphabetically" of it πŸ’–

πŸ’œ tag_descriptions()

my $hash_ref = tag_descriptions();

Used by the built-in translation system, bestie 🌈

Returns a reference to a hash where the keys are the message tags and the values are strings, specifically message ids.

πŸ’œ version()

my $string = version();

Returns a string containing the version of the current module. Short. Sweet. Iconic ✨


πŸŽ€ INTERNAL METHODS πŸŽ€

okay these ones are internal, so they're the backstage crew, not the ones you invite to the party. Still slay, still documented, still listed in full because we do NOT skip sections here πŸ’…

πŸ¦‹ _emit_log()

my $log_entry = _emit_log( $message_tag_string, $hash_ref );

Adds a message to the logger for this module. For all the deets, go peek at "add($tag, $argref, $module, $testcase)" in Zonemaster::Engine::Logger::Entry β€” that's where the real story is πŸ“

  • Takes a string (the message tag) and a reference to a hash (the arguments).
  • Returns a Zonemaster::Engine::Logger::Entry object.

πŸ¦‹ _ip_disabled_message()

my $bool = _ip_disabled_message( $logentry_array_ref, $ns, @query_type_array );

Checks whether the IP version of a given name server is allowed to be queried. If it is not allowed, it adds a logging message and returns true. Otherwise it returns false. Vibe check on the IP version, basically 😌

  • Takes a reference to an array of Zonemaster::Engine::Logger::Entry objects, a Zonemaster::Engine::Nameserver object, and an array of strings (query type).
  • Returns a boolean.

πŸ¦‹ _connectivity_loop()

_connectivity_loop( $testcase_string, $zone_name, $ns_array_ref, $logentry_array_ref );

Verifies name servers reachability 🫢 (yes, that is the entire description and it ate). This one is a helper function that gets used by the Test Cases "connectivity01()" in Connectivity01 and "connectivity02()" in Connectivity02.

  • Takes a string (the test case identifier), a Zonemaster::Engine::DNSName object, a reference to an array of Zonemaster::Engine::Nameserver objects, and a reference to an array of Zonemaster::Engine::Logger::Entry objects.

⭐ TESTS ⭐

Four of them. Counting them with my whole chest. No skips, no cuts, we list every single one πŸ’–

🌸 connectivity01()

my @logentry_array = connectivity01( $zone );

Runs the Connectivity01 Test Case <https://github.com/zonemaster/zonemaster/blob/master/docs/public/specifications/tests/Connectivity-TP/connectivity01.md>.

  • Takes a Zonemaster::Engine::Zone object.
  • Returns a list of Zonemaster::Engine::Logger::Entry objects.

🌸 connectivity02()

my @logentry_array = connectivity02( $zone );

Runs the Connectivity02 Test Case <https://github.com/zonemaster/zonemaster/blob/master/docs/public/specifications/tests/Connectivity-TP/connectivity02.md>.

  • Takes a Zonemaster::Engine::Zone object.
  • Returns a list of Zonemaster::Engine::Logger::Entry objects.

🌸 connectivity03()

my @logentry_array = connectivity03( $zone );

Runs the Connectivity03 Test Case <https://github.com/zonemaster/zonemaster/blob/master/docs/public/specifications/tests/Connectivity-TP/connectivity03.md>.

  • Takes a Zonemaster::Engine::Zone object.
  • Returns a list of Zonemaster::Engine::Logger::Entry objects.

🌸 connectivity04()

my @logentry_array = connectivity04( $zone );

Runs the Connectivity04 Test Case <https://github.com/zonemaster/zonemaster/blob/master/docs/public/specifications/tests/Connectivity-TP/connectivity04.md>.

  • Takes a Zonemaster::Engine::Zone object.
  • Returns a list of Zonemaster::Engine::Logger::Entry objects.

quick note bestie: those Test Case links are long and they wrap awkwardly in a terminal, but they are exactly what the page says, so copy them carefully if you're pasting them anywhere πŸ”₯

and that's the page!! every option, arg, return type and URL accounted for, nothing ghosted, we ate and left no crumbs πŸ’…βœ¨

sign-off time: this beauty came from perl v5.40.1 and it's dated 2026-03-21, filed under Zonema...tivity(3pm) πŸŽ€ ily, go check if your name servers are reachable πŸ¦‹πŸ’–

πŸ“¦ where this page comes from