From: Max Carrara <m.carrara@proxmox.com>
To: pve-devel@lists.proxmox.com
Subject: [pve-devel] [PATCH v2 pve-common 00/12] Introduce and Package PVE::Path & PVE::Filesystem
Date: Fri, 20 Dec 2024 19:51:55 +0100 [thread overview]
Message-ID: <20241220185207.519912-1-m.carrara@proxmox.com> (raw)
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
next reply other threads:[~2024-12-20 18:52 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-12-20 18:51 Max Carrara [this message]
2024-12-20 18:51 ` [pve-devel] [PATCH v2 pve-common 01/12] introduce PVE::Path Max Carrara
2024-12-20 18:51 ` [pve-devel] [PATCH v2 pve-common 02/12] test: add directory for tests of PVE::Path module Max Carrara
2024-12-20 18:51 ` [pve-devel] [PATCH v2 pve-common 03/12] test: add tests for path_is_absolute and path_is_relative of PVE::Path Max Carrara
2024-12-20 18:51 ` [pve-devel] [PATCH v2 pve-common 04/12] test: add tests for path_components " Max Carrara
2024-12-20 18:52 ` [pve-devel] [PATCH v2 pve-common 05/12] test: add tests for path_join " Max Carrara
2024-12-20 18:52 ` [pve-devel] [PATCH v2 pve-common 06/12] test: add tests for path_push " Max Carrara
2024-12-20 18:52 ` [pve-devel] [PATCH v2 pve-common 07/12] test: add tests for path_parent " Max Carrara
2024-12-20 18:52 ` [pve-devel] [PATCH v2 pve-common 08/12] test: add tests for path_starts_with, path_ends_with, path_equals Max Carrara
2024-12-20 18:52 ` [pve-devel] [PATCH v2 pve-common 09/12] test: add tests for file path ops functions of PVE::Path Max Carrara
2024-12-20 18:52 ` [pve-devel] [PATCH v2 pve-common 10/12] test: add tests for path_normalize " Max Carrara
2024-12-20 18:52 ` [pve-devel] [PATCH v2 pve-common 11/12] introduce PVE::Filesystem Max Carrara
2024-12-20 18:52 ` [pve-devel] [PATCH v2 pve-common 12/12] debian: introduce package libproxmox-fs-path-utils-perl Max Carrara
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20241220185207.519912-1-m.carrara@proxmox.com \
--to=m.carrara@proxmox.com \
--cc=pve-devel@lists.proxmox.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox