From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from firstgate.proxmox.com (firstgate.proxmox.com [212.224.123.68]) by lore.proxmox.com (Postfix) with ESMTPS id F31091FF164 for ; Fri, 20 Dec 2024 19:52:42 +0100 (CET) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id 619EBBFEB; Fri, 20 Dec 2024 19:52:42 +0100 (CET) From: Max Carrara To: pve-devel@lists.proxmox.com Date: Fri, 20 Dec 2024 19:51:55 +0100 Message-Id: <20241220185207.519912-1-m.carrara@proxmox.com> X-Mailer: git-send-email 2.39.5 MIME-Version: 1.0 X-SPAM-LEVEL: Spam detection results: 0 AWL 0.036 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% DMARC_MISSING 0.1 Missing DMARC policy KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment RCVD_IN_VALIDITY_CERTIFIED_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to Validity was blocked. See https://knowledge.validity.com/hc/en-us/articles/20961730681243 for more information. RCVD_IN_VALIDITY_RPBL_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to Validity was blocked. See https://knowledge.validity.com/hc/en-us/articles/20961730681243 for more information. RCVD_IN_VALIDITY_SAFE_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to Validity was blocked. See https://knowledge.validity.com/hc/en-us/articles/20961730681243 for more information. SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_PASS -0.001 SPF: sender matches SPF record URIBL_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to URIBL was blocked. See http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block for more information. [proxmox.com, path.pm, filesystem.pm] Subject: [pve-devel] [PATCH v2 pve-common 00/12] Introduce and Package PVE::Path & PVE::Filesystem X-BeenThere: pve-devel@lists.proxmox.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Proxmox VE development discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: Proxmox VE development discussion Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: pve-devel-bounces@lists.proxmox.com Sender: "pve-devel" Introduce and Package PVE::Path & PVE::Filesystem - v2 ====================================================== Notable Changes Since v1 ------------------------ Incorporate Thomas's feedback [1] as much as possible. I was probably too eager to push this out yesterday and did notice many spots where the amount of test cases / tests being performed can be reduced significantly. The original commit that added all the tests to begin with is also split into multiple smaller commits to hopefully make reviewing this easier. The total amount of tests performed has therefore gone down from 1050 to 475 if I counted correctly (yikes). The only things that are still tested more elaborately are the file name manipulation and path comparison functions. There is some potential to slim those down as well, but I wanted to get a v2 out before Christmas for some additional feedback. Additionally, there was one slight discrepancy I noticed between how I documented path_parent and it's actual behaviour -- the behaviour was adapted accordingly. The behaviour of the boolean functions path_is_absolute and path_is_relative is also improved. See patch 01 for all details. Closing Remarks --------------- As always, any feedback is welcome -- if possible, it would be nice if somebody could give these two modules a spin and tell me how they feel. If there's anything that is or feels unexpected, surprising, inconsistent, etc. please let me know! References ---------- [1]: https://lore.proxmox.com/pve-devel/4990a4b4-5027-4db2-9909-d36af8a54a07@proxmox.com/ Older Versions -------------- v1: https://lore.proxmox.com/pve-devel/20241219183143.526267-1-m.carrara@proxmox.com/ Summary of Changes ------------------ Max Carrara (12): introduce PVE::Path test: add directory for tests of PVE::Path module test: add tests for path_is_absolute and path_is_relative of PVE::Path test: add tests for path_components of PVE::Path test: add tests for path_join of PVE::Path test: add tests for path_push of PVE::Path test: add tests for path_parent of PVE::Path test: add tests for path_starts_with, path_ends_with, path_equals test: add test for file path operation functions of PVE::Path test: add tests for path_normalize of PVE::Path introduce PVE::Filesystem debian: introduce package libproxmox-fs-path-utils-perl debian/control | 6 + debian/libproxmox-fs-path-utils-perl.install | 2 + debian/libpve-common-perl.install | 29 + src/Makefile | 2 + src/PVE/Filesystem.pm | 78 ++ src/PVE/Path.pm | 987 ++++++++++++++ test/Makefile | 5 +- test/Path/Makefile | 24 + test/Path/path_comparison_tests.pl | 851 ++++++++++++ test/Path/path_components_tests.pl | 159 +++ test/Path/path_file_ops_tests.pl | 1220 ++++++++++++++++++ test/Path/path_is_absolute_relative_tests.pl | 122 ++ test/Path/path_join_tests.pl | 310 +++++ test/Path/path_normalize_tests.pl | 176 +++ test/Path/path_parent_tests.pl | 153 +++ test/Path/path_push_tests.pl | 159 +++ 16 files changed, 4282 insertions(+), 1 deletion(-) create mode 100644 debian/libproxmox-fs-path-utils-perl.install create mode 100644 debian/libpve-common-perl.install create mode 100644 src/PVE/Filesystem.pm create mode 100644 src/PVE/Path.pm create mode 100644 test/Path/Makefile create mode 100755 test/Path/path_comparison_tests.pl create mode 100755 test/Path/path_components_tests.pl create mode 100755 test/Path/path_file_ops_tests.pl create mode 100755 test/Path/path_is_absolute_relative_tests.pl create mode 100755 test/Path/path_join_tests.pl create mode 100755 test/Path/path_normalize_tests.pl create mode 100755 test/Path/path_parent_tests.pl create mode 100755 test/Path/path_push_tests.pl -- 2.39.5 _______________________________________________ pve-devel mailing list pve-devel@lists.proxmox.com https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel