Merge branch 'write-failure-fixes' of git://github.com/lheckemann/nix
This commit is contained in:
		
						commit
						aa8bbbf69d
					
				
					 5 changed files with 16 additions and 1 deletions
				
			
		|  | @ -67,7 +67,8 @@ void FdSink::write(const unsigned char * data, size_t len) | |||
|     try { | ||||
|         writeFull(fd, data, len); | ||||
|     } catch (SysError & e) { | ||||
|         _good = true; | ||||
|         _good = false; | ||||
|         throw; | ||||
|     } | ||||
| } | ||||
| 
 | ||||
|  |  | |||
|  | @ -631,6 +631,7 @@ static void opDump(Strings opFlags, Strings opArgs) | |||
|     FdSink sink(STDOUT_FILENO); | ||||
|     string path = *opArgs.begin(); | ||||
|     dumpPath(path, sink); | ||||
|     sink.flush(); | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
|  | @ -656,6 +657,7 @@ static void opExport(Strings opFlags, Strings opArgs) | |||
| 
 | ||||
|     FdSink sink(STDOUT_FILENO); | ||||
|     store->exportPaths(opArgs, sink); | ||||
|     sink.flush(); | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
|  |  | |||
|  | @ -29,6 +29,7 @@ struct CmdDumpPath : StorePathCommand | |||
|     { | ||||
|         FdSink sink(STDOUT_FILENO); | ||||
|         store->narFromPath(storePath, sink); | ||||
|         sink.flush(); | ||||
|     } | ||||
| }; | ||||
| 
 | ||||
|  |  | |||
|  | @ -8,6 +8,11 @@ nix-store --export $outPath > $TEST_ROOT/exp | |||
| 
 | ||||
| nix-store --export $(nix-store -qR $outPath) > $TEST_ROOT/exp_all | ||||
| 
 | ||||
| if nix-store --export $outPath >/dev/full ; then | ||||
|     echo "exporting to a bad file descriptor should fail" | ||||
|     exit 1 | ||||
| fi | ||||
| 
 | ||||
| 
 | ||||
| clearStore | ||||
| 
 | ||||
|  |  | |||
|  | @ -36,3 +36,9 @@ diff -u baz.cat-nar $storePath/foo/baz | |||
| # Test missing files. | ||||
| nix ls-store --json -R $storePath/xyzzy 2>&1 | grep 'does not exist in NAR' | ||||
| nix ls-store $storePath/xyzzy 2>&1 | grep 'does not exist' | ||||
| 
 | ||||
| # Test failure to dump. | ||||
| if nix-store --dump $storePath >/dev/full ; then | ||||
|     echo "dumping to /dev/full should fail" | ||||
|     exit -1 | ||||
| fi | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue