(List (Com {[LIT_CHARS .]} {[ComSub (Com {[LIT_CHARS dirname]} {[VarSub 0]})] [LIT_CHARS /md5.sh]}) (= scope= flags=0 words=[] bindings=[('FILES', {[ComSub (Pipeline (Com {[LIT_CHARS sed]} {[LIT_CHARS -n]} {[SQ .*/\\1/p">]} {[VarSub 2]}) (Com {[LIT_CHARS grep]} {[LIT_CHARS -v]} {[LIT_CHARS html]}) )]})]) (Com {[LIT_CHARS rm]} {[LIT_CHARS -f]} {[LIT_CHARS tests/feed1.ffm]}) (Fork (Com {[LIT_CHARS ./ffserver]} {[LIT_CHARS -d]} {[LIT_CHARS -f]} {[DQ [VarSub 2]]} < (FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 2), > ) ) (= scope= flags=0 words=[] bindings=[('FFSERVER_PID', {[VarSub !]})]) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Waiting for feeds to startup..."]]}) (Com {[LIT_CHARS sleep]} {[LIT_CHARS 2]}) (Subshell (List (AndOr OP_OR_IF (Com {[LIT_CHARS cd]} {[LIT_CHARS tests/data]}) (Com {[LIT_CHARS exit]} {[VarSub ?]}) ) (Com {[LIT_CHARS rm]} {[LIT_CHARS -f]} {[LIT_CHARS ff-] [LIT_OTHER "*"]} {[LIT_CHARS ffserver.regression]}) (= scope= flags=0 words=[] bindings=[('WGET_OPTIONS', {[DQ [LIT_CHARS "--user-agent=NSPlayer -q --proxy=off -e verbose=off -e server_response=off"]]})]) (For file [{[VarSub FILES]}]) (List (If (Com {[LIT_OTHER "["]} {[ComSub (Com {[LIT_CHARS expr]} {[VarSub file]} {[LIT_OTHER ":"]} {[DQ [LIT_CHARS "a-*"]]})]} {[LIT_OTHER "!"] [LIT_OTHER "="]} {[LIT_CHARS 0]} {[LIT_OTHER "]"]}) (Com {[LIT_CHARS wget]} {[VarSub WGET_OPTIONS]} {[LIT_CHARS -O]} {[LIT_CHARS -]} {[LIT_CHARS http] [LIT_OTHER ":"] [LIT_CHARS //localhost] [LIT_OTHER ":"] [LIT_CHARS 9999/] [VarSub file]} < (FilenameRedirectNode filename={[LIT_CHARS ff-] [VarSub file]} "> 1), > ) (ElseTrue) (Pipeline (Com {[LIT_CHARS wget]} {[VarSub WGET_OPTIONS]} {[LIT_CHARS -O]} {[LIT_CHARS -]} {[LIT_CHARS http] [LIT_OTHER ":"] [LIT_CHARS //localhost] [LIT_OTHER ":"] [LIT_CHARS 9999/] [VarSub file] [LIT_OTHER "?"] [LIT_VAR_LIKE "date="] [LIT_CHARS 19700101T000000Z]}) (Com {[LIT_CHARS dd]} {[LIT_VAR_LIKE "bs="] [LIT_CHARS 1] =} {[LIT_VAR_LIKE "count="] [LIT_CHARS 20000] =} < (FilenameRedirectNode filename={[LIT_CHARS ff-] [VarSub file]} "> 1), (FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 2), > ) ) ) (Com {[LIT_CHARS do_md5sum]} {[LIT_CHARS ff-] [VarSub file]} < (FilenameRedirectNode filename={[LIT_CHARS ffserver.regression]} >"> 1), > ) ) ) ) ) (Com {[LIT_CHARS kill]} {[VarSub FFSERVER_PID]}) (Com {[LIT_CHARS wait]} < (FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 1), (DescriptorRedirectNode target={[LIT_CHARS 1]} &"> 2), > ) (Com {[LIT_CHARS rm]} {[LIT_CHARS -f]} {[LIT_CHARS tests/feed1.ffm]}) (If (Com {[LIT_CHARS diff]} {[LIT_CHARS -u]} {[DQ [VarSub 1]]} {[LIT_CHARS tests/data/ffserver.regression]}) (List (Com {[LIT_CHARS echo]}) (Com {[LIT_CHARS echo]} {[LIT_CHARS Server]} {[LIT_CHARS regression]} {[LIT_CHARS test]} {[LIT_CHARS succeeded.]}) (Com {[LIT_CHARS exit]} {[LIT_CHARS 0]}) ) (ElseTrue) (List (Com {[LIT_CHARS echo]}) (Com {[LIT_CHARS echo]} {[LIT_CHARS Server]} {[LIT_CHARS regression]} {[LIT_CHARS test] [LIT_OTHER ":"]} {[LIT_CHARS Error.]}) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]}) ) ) )