bfs order is not reproducible
When running arch-rebuild-order multiple times the output order is not always the same. While technically this might still generate a correct rebuild order, it does make verifying the order in tests harder and makes it a bit akward in usage as users can be easily confused when re-running a command and getting different output.
[jelle@natrium][~/projects/arch-rebuild-order]%cargo run blender opencolorio1
Compiling arch-rebuild-order v0.1.0 (/home/jelle/projects/arch-rebuild-order)
Finished dev [unoptimized + debuginfo] target(s) in 1.46s
Running `target/debug/arch-rebuild-order blender opencolorio1`
[src/lib.rs:150] pkg = "blender"
[src/lib.rs:154] node = "blender"
[src/lib.rs:150] pkg = "opencolorio1"
[src/lib.rs:154] node = "openshadinglanguage"
[src/lib.rs:154] node = "blender"
[src/lib.rs:154] node = "openimageio"
[src/lib.rs:154] node = "krita-plugin-gmic"
[src/lib.rs:154] node = "krita"
[src/lib.rs:154] node = "opencolorio1"
opencolorio1 krita krita-plugin-gmic openimageio openshadinglanguage blender
[jelle@natrium][~/projects/arch-rebuild-order]%cargo run blender opencolorio1
Finished dev [unoptimized + debuginfo] target(s) in 0.02s
Running `target/debug/arch-rebuild-order blender opencolorio1`
[src/lib.rs:150] pkg = "blender"
[src/lib.rs:154] node = "blender"
[src/lib.rs:150] pkg = "opencolorio1"
[src/lib.rs:154] node = "blender"
[src/lib.rs:154] node = "krita-plugin-gmic"
[src/lib.rs:154] node = "krita"
[src/lib.rs:154] node = "openshadinglanguage"
[src/lib.rs:154] node = "openimageio"
[src/lib.rs:154] node = "opencolorio1"
opencolorio1 openimageio openshadinglanguage krita krita-plugin-gmic blender
As shown in the example above, it seems bfs.next()
does not generate a predictable order.