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 { |     try { | ||||||
|         writeFull(fd, data, len); |         writeFull(fd, data, len); | ||||||
|     } catch (SysError & e) { |     } catch (SysError & e) { | ||||||
|         _good = true; |         _good = false; | ||||||
|  |         throw; | ||||||
|     } |     } | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -631,6 +631,7 @@ static void opDump(Strings opFlags, Strings opArgs) | ||||||
|     FdSink sink(STDOUT_FILENO); |     FdSink sink(STDOUT_FILENO); | ||||||
|     string path = *opArgs.begin(); |     string path = *opArgs.begin(); | ||||||
|     dumpPath(path, sink); |     dumpPath(path, sink); | ||||||
|  |     sink.flush(); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  | @ -656,6 +657,7 @@ static void opExport(Strings opFlags, Strings opArgs) | ||||||
| 
 | 
 | ||||||
|     FdSink sink(STDOUT_FILENO); |     FdSink sink(STDOUT_FILENO); | ||||||
|     store->exportPaths(opArgs, sink); |     store->exportPaths(opArgs, sink); | ||||||
|  |     sink.flush(); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -29,6 +29,7 @@ struct CmdDumpPath : StorePathCommand | ||||||
|     { |     { | ||||||
|         FdSink sink(STDOUT_FILENO); |         FdSink sink(STDOUT_FILENO); | ||||||
|         store->narFromPath(storePath, sink); |         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 | 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 | clearStore | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -36,3 +36,9 @@ diff -u baz.cat-nar $storePath/foo/baz | ||||||
| # Test missing files. | # Test missing files. | ||||||
| nix ls-store --json -R $storePath/xyzzy 2>&1 | grep 'does not exist in NAR' | 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' | 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