Index: Jenkins/FullBuild
===================================================================
--- Jenkins/FullBuild	(revision 82c607225c5319115eab4f5d4cd91903388ee58f)
+++ Jenkins/FullBuild	(revision ad486c5b7f3e573aece74c5ee7d3010f39f1fc7f)
@@ -87,5 +87,5 @@
 
 	if(result.result != 'SUCCESS') {
-		sh("wget -q -O - http://localhost:8084/job/Cforall/job/master/${result.number}/consoleText")
+		sh("wget -q -O - ${result.absoluteUrl}/consoleText")
 		error(result.result)
 	}
Index: Jenkinsfile
===================================================================
--- Jenkinsfile	(revision 82c607225c5319115eab4f5d4cd91903388ee58f)
+++ Jenkinsfile	(revision ad486c5b7f3e573aece74c5ee7d3010f39f1fc7f)
@@ -22,7 +22,4 @@
 	do_sendemail	= true
 
-	builddir = pwd tmp: true
-	srcdir   = pwd tmp: false
-
 	currentBuild.result = "SUCCESS"
 
@@ -35,15 +32,15 @@
 			prepare_build()
 
+			checkout()
+
+			notify_server(0)
+
+			build()
+
+			test()
+
+			benchmark()
+
 			clean()
-
-			checkout()
-
-			notify_server(0)
-
-			build()
-
-			test()
-
-			benchmark()
 
 			build_doc()
@@ -70,7 +67,7 @@
 	finally {
 		//Send email with final results if this is not a full build
-		if( do_sendemail ) {
+		if( do_sendemail && !bIsSandbox ) {
 			echo 'Notifying users of result'
-			email(currentBuild.result, log_needed, bIsSandbox)
+			email(currentBuild.result, log_needed)
 		}
 
@@ -158,9 +155,4 @@
 	do_sendemail	= ! (pSilent == 'true')
 
-	collect_git_info()
-
-	def full = do_alltests ? " (Full)" : ""
-	currentBuild.description = "Cforall ${gitRefName} ${compiler.cc_name}:${arch_name}${full}"
-
 	echo """Compiler 	      : ${compiler.cc_name} (${compiler.cpp_cc}/${compiler.cfa_cc})
 Architecture            : ${arch_name}
@@ -172,4 +164,6 @@
 Silent                  : ${ pSilent.toString() }
 """
+
+	collect_git_info()
 }
 
@@ -247,19 +241,4 @@
 // Main compilation routines
 //===========================================================================================================
-def clean() {
-	build_stage('Cleanup') {
-		// clean the build by wipping the build directory
-		dir(builddir) {
-			deleteDir()
-		}
-
-		//Clean all temporary files to make sure no artifacts of the previous build remain
-		sh 'git clean -fdqx'
-
-		//Reset the git repo so no local changes persist
-		sh 'git reset --hard'
-	}
-}
-
 //Compilation script is done here but environnement set-up and error handling is done in main loop
 def checkout() {
@@ -267,4 +246,10 @@
 		//checkout the source code and clean the repo
 		checkout scm
+
+		//Clean all temporary files to make sure no artifacts of the previous build remain
+		sh 'git clean -fdqx'
+
+		//Reset the git repo so no local changes persist
+		sh 'git reset --hard'
 	}
 }
@@ -272,10 +257,14 @@
 def build() {
 	build_stage('Build') {
+
+		def install_dir = pwd tmp: true
+
 		// Build outside of the src tree to ease cleaning
-		dir (builddir) {
+		sh "mkdir -p build"
+		dir ('build') {
 			//Configure the conpilation (Output is not relevant)
 			//Use the current directory as the installation target so nothing escapes the sandbox
 			//Also specify the compiler by hand
-			sh "${srcdir}/configure CXX=${compiler.cpp_cc} ${architecture} --with-backend-compiler=${compiler.cfa_cc} --enable-silent-rules --quiet"
+			sh "../configure CXX=${compiler.cpp_cc} ${architecture} --with-backend-compiler=${compiler.cfa_cc} --prefix=${install_dir} --enable-silent-rules --quiet"
 
 			//Compile the project
@@ -288,13 +277,11 @@
 	build_stage('Test') {
 
-		dir (builddir) {
-			//Run the tests from the tests directory
-			if ( do_alltests ) {
-				sh 'make --no-print-directory -C src/tests all-tests debug=yes'
-				sh 'make --no-print-directory -C src/tests all-tests debug=no '
-			}
-			else {
-				sh 'make --no-print-directory -C src/tests'
-			}
+		//Run the tests from the tests directory
+		if ( do_alltests ) {
+			sh 'make -C build/src/tests all-tests debug=yes --no-print-directory'
+			sh 'make -C build/src/tests all-tests debug=no --no-print-directory'
+		}
+		else {
+			sh 'make -C build/src/tests --no-print-directory'
 		}
 	}
@@ -306,8 +293,13 @@
 		if( !do_benchmark ) return
 
-		dir (builddir) {
-			//Append bench results
-			sh "make --no-print-directory -C src/benchmark jenkins githash=${gitRefNewValue} arch=${arch_name} | tee ${srcdir}/bench.json"
-		}
+		//Append bench results
+		sh 'make -C build/src/benchmark --no-print-directory jenkins githash=' + gitRefNewValue + ' arch=' + arch_name + ' | tee bench.json'
+	}
+}
+
+def clean() {
+	build_stage('Cleanup') {
+		// clean the build by wipping the build directory
+		sh 'rm -rf build'
 	}
 }
@@ -342,5 +334,5 @@
 //===========================================================================================================
 //Standard build email notification
-def email(String status, boolean log, boolean bIsSandbox) {
+def email(String status, boolean log) {
 	//Since tokenizer doesn't work, figure stuff out from the environnement variables and command line
 	//Configurations for email format
@@ -385,11 +377,5 @@
 	def email_to = "cforall@lists.uwaterloo.ca"
 
-	if( !bIsSandbox ) {
-		//send email notification
-		emailext body: email_body, subject: email_subject, to: email_to, attachLog: log
-	} else {
-		echo "Would send email to: ${email_to}"
-		echo "With title: ${email_subject}"
-		echo "Content: \n${email_body}"
-	}
-}
+	//send email notification
+	emailext body: email_body, subject: email_subject, to: email_to, attachLog: log
+}
Index: src/tests/pybin/tools.py
===================================================================
--- src/tests/pybin/tools.py	(revision 82c607225c5319115eab4f5d4cd91903388ee58f)
+++ src/tests/pybin/tools.py	(revision ad486c5b7f3e573aece74c5ee7d3010f39f1fc7f)
@@ -48,5 +48,5 @@
 		return False
 
-	return match.group(1).startswith("ASCII text")
+	return match.group(1) == "ASCII text"
 
 # Remove 1 or more files silently
