This ports TestAstFunc2 from our home-grown content storage system to the txtar package. Since a single file can be used to represent the entire folder hierarchy, this makes it much easier to see and edit tests.
47 lines
1.5 KiB
Plaintext
47 lines
1.5 KiB
Plaintext
-- main.mcl --
|
|
file "/tmp/frags/" {
|
|
state => $const.res.file.state.exists,
|
|
}
|
|
|
|
# fragments
|
|
file "/tmp/frags/f1" {
|
|
state => $const.res.file.state.exists,
|
|
content => "i am f1\n",
|
|
}
|
|
file "/tmp/frags/f2" {
|
|
state => $const.res.file.state.exists,
|
|
content => "i am f2\n",
|
|
}
|
|
file "/tmp/frags/f3" {
|
|
state => $const.res.file.state.exists,
|
|
content => "i am f3\n",
|
|
}
|
|
|
|
# You can also drop in an unmanaged file into the frags dir for it to get used!
|
|
# And of course you can hard-code the list of files to use like this one is...
|
|
file "/tmp/bonus_file" {
|
|
state => $const.res.file.state.exists,
|
|
content => "i am a bonus file\n",
|
|
}
|
|
|
|
# automatic edges will get added!
|
|
file "/tmp/whole1" {
|
|
state => $const.res.file.state.exists,
|
|
fragments => [
|
|
"/tmp/frags/", # pull from this dir
|
|
"/tmp/bonus_file", # also pull this one file
|
|
],
|
|
}
|
|
-- OUTPUT --
|
|
Edge: file[/tmp/frags/] -> file[/tmp/frags/f1] # file[/tmp/frags/] -> file[/tmp/frags/f1] (autoedge)
|
|
Edge: file[/tmp/frags/] -> file[/tmp/frags/f2] # file[/tmp/frags/] -> file[/tmp/frags/f2] (autoedge)
|
|
Edge: file[/tmp/frags/] -> file[/tmp/frags/f3] # file[/tmp/frags/] -> file[/tmp/frags/f3] (autoedge)
|
|
Edge: file[/tmp/bonus_file] -> file[/tmp/whole1] # file[/tmp/bonus_file] -> file[/tmp/whole1] (autoedge)
|
|
Edge: file[/tmp/frags/] -> file[/tmp/whole1] # file[/tmp/frags/] -> file[/tmp/whole1] (autoedge)
|
|
Vertex: file[/tmp/bonus_file]
|
|
Vertex: file[/tmp/frags/]
|
|
Vertex: file[/tmp/frags/f1]
|
|
Vertex: file[/tmp/frags/f2]
|
|
Vertex: file[/tmp/frags/f3]
|
|
Vertex: file[/tmp/whole1]
|