summaryrefslogtreecommitdiff
path: root/test/patchexim
blob: 3052b5dace1875914e63fd70700d5999f4b67774 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#! /usr/bin/perl -w

###############################################################################
# This is an auxiliary script that is part of the Exim test suite. It must be #
# run as root, and is normally called from the main controlling script. Its   #
# job is to make a copy of Exim, suitably patched so that it can run in the   #
# test harness. See further comments in the main script.                      #
#                                                                             #
# The only argument to this script is the name of the Exim binary that is to  #
# be copied. The script must be run in the correct current directory.         #
###############################################################################

open(IN, "$ARGV[0]") || die "** Failed to open $ARGV[0]: $!\n";
open(OUT, ">eximdir/exim") || die "** Failed to open eximdir/exim: $!\n";

while(<IN>)
  {
  s/>>>running<<</<<<testing>>>/;
  s/(\d+\.\d+(?:[_.]\d+)?([_-]RC\d+|[_-]dev)?(?:[0-9a-fA-F-]*)(?:-XX)?\0<<eximversion>>)/"x.yz\0" . ("*" x (length($1) - 5))/e;
  print OUT;
  }

close(IN);
close(OUT);

chmod 04755, "eximdir/exim";

# End of patchexim script