/usr/share/gap/pkg/io/tst/children.tst is in gap-io 4.5.1+ds-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
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 32 33 34 35 36 | # the check.pl script only exists in GAP 4.9 and later
gap> d := DirectoryCurrent();;
gap> scriptdir := DirectoriesLibrary( "tst/teststandard/processes/" );;
gap> if scriptdir <> fail then
> checkpl := Filename(scriptdir, "check.pl");
> else
> checkpl := fail;
> fi;
#
gap> runChild := function(ms, ignoresignals, useio)
> local signal;
> if ignoresignals then signal := "1"; else signal := "0"; fi;
> if useio then
> return IO_Popen(checkpl, [String(time), signal], "r");
> else
> return InputOutputLocalProcess(d, checkpl, [ String(time), signal]);
> fi;
> end;;
# if checkpl exists, GAP is also up-to-date enough to support
# this test!
gap> if checkpl <> fail then
> for i in [1..200] do
> args := List([1..20], x -> [Random([1..2000]), Random([false,true]), Random([false,true])]);
> children := List(args, x -> CallFuncList(runChild, x) );
> if ForAny(children, x -> x=fail) then Print("Failed producing child\n"); fi;
> for c in children do
> if IsFile(c) then
> IO_Close(c);
> else
> CloseStream(c);
> fi;
> od;
> od;
> fi;
|