Fix the substituter tests

This commit is contained in:
Eelco Dolstra 2012-07-26 17:36:07 -04:00
parent e3ce54ccee
commit 50395b71a9
3 changed files with 36 additions and 30 deletions

View file

@ -999,7 +999,8 @@ void LocalStore::querySubstitutablePathInfos(const Path & substituter,
while (true) {
Path path = readLine(run.from);
if (path == "") break;
assert(paths.find(path) != paths.end());
if (paths.find(path) == paths.end())
throw Error(format("got unexpected path `%1%' from substituter") % path);
paths.erase(path);
SubstitutablePathInfo & info(infos[path]);
info.deriver = readLine(run.from);

View file

@ -2,22 +2,25 @@
echo substituter args: $* >&2
if test $1 = "--query"; then
while read cmd; do
echo FOO $cmd >&2
while read cmd args; do
echo "CMD = $cmd, ARGS = $args" >&2
if test "$cmd" = "have"; then
for path in $args; do
read path
if grep -q "$path" $TEST_ROOT/sub-paths; then
echo 1
else
echo 0
echo $path
fi
done
echo
elif test "$cmd" = "info"; then
read path
echo 1
for path in $args; do
echo $path
echo "" # deriver
echo 0 # nr of refs
echo $((1 * 1024 * 1024)) # download size
echo $((2 * 1024 * 1024)) # nar size
done
echo
else
echo "bad command $cmd"
exit 1

View file

@ -2,21 +2,23 @@
echo substituter2 args: $* >&2
if test $1 = "--query"; then
while read cmd; do
if test "$cmd" = "have"; then
read path
while read cmd args; do
if test "$cmd" = have; then
for path in $args; do
if grep -q "$path" $TEST_ROOT/sub-paths; then
echo 1
else
echo 0
echo $path
fi
elif test "$cmd" = "info"; then
read path
echo 1
done
echo
elif test "$cmd" = info; then
for path in $args; do
echo $path
echo "" # deriver
echo 0 # nr of refs
echo 0 # download size
echo 0 # nar size
done
echo
else
echo "bad command $cmd"
exit 1