anchor.diff:  
     testReader = pkgs.writeScript "test-input-reader" ''
       #!${pkgs.stdenv.shell}
  -    rm -f ${resultFile}
  +    rm -f ${resultFile} ${resultFile}.tmp
       logger "testReader: START: Waiting for $1 characters, expecting '$2'."
       touch ${readyFile}
       read -r -N $1 chars
       rm -f ${readyFile}
   
       if [ "$chars" == "$2" ]; then
  -      logger -s "testReader: PASS: Got '$2' as expected." 2>${resultFile}
  +      logger -s "testReader: PASS: Got '$2' as expected." 2>${resultFile}.tmp
       else
  -      logger -s "testReader: FAIL: Expected '$2' but got '$chars'." 2>${resultFile}
  +      logger -s "testReader: FAIL: Expected '$2' but got '$chars'." 2>${resultFile}.tmp
       fi
  +    # rename after the file is written to prevent a race condition
  +    mv  ${resultFile}.tmp ${resultFile}
     '';
   
   
  
positive.code:       $machine->waitForX;
  
        mkTest "VT keymap", "openvt -sw --";
        mkTest "Xorg keymap", "DISPLAY=:0 xterm -title testterm -fullscreen -e";
      '';
    };
  
  
negative.code:           if ($desc eq "Xorg keymap") {
              # make sure the xterm window is open and has focus
              $machine->waitForWindow(qr/testterm/);
              $machine->waitUntilSucceeds("${pkgs.xdotool}/bin/xdotool search --sync --onlyvisible --class testterm windowfocus --sync");
            }
  
            # wait for reader to be ready
  