Do not emit log marker on a re-init. (#52)

Do not emit log marker on a re-init and adjust tests for upstream changes

diff --git a/README.md b/README.md
index 32f61cb..c01c912 100644
--- a/README.md
+++ b/README.md
@@ -36,7 +36,7 @@
 
 Create the action using the docker image for the runtime
 ```
-wsk action update myAction myAction.zip --docker openwhisk/dockerskeleton:1.3.1
+wsk action update myAction myAction.zip --docker openwhisk/dockerskeleton:1.3.2
 ```
 
 This works on any deployment of Apache OpenWhisk
diff --git a/core/CHANGELOG.md b/core/CHANGELOG.md
index 8712a33..fa09b5d 100644
--- a/core/CHANGELOG.md
+++ b/core/CHANGELOG.md
@@ -19,6 +19,10 @@
 
 # Apache OpenWhisk Docker Runtime Container
 
+## 1.3.2
+Changes:
+  - Fixes bug where a log maker is emitted more than once.
+
 ## 1.3.1
 Changes:
   - Disallow re-initialization by default. Added environment variable to enable re-initialization for local development.
diff --git a/core/actionProxy/actionproxy.py b/core/actionProxy/actionproxy.py
index 0bca409..9d34776 100644
--- a/core/actionProxy/actionproxy.py
+++ b/core/actionProxy/actionproxy.py
@@ -221,7 +221,7 @@
         sys.stderr.write(msg + '\n')
         response = flask.jsonify({'error': msg})
         response.status_code = 403
-        return complete(response)
+        return response
 
     message = flask.request.get_json(force=True, silent=True)
     if message and not isinstance(message, dict):
diff --git a/tests/src/test/scala/runtime/actionContainers/ActionProxyContainerTests.scala b/tests/src/test/scala/runtime/actionContainers/ActionProxyContainerTests.scala
index 52022ee..383f43b 100644
--- a/tests/src/test/scala/runtime/actionContainers/ActionProxyContainerTests.scala
+++ b/tests/src/test/scala/runtime/actionContainers/ActionProxyContainerTests.scala
@@ -30,13 +30,7 @@
 import common.WskActorSystem
 import spray.json._
 
-@RunWith(classOf[JUnitRunner])
-class ActionProxyContainerTests extends BasicActionRunnerTests with WskActorSystem {
-
-  override def withActionContainer(env: Map[String, String] = Map.empty)(code: ActionContainer => Unit) = {
-    withContainer("dockerskeleton", env)(code)
-  }
-
+object CodeSamples {
   val codeNotReturningJson = """
                                |#!/bin/sh
                                |echo not a json object
@@ -149,6 +143,25 @@
 
     Seq(("bash", bash), ("python", python), ("perl", perl))
   }
+}
+
+@RunWith(classOf[JUnitRunner])
+class ActionProxyContainerTests extends BasicActionRunnerTests with WskActorSystem {
+
+  override def withActionContainer(env: Map[String, String] = Map.empty)(code: ActionContainer => Unit) = {
+    withContainer("dockerskeleton", env)(code)
+  }
+
+  override val testNoSourceOrExec = TestConfig("", hasCodeStub = true)
+  override val testNotReturningJson = TestConfig(CodeSamples.codeNotReturningJson, enforceEmptyOutputStream = false)
+  override val testInitCannotBeCalledMoreThanOnce = TestConfig(CodeSamples.codeNotReturningJson)
+  // the skeleton requires the executable to be called /action/exec, this test will pass with any "main"
+  override val testEntryPointOtherThanMain =
+    TestConfig(CodeSamples.stdLargeInputSamples(0)._2, main = "exec", false, true)
+  override val testEcho = TestConfig(CodeSamples.stdCodeSamples(0)._2)
+  override val testUnicode = TestConfig(CodeSamples.stdUnicodeSamples(0)._2)
+  override val testEnv = TestConfig(CodeSamples.stdEnvSamples(0)._2)
+  override val testLargeInput = TestConfig(CodeSamples.stdLargeInputSamples(0)._2)
 
   behavior of "openwhisk/dockerskeleton"
 
@@ -239,11 +252,4 @@
         e shouldBe empty
     })
   }
-
-  testNotReturningJson(codeNotReturningJson, checkResultInLogs = true)
-  testEcho(stdCodeSamples)
-  testUnicode(stdUnicodeSamples)
-  testEnv(stdEnvSamples)
-  testLargeInput(stdLargeInputSamples)
-  testInitCannotBeCalledMoreThanOnce(codeNotReturningJson) // any code sample will do
 }