summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorJohn Turner <jturner.usa@gmail.com>2025-10-25 02:02:07 -0400
committerJohn Turner <jturner.usa@gmail.com>2025-10-25 02:02:07 -0400
commitf05c1e92ad51edb4c6971e52f8344fdf8681afee (patch)
tree59da0773fec1ad5a7d3e53987c5bbe042a565848 /tests
parentf854e9757704eafaeb9e9847fbadff7d7b23e2a4 (diff)
downloadgentoo-utils-f05c1e92ad51edb4c6971e52f8344fdf8681afee.tar.gz
impl DEPEND parser
Diffstat (limited to 'tests')
-rw-r--r--tests/depend.rs27
1 files changed, 27 insertions, 0 deletions
diff --git a/tests/depend.rs b/tests/depend.rs
new file mode 100644
index 0000000..1385862
--- /dev/null
+++ b/tests/depend.rs
@@ -0,0 +1,27 @@
+use gentoo_utils::depend;
+use mon::{Parser, eof, input::InputIter, tag};
+use std::fs;
+
+#[test]
+fn parse_md5_cache() {
+ let md5_cache = "/var/db/repos/gentoo/metadata/md5-cache";
+
+ for cat in fs::read_dir(md5_cache).unwrap() {
+ for pkg in fs::read_dir(cat.unwrap().path()).unwrap() {
+ let metadata = fs::read_to_string(pkg.unwrap().path()).unwrap();
+
+ for line in metadata.lines() {
+ if line.starts_with("DEPEND=") {
+ eprintln!("{line}");
+
+ depend::parsers::exprs()
+ .ignore()
+ .or(eof())
+ .preceded_by(tag("DEPEND="))
+ .check_finished(InputIter::new(line))
+ .unwrap();
+ }
+ }
+ }
+ }
+}