blob: 0d20a5e41f678e3807e2a32bb9b9adbfdd7d3fec (
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
28
29
30
31
|
candelabra := `which candelabra-cli 2>/dev/null || echo ./target/debug/candelabra-cli`
target_dir := justfile_directory() / "target"
tests_dir := justfile_directory() / "tests"
tests_manifest := tests_dir / "Cargo.toml"
impls := "std::collections::BTreeSet primrose_library::LazySortedVec std::collections::LinkedList primrose_library::EagerUniqueVec std::collections::HashSet std::collections::BTreeMap std::collections::HashMap primrose_library::LazyUniqueVec primrose_library::EagerSortedVec std::vec::Vec"
proj := "std::vec::Vec std::collections::LinkedList"
export RUST_LOG := "debug"
cost-models: rebuild
rm -fr {{target_dir}}/candelabra
@IMPLS=`{{candelabra}} list-library 2>&1 | cut -d ']' -f 2 | grep ::`; for impl in $IMPLS; do just cost-model $impl; done
selections *SELECTFLAGS: rebuild
@cd tests/ && for i in $(ls -d */); do [ "${i%%/}" == "target" ] || just select ${i%%/} {{SELECTFLAGS}}; done
rebuild:
which candelabra-cli 2>/dev/null || cargo build
echo "Candelabra Path: {{candelabra}}"
cost-model impl: (section-start ("cost-model-" + impl)) && (section-end ("cost-model-" + impl))
{{candelabra}} -l cost-model {{impl}}
select proj *FLAGS: (section-start ("compare-" + proj)) && (section-end ("compare-" + proj))
{{candelabra}} -l --manifest-path {{tests_manifest}} -p {{proj}} select {{FLAGS}}
@section-start NAME:
echo -e "\e[0Ksection_start:`date +%s`:{{replace(NAME, ":", "-")}}\r\e[0K{{replace(NAME, ":", "-")}}"
@section-end NAME:
echo -e "\e[0Ksection_end:`date +%s`:{{replace(NAME, ":", "-")}}\r\e[0K"
|