summaryrefslogtreecommitdiff
path: root/Porting/bisect-example.sh
diff options
context:
space:
mode:
authorNicholas Clark <nick@ccl4.org>2012-03-19 13:27:28 +0100
committerNicholas Clark <nick@ccl4.org>2012-03-19 21:54:41 +0100
commit6d4be29ed416c7245eb4f21c700d825aca9a4e93 (patch)
treef7cd3a3890097b5ccac89f87147c6f055cbb78ea /Porting/bisect-example.sh
parentc34d842973a74ded7d9fae683eaa8645afa9d6bb (diff)
downloadperl-6d4be29ed416c7245eb4f21c700d825aca9a4e93.tar.gz
Move the example git bisect shell script from perlgit.pod to Porting/
This both avoids cluttering the flow of manpage with auxiliary data, and saves the user from having to extract the script from within the pod file.
Diffstat (limited to 'Porting/bisect-example.sh')
-rwxr-xr-xPorting/bisect-example.sh36
1 files changed, 36 insertions, 0 deletions
diff --git a/Porting/bisect-example.sh b/Porting/bisect-example.sh
new file mode 100755
index 0000000000..d6db406a80
--- /dev/null
+++ b/Porting/bisect-example.sh
@@ -0,0 +1,36 @@
+#!/bin/sh
+echo >&2 You need to edit this to run your test case
+exit 1
+
+git clean -dxf
+
+# If you get './makedepend: 1: Syntax error: Unterminated quoted
+# string' when bisecting versions of perl older than 5.9.5 this hack
+# will work around the bug in makedepend.SH which was fixed in
+# version 96a8704c. Make sure to uncomment 'git checkout makedepend.SH'
+# below too.
+#git show blead:makedepend.SH > makedepend.SH
+
+# If you can use ccache, add -Dcc=ccache\ gcc -Dld=gcc to the Configure line
+# if Encode is not needed for the test, you can speed up the bisect by
+# excluding it from the runs with -Dnoextensions=Encode
+# ie
+#./Configure -Dusedevel -Doptimize=-g -Dcc=ccache\ gcc -Dld=gcc -Dnoextensions=Encode -des
+./Configure -Dusedevel -Doptimize=-g -des
+test -f config.sh || exit 125
+# Correct makefile for newer GNU gcc
+perl -ni -we 'print unless /<(?:built-in|command)/' makefile x2p/makefile
+# if you just need miniperl, replace test_prep with miniperl
+make test_prep
+[ -x ./perl ] || exit 125
+# This runs the actual testcase. You could use -e instead:
+./perl -Ilib ~/testcase.pl
+ret=$?
+[ $ret -gt 127 ] && ret=127
+git checkout makedepend.SH
+git clean -dxf
+exit $ret
+
+#if you need to invert the exit code, replace the above exit with this:
+#[ $ret -eq 0 ] && exit 1
+#exit 0