mirror of https://github.com/openssl/openssl.git
				
				
				
			
		
			
				
	
	
		
			55 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Perl
		
	
	
		
			Executable File
		
	
	
			
		
		
	
	
			55 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Perl
		
	
	
		
			Executable File
		
	
	
| #! /usr/bin/env perl
 | |
| #
 | |
| # TEST c-compress-pl with a number of examples and what should happen to them
 | |
| 
 | |
| use strict;
 | |
| use warnings;
 | |
| 
 | |
| use File::Basename;
 | |
| 
 | |
| my @pairs =
 | |
|     (
 | |
|      [ <<'_____'
 | |
| /* A hell of a program */
 | |
| #def\
 | |
| ine foo/* bar */ 3
 | |
| #define bar /* haha "A /* comment */ that should    /* remain" */
 | |
| #define  haha /* hoho */ "A /* comment */ that should /* remain" */
 | |
| 
 | |
| int main() {
 | |
|     int x;
 | |
|     /* one lonely comment */
 | |
| }
 | |
| _____
 | |
|        , <<'_____'
 | |
| #define foo 3
 | |
| #define bar that should
 | |
| #define haha "A /* comment */ that should /* remain" */
 | |
| int main() {
 | |
| int x;
 | |
| }
 | |
| _____
 | |
|      ]
 | |
|     );
 | |
| 
 | |
| my $here = dirname $0;
 | |
| my $c_compress = "$here/lang-compress.pl";
 | |
| 
 | |
| use FileHandle;
 | |
| use IPC::Open2;
 | |
| use Text::Diff;
 | |
| foreach (@pairs) {
 | |
|     my $source = $_->[0];
 | |
|     my $expected = $_->[1];
 | |
|     my $pid = open2(\*Reader, \*Writer, "perl $c_compress 'C'");
 | |
|     print Writer $source;
 | |
|     close Writer;
 | |
| 
 | |
|     local $/ = undef;             # slurp
 | |
|     my $got = <Reader>;
 | |
| 
 | |
|     if ($got ne $expected) {
 | |
|         print "MISMATCH:\n", diff \$expected, \$got;
 | |
|     }
 | |
| }
 |