summaryrefslogtreecommitdiff
path: root/tests/depend.rs
blob: 085d739c9374498b791924174ba09e3727c70501 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
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}");
                    eprintln!();
                    depend::parsers::exprs()
                        .ignore()
                        .or(eof())
                        .preceded_by(tag("DEPEND="))
                        .check_finished(InputIter::new(line))
                        .unwrap();
                }
            }
        }
    }
}