34 lines
		
	
	
	
		
			977 B
		
	
	
	
		
			Bash
		
	
	
	
	
	
			
		
		
	
	
			34 lines
		
	
	
	
		
			977 B
		
	
	
	
		
			Bash
		
	
	
	
	
	
| source common.sh
 | |
| 
 | |
| clearStore
 | |
| 
 | |
| # Produce an escaped log file.
 | |
| set -x
 | |
| path=$(nix-build --log-type escapes -vv dependencies.nix --no-out-link 2> $TEST_ROOT/log.esc)
 | |
| 
 | |
| # Convert it to an XML representation.
 | |
| nix-log2xml < $TEST_ROOT/log.esc > $TEST_ROOT/log.xml
 | |
| 
 | |
| # Is this well-formed XML?
 | |
| if test "$xmllint" != "false"; then
 | |
|     $xmllint --noout $TEST_ROOT/log.xml || fail "malformed XML"
 | |
| fi
 | |
| 
 | |
| # Convert to HTML.
 | |
| if test "$xsltproc" != "false"; then
 | |
|     (cd $datadir/nix/log2html && $xsltproc mark-errors.xsl - | $xsltproc log2html.xsl -) < $TEST_ROOT/log.xml > $TEST_ROOT/log.html
 | |
|     # Ideally we would check that the generated HTML is valid...
 | |
| 
 | |
|     # A few checks...
 | |
|     grep "<code>.*FOO" $TEST_ROOT/log.html || fail "bad HTML output"
 | |
| fi
 | |
| 
 | |
| # Test nix-store -l.
 | |
| [ "$(nix-store -l $path)" = FOO ]
 | |
| 
 | |
| # Test compressed logs.
 | |
| clearStore
 | |
| rm -rf $NIX_LOG_DIR
 | |
| ! nix-store -l $path
 | |
| nix-build dependencies.nix --no-out-link --option build-compress-log true
 | |
| [ "$(nix-store -l $path)" = FOO ]
 |