Zonema...Address(3pm)

πŸ’– Zonemaster::Engine::Test::Address β€” bestie edition πŸ’–

okay so this is the Perl module from Zonemaster that handles all the tests about the IP addresses of name servers. yeah. the ones that actually go brrr. welcome, you're gonna love her πŸ’…


✨ SYNOPSIS ✨

look at her. one line. iconic.

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

πŸŽ€ METHODS πŸŽ€

all()

my @logentry_array = all( $zone );

this runs the default set of tests for the module β€” which is between two and three tests, depending on the zone you're testing, no cap. and bestie, the tea is: if ADDRESS02 passes, then ADDRESS03 gets run. conditioning, queen behavior ✨

  • 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 can use in log entries. it's giving index-card energy πŸ—‚οΈ

tag_descriptions()

my $hash_ref = tag_descriptions();

this one is used by the built-in translation system, so it's doing important work behind the scenes fr fr.

  • returns a reference to a hash where the keys are the message tags and the values are strings (message IDs)

version()

my $version_string = version();

returns a string with the version of the current module. short, sweet, always knows what she is 🫢


πŸ” INTERNAL METHODS πŸ”

heads up bestie, these are the ~internal~ ones. they're here for the module itself, so don't go calling them just for fun πŸ™ˆ

_emit_log()

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

adds a message to the logger for this module. for the full deets, go look at "add($tag, $argref, $module, $testcase)" in Zonemaster::Engine::Logger::Entry.

  • takes a string (the message tag) and a reference to a hash (the arguments)
  • returns a Zonemaster::Engine::Logger::Entry object

_find_special_address()

my $hash_ref = _find_special_address( $ip );

checks whether an IP address is a special one β€” meaning private, reserved, ... you know the type πŸ•΅οΈ

  • takes a Net::IP::XS object
  • returns a reference to a hash if it's true (see "_extract_iana_ip_blocks()" in Zonemaster::Engine::Constants), or undef if it's false

πŸ§ͺ TESTS πŸ§ͺ

all three of these take a Zonemaster::Engine::Zone object and return a list of Zonemaster::Engine::Logger::Entry objects. consistent queens πŸ’…

address01()

my @logentry_array = address01( $zone );

runs the Address01 Test Case πŸ‘‰ <https://github.com/zonemaster/zonemaster/blob/master/docs/public/specifications/tests/Address-TP/address01.md>

address02()

my @logentry_array = address02( $zone );

runs the Address02 Test Case πŸ‘‰ <https://github.com/zonemaster/zonemaster/blob/master/docs/public/specifications/tests/Address-TP/address02.md>

address03()

my @logentry_array = address03( $zone );

runs the Address03 Test Case πŸ‘‰ <https://github.com/zonemaster/zonemaster/blob/master/docs/public/specifications/tests/Address-TP/address03.md>


and that's the whole page bestie, you ate that. 🌈 go run some tests, check some name server IPs, be the main character of your own zone file. πŸ˜­πŸ’–

✨ sign-off time ✨ this lil doc came from perl v5.40.1, dated 2026-03-21, and it lives under the name Zonemaster::Engine::Test::Address(3pm). bye pookie, see you in the next man page πŸ¦‹πŸŒΈ

πŸ“¦ where this page comes from