diff --git a/datamover/sourceTest/java/ch/systemsx/cisd/datamover/IncomingProcessorTest.java b/datamover/sourceTest/java/ch/systemsx/cisd/datamover/IncomingProcessorTest.java
index 16dc6e5b0506782daba044ecd6f98f86b06ef20b..321ebb47cfcffea18f6a2d6f6d1622e82c83f112 100644
--- a/datamover/sourceTest/java/ch/systemsx/cisd/datamover/IncomingProcessorTest.java
+++ b/datamover/sourceTest/java/ch/systemsx/cisd/datamover/IncomingProcessorTest.java
@@ -42,9 +42,11 @@ import ch.systemsx.cisd.datamover.filesystem.intf.IPathRemover;
 import ch.systemsx.cisd.datamover.utils.LocalBufferDirs;
 
 /**
+ * Test cases for the {@link IncomingProcessor} class.
+ * 
  * @author Franz-Josef Elmer
  */
-public class IncomingProcessorTest
+public final class IncomingProcessorTest
 {
     private static final String LOG_DEBUG_MACHINE_PREFIX =
             "DEBUG MACHINE.ch.systemsx.cisd.datamover.utils.DataCompletedFilter - ";
@@ -136,9 +138,9 @@ public class IncomingProcessorTest
                 }
             });
 
-        DataMoverProcess process =
+        final DataMoverProcess process =
                 createProcess("--" + PropertyNames.INCOMING_DIR, incomingDir.toString(), "-q", "1");
-        TimerTask dataMoverTimerTask = process.getDataMoverTimerTask();
+        final TimerTask dataMoverTimerTask = process.getDataMoverTimerTask();
         dataMoverTimerTask.run(); // 1. round finds a file to process
         dataMoverTimerTask.run(); // 2. round finds that quiet period is over
 
@@ -165,10 +167,10 @@ public class IncomingProcessorTest
                 }
             });
 
-        DataMoverProcess process =
+        final DataMoverProcess process =
                 createProcess("--" + PropertyNames.INCOMING_DIR, incomingDir.toString(), "-q", "1",
                         "--" + PropertyNames.DATA_COMPLETED_SCRIPT, exampleScript.toString());
-        TimerTask dataMoverTimerTask = process.getDataMoverTimerTask();
+        final TimerTask dataMoverTimerTask = process.getDataMoverTimerTask();
         dataMoverTimerTask.run(); // 1. round finds a file to process
         dataMoverTimerTask.run(); // 2. round finds that quiet period is over
         dataMoverTimerTask.run(); // 3. round does not change status, thus no log
@@ -216,17 +218,18 @@ public class IncomingProcessorTest
                 }
             });
 
-        DataMoverProcess process =
+        final DataMoverProcess process =
                 createProcess("--" + PropertyNames.INCOMING_DIR, incomingDir.toString(), "-q", "1",
                         "--" + PropertyNames.DATA_COMPLETED_SCRIPT, exampleScript.toString());
-        TimerTask dataMoverTimerTask = process.getDataMoverTimerTask();
+        final TimerTask dataMoverTimerTask = process.getDataMoverTimerTask();
         dataMoverTimerTask.run(); // 1. round finds a file to process
         dataMoverTimerTask.run(); // 2. round finds that quiet period is over
         dataMoverTimerTask.run(); // 3. round does not change status, thus no log
         TEST_FILE.createNewFile();
         dataMoverTimerTask.run(); // 4. round finds changed status, thus log
 
-        boolean terminated = OSUtilities.isWindows();
+        final boolean isWindows = OSUtilities.isWindows();
+        final boolean isMac = OSUtilities.isMacOS();
         assertEquals(
                 LOG_DEBUG_PREFIX
                         + "Executing command: [sh, targets/unit-test/IncomingProcessorTest/example-script.sh, "
@@ -235,14 +238,14 @@ public class IncomingProcessorTest
                         + "ERROR NOTIFY.ch.systemsx.cisd.datamover.utils.DataCompletedFilter - "
                         + "Processing status of data completed script has changed to "
                         + "DataCompletedFilter.Status{ok=false,run=true,terminated="
-                        + terminated
+                        + isWindows
                         + ",exitValue=1,blocked=false}. "
                         + "Command line: [sh, targets/unit-test/IncomingProcessorTest/example-script.sh, "
                         + "<wd>/targets/unit-test/IncomingProcessorTest/incoming/test-data.txt]"
                         + OSUtilities.LINE_SEPARATOR
                         + "WARN  OPERATION.ch.systemsx.cisd.datamover.utils.DataCompletedFilter - "
                         + "[sh] process "
-                        + (terminated ? "was destroyed." : "returned with exit value 1.")
+                        + (isWindows ? "was destroyed." : "returned with exit value 1.")
                         + OSUtilities.LINE_SEPARATOR
                         + "WARN  MACHINE.ch.systemsx.cisd.datamover.utils.DataCompletedFilter - "
                         + "[sh] output:"
@@ -251,8 +254,9 @@ public class IncomingProcessorTest
                         + "\"hello world\""
                         + OSUtilities.LINE_SEPARATOR
                         + "WARN  MACHINE.ch.systemsx.cisd.datamover.utils.DataCompletedFilter - "
-                        + "\"rm: cannot remove `targets/unit-test/IncomingProcessorTest/blabla.txt': "
-                        + "No such file or directory\""
+                        + (isMac == false ? "\"rm: cannot remove `targets/unit-test/IncomingProcessorTest/blabla.txt':"
+                                : "\"rm: targets/unit-test/IncomingProcessorTest/blabla.txt:")
+                        + " No such file or directory\""
                         + OSUtilities.LINE_SEPARATOR
                         + LOG_DEBUG_PREFIX
                         + "Executing command: [sh, targets/unit-test/IncomingProcessorTest/example-script.sh, "
@@ -274,7 +278,8 @@ public class IncomingProcessorTest
                         + "\"hello world\""
                         + OSUtilities.LINE_SEPARATOR
                         + LOG_DEBUG_MACHINE_PREFIX
-                        + "\"removed `targets/unit-test/IncomingProcessorTest/blabla.txt'\""
+                        + (isMac == false ? "\"removed `targets/unit-test/IncomingProcessorTest/blabla.txt'\""
+                                : "\"targets/unit-test/IncomingProcessorTest/blabla.txt\"")
                         + OSUtilities.LINE_SEPARATOR
                         + "DEBUG OPERATION.ch.systemsx.cisd.common.utilities.DirectoryScanningTimerTask - Following store item 'test-data.txt' has been handled."
                         + OSUtilities.LINE_SEPARATOR
@@ -293,10 +298,10 @@ public class IncomingProcessorTest
         return content;
     }
 
-    private DataMoverProcess createProcess(String... args)
+    private DataMoverProcess createProcess(final String... args)
     {
-        Parameters parameters = new Parameters(args, exitHandler);
-        LocalBufferDirs localBufferDirs =
+        final Parameters parameters = new Parameters(args, exitHandler);
+        final LocalBufferDirs localBufferDirs =
                 new LocalBufferDirs(new FileWithHighwaterMark(TEST_FOLDER), COPY_IN_PROGRESS_DIR,
                         COPY_COMPLETE_DIR, READY_TO_MOVE_DIR, TEMP_DIR);
         context.checking(new Expectations()