diff --git a/src/test/java/org/apache/maven/shared/scriptinterpreter/ScriptRunnerTest.java b/src/test/java/org/apache/maven/shared/scriptinterpreter/ScriptRunnerTest.java
index 6ea3227..dc2dd81 100644
--- a/src/test/java/org/apache/maven/shared/scriptinterpreter/ScriptRunnerTest.java
+++ b/src/test/java/org/apache/maven/shared/scriptinterpreter/ScriptRunnerTest.java
@@ -43,12 +43,14 @@
         SystemStreamLog systemStreamLog = new SystemStreamLog();
 
         ScriptRunner scriptRunner = new ScriptRunner( systemStreamLog );
+        scriptRunner.setGlobalVariable( "globalVar", "Yeah baby it's rocks" );
         scriptRunner.run( "test", new File( "src/test/resources/bsh-test" ), "verify", buildContext(),
                           new FileLogger( logFile ), "foo", true );
 
         String logContent = FileUtils.fileRead( logFile );
         assertTrue( logContent.contains( new File( "src/test/resources/bsh-test/verify.bsh" ).getPath() ) );
         assertTrue( logContent.contains( "foo=bar" ) );
+        assertTrue( logContent.contains( "globalVar=Yeah baby it's rocks"));
 
     }
 
@@ -63,6 +65,7 @@
         SystemStreamLog systemStreamLog = new SystemStreamLog();
 
         ScriptRunner scriptRunner = new ScriptRunner( systemStreamLog );
+        scriptRunner.setGlobalVariable( "globalVar", "Yeah baby it's rocks" );
         scriptRunner.run( "test", new File( "src/test/resources/bsh-test/verify.bsh" ), buildContext(),
                           new FileLogger( logFile ), "foo", true );
 
@@ -70,6 +73,7 @@
         assertTrue( logContent.contains( new File( "src/test/resources/bsh-test/verify.bsh" ).getPath() ) );
         assertTrue( logContent.contains( "foo=bar" ) );
 
+
     }
 
     public void testGroovy()
@@ -83,12 +87,14 @@
         SystemStreamLog systemStreamLog = new SystemStreamLog();
 
         ScriptRunner scriptRunner = new ScriptRunner( systemStreamLog );
+        scriptRunner.setGlobalVariable( "globalVar", "Yeah baby it's rocks" );
         scriptRunner.run( "test", new File( "src/test/resources/groovy-test" ), "verify", buildContext(),
                           new FileLogger( logFile ), "foo", true );
 
         String logContent = FileUtils.fileRead( logFile );
         assertTrue( logContent.contains( new File( "src/test/resources/groovy-test/verify.groovy" ).getPath() ) );
         assertTrue( logContent.contains( "foo=bar" ) );
+        assertTrue( logContent.contains( "globalVar=Yeah baby it's rocks"));
 
     }
 
@@ -110,6 +116,7 @@
         assertTrue( logContent.contains( new File( "src/test/resources/groovy-test/verify.groovy" ).getPath() ) );
         assertTrue( logContent.contains( "foo=bar" ) );
 
+
     }
 
 
diff --git a/src/test/resources/bsh-test/verify.bsh b/src/test/resources/bsh-test/verify.bsh
index 454720f..8a6bf32 100644
--- a/src/test/resources/bsh-test/verify.bsh
+++ b/src/test/resources/bsh-test/verify.bsh
@@ -21,5 +21,7 @@
 String value = context.get( "foo" );
 System.out.println("foo="+value);
 
+System.out.println("globalVar="+globalVar);
+
 System.out.print("Test");
 return true;
diff --git a/src/test/resources/groovy-test/verify.groovy b/src/test/resources/groovy-test/verify.groovy
index ca89b0c..7808db9 100644
--- a/src/test/resources/groovy-test/verify.groovy
+++ b/src/test/resources/groovy-test/verify.groovy
@@ -12,4 +12,7 @@
 }
 
 System.out.println("foo="+context.get("foo"));
+
+if (binding.variables.containsKey("globalVar")) System.out.println("globalVar="+globalVar);
+
 return true
