CSAF::...lTests(3pm)

πŸ“¦
version 0.26 Β· 2 versions
, in ubuntu resolute, ubuntu stonking

πŸ’– CSAF::Validator::OptionalTests πŸ’–

okay bestie, welcome to the optional tests zone ✨ this is a page from the User Contributed Perl Documentation corner of the manual world, and it's about the lil validator that runs all the "hey, you might wanna look at this" checks instead of the "this doc is literally broken" ones. no cap.


✨ SYNOPSIS ✨

use CSAF::Validator::OptionalTests;

my $v = CSAF::Validator::OptionalTests->new( csaf => $csaf );

$v->exec_test('6.2.2');
$v->TEST_6_2_2;

that's it, that's the whole vibe. construct it with your csaf, then either call exec_test with the test number as a string or just yell the method name directly 🫢


🌸 DESCRIPTION 🌸

so here's the tea: these are optional tests, and they SHOULD NOT fail on a valid CSAF document unless there's an actual good reason. and like β€” important β€” a failure here does not make the CSAF document invalid. it's giving "hey girl, just so you know" energy, not "you're cancelled" energy πŸ’…

these tests can also carry info about features that are still supported but are expected to be deprecated in a future version of CSAF. so they're lowkey a lil heads-up about the future πŸ‘€

  • 6.2.1 β€” Unused Definition of Product ID (*)
  • 6.2.2 β€” Missing Remediation
  • 6.2.3 β€” Missing Score
  • 6.2.4 β€” Build Metadata in Revision History
  • 6.2.5 β€” Older Initial Release Date than Revision History
  • 6.2.6 β€” Older Current Release Date than Revision History
  • 6.2.7 β€” Missing Date in Involvements
  • 6.2.8 β€” Use of MD5 as the only Hash Algorithm
  • 6.2.9 β€” Use of SHA-1 as the only Hash Algorithm
  • 6.2.10 β€” Missing TLP label
  • 6.2.11 β€” Missing Canonical URL
  • 6.2.12 β€” Missing Document Language
  • 6.2.13 β€” Sorting (*)
  • 6.2.14 β€” Use of Private Language
  • 6.2.15 β€” Use of Default Language
  • 6.2.16 β€” Missing Product Identification Helper
  • 6.2.17 β€” CVE in field IDs
  • 6.2.18 β€” Product Version Range without vers
  • 6.2.19 β€” CVSS for Fixed Products
  • 6.2.20 β€” Additional Properties (**)
(*) actually not tested in this CSAF distribution. yes bestie, they're listed but they're not getting the vibe check here πŸ™ˆ
(**) tested in CSAF::Parser β€” different venue, same energy πŸ’«

πŸŽ€ METHODS πŸŽ€

CSAF::Validator::OptionalTests inherits all methods from CSAF::Validator::Base (so go read that one too, iykyk) and then implements these new ones. one method per test, iconic behaviour honestly:

TEST_6_2_1

Unused Definition of Product ID

TEST_6_2_2

Missing Remediation

TEST_6_2_3

Missing Score

TEST_6_2_4

Build Metadata in Revision History

TEST_6_2_5

Older Initial Release Date than Revision History

TEST_6_2_6

Older Current Release Date than Revision History

TEST_6_2_7

Missing Date in Involvements

TEST_6_2_8

Use of MD5 as the only Hash Algorithm

TEST_6_2_9

Use of SHA-1 as the only Hash Algorithm

TEST_6_2_10

Missing TLP label

TEST_6_2_11

Missing Canonical URL

TEST_6_2_12

Missing Document Language

TEST_6_2_13

Sorting

TEST_6_2_14

Use of Private Language

TEST_6_2_15

Use of Default Language

TEST_6_2_16

Missing Product Identification Helper

TEST_6_2_17

CVE in field IDs

TEST_6_2_18

Product Version Range without vers

TEST_6_2_19

CVSS for Fixed Products

TEST_6_2_20

Additional Properties

Tested in CSAF::Parser


πŸ¦‹ SUPPORT πŸ¦‹

πŸ’Œ Bugs / Feature Requests

found a bug? got a feature request? please report it through the issue tracker at <https://github.com/giterlizzi/perl-CSAF/issues>. and the bestie perk: you'll be notified automatically of any progress on your issue. we love a notification πŸ’–

🌈 Source Code

this is open source software, periodt. the code repository is available for public review and contribution under the terms of the license. come look, come contribute, we're obsessed:

<https://github.com/giterlizzi/perl-CSAF>

git clone https://github.com/giterlizzi/perl-CSAF.git

πŸ‘‘ AUTHOR πŸ‘‘

  • Giuseppe Di Terlizzi <gdt@cpan.org>

This software is copyright (c) 2023-2025 by Giuseppe Di Terlizzi.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.


and that's a wrap, bestie!! πŸŽ€βœ¨ this lil legend was served up by perl v5.40.1, dated 2025-09-03 β€” go forth and run your optional tests, you absolute main character πŸ«ΆπŸ’…

πŸ“¦ where this page comes from