diff options
| author | John Turner <jturner.usa@gmail.com> | 2025-10-25 02:02:07 -0400 |
|---|---|---|
| committer | John Turner <jturner.usa@gmail.com> | 2025-10-25 02:02:07 -0400 |
| commit | f05c1e92ad51edb4c6971e52f8344fdf8681afee (patch) | |
| tree | 59da0773fec1ad5a7d3e53987c5bbe042a565848 /tests | |
| parent | f854e9757704eafaeb9e9847fbadff7d7b23e2a4 (diff) | |
| download | gentoo-utils-f05c1e92ad51edb4c6971e52f8344fdf8681afee.tar.gz | |
impl DEPEND parser
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/depend.rs | 27 |
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(); + } + } + } + } +} |
