Zonemaster::Engine::Test::Syntax - Module implementing tests focused on validating the syntax of host names and other data
my @results = Zonemaster::Engine::Test::Syntax->all( $zone );
my @logentry_array = all( $zone );
Runs the default set of tests for that module, i.e. between three and eight tests depending on the tested zone. If Syntax01 passes, the remaining tests are run.
Takes a Zonemaster::Engine::Zone object.
Returns a list of Zonemaster::Engine::Logger::Entry objects.
my $hash_ref = metadata();
Returns a reference to a hash, the keys of which are the names of all Test Cases in the module, and the corresponding values are references to an array containing all the message tags that the Test Case can use in log entries.
my $hash_ref = tag_descriptions();
Used by the built-in translation system.
Returns a reference to a hash, the keys of which are the message tags and the corresponding values are strings (message IDs).
my $version_string = version();
Returns a string containing the version of the current module.
my $log_entry = _emit_log( $message_tag_string, $hash_ref );
Adds a message to the logger for this module. See "add($tag, $argref, $module, $testcase)" in Zonemaster::Engine::Logger::Entry for more details.
Takes a string (message tag) and a reference to a hash (arguments).
Returns a Zonemaster::Engine::Logger::Entry object.
my $bool = _ip_disabled_message( $logentry_array_ref, $ns, @query_type_array );
Checks if the IP version of a given name server is allowed to be queried. If not, it adds a logging message and returns true. Else, it returns false.
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.
my $bool = _name_has_only_legal_characters( $name );
Checks if a given name contains only allowed characters.
Takes a Zonemaster::Engine::DNSName object.
my $bool = _label_starts_with_hyphen( $name );
Checks if a given name starts with an hyphen ('-').
my $bool = _label_ends_with_hyphen( $name );
Checks if a given name ends with an hyphen ('-').
my $bool = _label_not_ace_has_double_hyphen_in_position_3_and_4( $name );
Checks if a given name does not contain a double hyphen ('--'), with the exception of 'xn--'.
my @logentry_array = _check_name_syntax( $label_prefix_string, $name );
Checks the syntax of a given name. Makes use of "_name_has_only_legal_characters()" and "_label_not_ace_has_double_hyphen_in_position_3_and_4()". Used as an helper function for Test Cases Syntax04, Syntax07 and Syntax08.
Takes a string (label prefix) and either a string (name) or a Zonemaster::Engine::DNSName object.
my @logentry_array = syntax01( $zone );
Runs the Syntax01 Test Case.
my @logentry_array = syntax02( $zone );
Runs the Syntax02 Test Case.
my @logentry_array = syntax03( $zone );
Runs the Syntax03 Test Case.
my @logentry_array = syntax04( $zone );
Runs the Syntax04 Test Case.
my @logentry_array = syntax05( $zone );
Runs the Syntax05 Test Case.
my @logentry_array = syntax06( $zone );
Runs the Syntax06 Test Case.
my @logentry_array = syntax07( $zone );
Runs the Syntax07 Test Case.
my @logentry_array = syntax08( $zone );
Runs the Syntax08 Test Case.
To install Zonemaster::Engine, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Zonemaster::Engine
CPAN shell
perl -MCPAN -e shell install Zonemaster::Engine
For more information on module installation, please visit the detailed CPAN module installation guide.