openwhisk-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Michele Sciabarra <>
Subject Re: Are changes to the ActionLoop required to implement the Pyhton runtime?
Date Wed, 19 Dec 2018 21:47:05 GMT
The proxy is able to report those errors but it reports then in the answer to the init NOT
in the log.

For example, this:

 it should "report error if zip-encoded action does not include required file" 

I changed the test adding a flag errorsAreLogged that defaults to true.
With my changes the test now looks like:

 val (out, err) = withActionContainer() { c =>
      val (initCode, initRes) = c.init(initPayload(code, main = "echo"))
      initCode should be(502)
        initRes.get.fields.get("error").get.toString() should include("Zip file does not include")

      checkStreams(out, err, {
        case (o, e) =>
          o shouldBe empty
          e should include("Zip file does not include")

Let me know if it is acceptable. If it is, I will fix tests to support the different error
reporting semantics. 
I am not going to change any runtime semantic though.

  Michele Sciabarra

----- Original message -----
From: Rodric Rabbah <>
Subject: Re: Are changes to the ActionLoop required to implement the Pyhton runtime?
Date: Wed, 19 Dec 2018 15:35:26 +0000

Can you give some examples Michele?

The errors checked in the test are to give the user some indication of what
failed (parse error, missing variable definition, ...) - is the proxy
you're working on able to report these errors? i dont think the exact
wording matters but the nature of the content is what's important and how
it can help the end user figure out what went wrong.


On Tue, Dec 18, 2018 at 8:49 PM Michele Sciabarra <>

> Hello all,
> I am implementing an action loop based runtime for Python. So far I
> managed to have everything working and I have a runtime that passes all the
> mandatory tests. However, I am trying to run it against the existing tests
> for the Python runtime and I am hitting the head against the expected
> behavior for reporting compilation errors.
> Looks like the current runtime tests expects (and checks) that certain
> errors are reported in stdout/stderr and produces output guards also for
> the init action, something novel for me.
> Currently, ActionLoop expects a compiler either is silent if there are no
> errors OR reports errors in stdout/stderr. However, the output of the
> compiler is captured and returned as  part of the answer to the init
> (either {"ok":true} or {"error":"output-of-the-compiler"}. In particular,
> ActionLoop at  init time does not produce any guard nor any output in the
> log.
> What I should do? To pass those tests I should change the current
> ActionLoop behavior, but I do not know if is it important. I am trying to
> make it compatible a pass all the tests for expected output but I think I
> can instead change the test at least for those behaviors related to error
> reporting at init time.
> Please advise.
> --
>   Michele Sciabarra

View raw message