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;
 | 
						|
    }
 | 
						|
}
 |