Iteration Failed, but works locally

I’m trying to do the Acronym exercise for unison. I’ve got release/M4i locally, and the tests and everything pass. But when I push up, all I get is that the Iteration failed, but nothing about tests.

If I open the exact same file in the website editor, it passes and is fine. Am I missing something?

It’s possible a test runner times out. You could try making a tiny change and rerunning the code. Or it could be something else. It would be helpful to see the exact code and exact error (please use codeblocks ``` and not images) in order to make a more educated guess.

I think it might be that it is timing out. The tests do take a while to run locally.
The weird part is that if I run the tests from the website editor, they pass in time.

Code:

splitter : Char -> Boolean
splitter c =
     Boolean.or (Char.ascii.isLetter c) (c Char.== ?')

acronym.abbreviate : Text -> Text
acronym.abbreviate test =
  test
   |> Text.segmentBy splitter
   |> List.map (t -> Text.take 1 t)
   |> Text.join ""
   |> Text.toUppercase

Nothing too complex. Unless I am misunderstanding some performance implications of unison (highly likely)

Hi @rhuarc! Unison track maintainer here! I did a quick repro test, taking your code and submitting via the CLI. Your code passes through both local testing and shows as passing on the exercism platform. So it’s a bit of a mystery as to why it failed for you :thinking: . It may be a timeout related issue, as I know that was happening for a few tracks a while back. Sometimes to debug I’ll delete the iteration and re-submit the code again. If there’s a continued failure in the track runner when submitting via the CLI vs through the web, I’d be interested in hearing about it and further debugging with you.

Thanks for giving Unison a try!

I’ve done 5 exercises today and anytime I submit with the CLI I get one of two errors:

  1. An Error Occured
  2. Your Tests Timed Out

As of right now, I am getting #1 more frequently. All have been resolved by opening it it the browser editor and running the tests. No code changes.

I’m happy to help debug this as much as I can.

All our servers look healthy. I’ll try and dig into your solution and see what I can work out.

Update: Yeah, something weird is definitely happening and I think it’s Unison-specific.

We’re getting both the test results back but ALSO a timeout. So it looks like the process is working in terms of running the tests, but that the process isn’t exiting cleanly (or instantly). So we kill the machine after ~15s and return an error, but the data has already been written out at that stage, so we persist it.

This seems to happen both in passing and failing cases.

@rlmark Let me know if there’s anything else I can do to help debug.

I just saw the passing case: I have an iteration of All Your Base that passed the tests, but the Iteration is marked as failed.

Thanks for looking into this. Wanted to bring this up so that other people trying Unison don’t get confused.

1 Like

Oh that is interesting, I’m also reproducing some intermittent failures via the CLI. I’ve taken a passing code sample and submitted via the CLI with some succeeding and some failing. I’ll work with @iHiD on getting some logs!

Thanks for your patience on this @rhuarc, Unison has some interesting features in that the nature of the code is that it’s not “text-based”, so we’ve got an additional little hop to do when ingesting submissions! :grin: Hopefully you’ll be able to submit via some combo of the web interface and CLI!