This is an automated email from the ASF dual-hosted git repository. dgrove pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/incubator-openwhisk-runtime-php.git
commit 6caf902f527250ee4b7b695929b628d560e0dad1 Author: Rodric Rabbah <[email protected]> AuthorDate: Sat Jul 7 21:20:35 2018 -0400 Update tests to pick up upstream changes. --- core/php7.1Action/CHANGELOG.md | 4 + core/php7.1Action/router.php | 2 +- core/php7.2Action/CHANGELOG.md | 4 + core/php7.2Action/router.php | 2 +- tests/.pydevproject | 5 - .../Php7ActionContainerTests.scala | 157 ++++++++++----------- 6 files changed, 87 insertions(+), 87 deletions(-) diff --git a/core/php7.1Action/CHANGELOG.md b/core/php7.1Action/CHANGELOG.md index 57ff219..8ad347b 100644 --- a/core/php7.1Action/CHANGELOG.md +++ b/core/php7.1Action/CHANGELOG.md @@ -17,6 +17,10 @@ # --> +## 1.0.2 +Changes: + - Disallow re-initialization of function. + ## 1.0.1 - Change: Update PHP to 7.1.18 diff --git a/core/php7.1Action/router.php b/core/php7.1Action/router.php index d023f1a..76d8765 100644 --- a/core/php7.1Action/router.php +++ b/core/php7.1Action/router.php @@ -108,7 +108,7 @@ function init() : array $binary = $data['binary'] ?? false; // code is binary? if (!$code) { - throw new RuntimeException("No code to execute"); + throw new RuntimeException("Missing main/no code to execute."); } if ($binary) { diff --git a/core/php7.2Action/CHANGELOG.md b/core/php7.2Action/CHANGELOG.md index 702b708..4e4c56e 100644 --- a/core/php7.2Action/CHANGELOG.md +++ b/core/php7.2Action/CHANGELOG.md @@ -17,6 +17,10 @@ # --> +## 1.0.1 +Changes: + - Disallow re-initialization of function. + ## 1.0.0 Initial release diff --git a/core/php7.2Action/router.php b/core/php7.2Action/router.php index 87456d1..bbf50e1 100644 --- a/core/php7.2Action/router.php +++ b/core/php7.2Action/router.php @@ -139,7 +139,7 @@ function init() : array $binary = $data['binary'] ?? false; // code is binary? if (!$code) { - throw new RuntimeException("No code to execute"); + throw new RuntimeException("Missing main/no code to execute."); } if ($binary) { diff --git a/tests/.pydevproject b/tests/.pydevproject deleted file mode 100644 index 40e9f40..0000000 --- a/tests/.pydevproject +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" standalone="no"?> -<?eclipse-pydev version="1.0"?><pydev_project> -<pydev_property name="org.python.pydev.PYTHON_PROJECT_INTERPRETER">Default</pydev_property> -<pydev_property name="org.python.pydev.PYTHON_PROJECT_VERSION">python 2.7</pydev_property> -</pydev_project> diff --git a/tests/src/test/scala/runtime/actionContainers/Php7ActionContainerTests.scala b/tests/src/test/scala/runtime/actionContainers/Php7ActionContainerTests.scala index 000d0b0..5e5c9e7 100644 --- a/tests/src/test/scala/runtime/actionContainers/Php7ActionContainerTests.scala +++ b/tests/src/test/scala/runtime/actionContainers/Php7ActionContainerTests.scala @@ -27,11 +27,10 @@ import spray.json._ @RunWith(classOf[JUnitRunner]) abstract class Php7ActionContainerTests extends BasicActionRunnerTests with WskActorSystem { - // note: "out" will not be empty as the PHP web server outputs a message when - // it starts up + // note: "out" will not be empty as the PHP web server outputs a message when it starts up val enforceEmptyOutputStream = false - lazy val phpContainerImageName = "action-php-v7.x" + lazy val phpContainerImageName: String = ??? override def withActionContainer(env: Map[String, String] = Map.empty)(code: ActionContainer => Unit) = { withContainer(phpContainerImageName, env)(code) @@ -41,30 +40,56 @@ abstract class Php7ActionContainerTests extends BasicActionRunnerTests with WskA behavior of phpContainerImageName - testEcho(Seq { - ( - "PHP", + override val testNoSourceOrExec = TestConfig("") + + override val testNotReturningJson = { + TestConfig( + """ + |<?php + |function main(array $args) { + | return "not a json object"; + |} + """.stripMargin, + enforceEmptyOutputStream = enforceEmptyOutputStream, + enforceEmptyErrorStream = false) + } + + override val testInitCannotBeCalledMoreThanOnce = { + TestConfig( """ - |<?php - |function main(array $args) : array { - | echo 'hello stdout'; - | error_log('hello stderr'); - | return $args; - |} - """.stripMargin) - }) - - testNotReturningJson(""" |<?php - |function main(array $args) { - | return "not a json object"; + |function main(array $args) : array { + | return $args; |} - """.stripMargin) + """.stripMargin, + enforceEmptyOutputStream = enforceEmptyOutputStream) + } - testUnicode(Seq { - ( - "PHP", + override val testEntryPointOtherThanMain = { + TestConfig( """ + | <?php + | function niam(array $args) { + | return $args; + | } + """.stripMargin, + main = "niam", + enforceEmptyOutputStream = enforceEmptyOutputStream) + } + + override val testEcho = { + TestConfig(""" + |<?php + |function main(array $args) : array { + | echo 'hello stdout'; + | error_log('hello stderr'); + | return $args; + |} + """.stripMargin) + } + + override val testUnicode = { + TestConfig(""" |<?php |function main(array $args) : array { | $str = $args['delimiter'] . " ☃ " . $args['delimiter']; @@ -72,37 +97,37 @@ abstract class Php7ActionContainerTests extends BasicActionRunnerTests with WskA | return ["winter" => $str]; |} """.stripMargin.trim) - }) + } - testEnv( - Seq { - ( - "PHP", - """ - |<?php - |function main(array $args) : array { - | return [ - | "env" => $_ENV, - | "api_host" => $_ENV['__OW_API_HOST'], - | "api_key" => $_ENV['__OW_API_KEY'], - | "namespace" => $_ENV['__OW_NAMESPACE'], - | "action_name" => $_ENV['__OW_ACTION_NAME'], - | "activation_id" => $_ENV['__OW_ACTIVATION_ID'], - | "deadline" => $_ENV['__OW_DEADLINE'], - | ]; - |} - """.stripMargin.trim) - }, - enforceEmptyOutputStream) - - testInitCannotBeCalledMoreThanOnce(""" - |<?php - |function main(array $args) : array { - | echo 'hello stdout'; - | error_log('hello stderr'); - | return $args; - |} - """.stripMargin) + override val testEnv = { + TestConfig( + """ + |<?php + |function main(array $args) : array { + | return [ + | "env" => $_ENV, + | "api_host" => $_ENV['__OW_API_HOST'], + | "api_key" => $_ENV['__OW_API_KEY'], + | "namespace" => $_ENV['__OW_NAMESPACE'], + | "action_name" => $_ENV['__OW_ACTION_NAME'], + | "activation_id" => $_ENV['__OW_ACTIVATION_ID'], + | "deadline" => $_ENV['__OW_DEADLINE'], + | ]; + |} + """.stripMargin.trim, + enforceEmptyOutputStream = enforceEmptyOutputStream) + } + + override val testLargeInput = { + TestConfig(""" + |<?php + |function main(array $args) : array { + | echo 'hello stdout'; + | error_log('hello stderr'); + | return $args; + |} + """.stripMargin) + } it should "fail to initialize with bad code" in { val (out, err) = withPhp7Container { c => @@ -127,19 +152,6 @@ abstract class Php7ActionContainerTests extends BasicActionRunnerTests with WskA }) } - it should "fail to initialize with no code" in { - val (out, err) = withPhp7Container { c => - val code = "" - - val (initCode, error) = c.init(initPayload(code)) - - initCode should not be (200) - error shouldBe a[Some[_]] - error.get shouldBe a[JsObject] - error.get.fields("error").toString should include("No code to execute") - } - } - it should "return some error on action error" in { val (out, err) = withPhp7Container { c => val code = """ @@ -467,21 +479,6 @@ abstract class Php7ActionContainerTests extends BasicActionRunnerTests with WskA }) } - it should "support actions using non-default entry point" in { - val (out, err) = withPhp7Container { c => - val code = """ - | <?php - | function niam(array $args) { - | return [result => "it works"]; - | } - """.stripMargin - - c.init(initPayload(code, main = "niam"))._1 should be(200) - val (runCode, runRes) = c.run(runPayload(JsObject())) - runRes.get.fields.get("result") shouldBe Some(JsString("it works")) - } - } - it should "support zipped actions using non-default entry point" in { val srcs = Seq(Seq("index.php") -> """ | <?php
