exercism / gleam

Exercism exercises in Gleam.
https://exercism.org/tracks/gleam
MIT License
86 stars 79 forks source link

Valentines-day exercise error: "error: Shell command failure". Caused by 'Maybe' keywords in erlang #491

Closed KimBrusevold closed 3 months ago

KimBrusevold commented 3 months ago

As discussed in Discord (https://discord.com/channels/768594524158427167/1247980115091128423/1247984729051893780) (https://discord.com/channels/768594524158427167/1248553138428969010) there is an error with the valentines-day exercism exercise

We received the following error when we ran your code:

error: Shell command failure There was a problem when running the shell command escript.

I am not able to reproduce this error locally. I am able to run both gleam build, and gleam test commands locally

By not being able to complete this exercise, there is no way of continuing with other tasks/exercises.

Would it be good enough to change the type from 'Maybe' to 'Perhaps'? Would invalidate existing completions of the exercise.

ianmjones commented 3 months ago

Having the same problem when re-testing a previously passing valentines-day...

❯ gleam test
  Compiling valentines_day
/home/ian/Projects/sr.ht/ianmjones/exercism/gleam/valentines-day/build/dev/erlang/valentines_day/_gleam_artefacts/valentines_day.erl:7:32: syntax error before: 'maybe'
%    7| -type approval() :: yes | no | maybe.
%     |                                ^

/home/ian/Projects/sr.ht/ianmjones/exercism/gleam/valentines-day/build/dev/erlang/valentines_day/_gleam_artefacts/valentines_day_test.erl:48:39: syntax error before: ')'
%   48|     exercism@should:equal(_pipe, maybe).
%     |                                       ^

/home/ian/Projects/sr.ht/ianmjones/exercism/gleam/valentines-day/build/dev/erlang/valentines_day/_gleam_artefacts/valentines_day.erl:29:18: syntax error before: ';'
%   29|             maybe;
%     |                  ^

/home/ian/Projects/sr.ht/ianmjones/exercism/gleam/valentines-day/build/dev/erlang/valentines_day/_gleam_artefacts/valentines_day_test.erl:63:39: syntax error before: ')'
%   63|     exercism@should:equal(_pipe, maybe).
%     |                                       ^

/home/ian/Projects/sr.ht/ianmjones/exercism/gleam/valentines-day/build/dev/erlang/valentines_day/_gleam_artefacts/valentines_day.erl:4:2: function rate_activity/1 undefined
%    4| -export([rate_activity/1]).
%     |  ^

/home/ian/Projects/sr.ht/ianmjones/exercism/gleam/valentines-day/build/dev/erlang/valentines_day/_gleam_artefacts/valentines_day.erl:5:2: type approval() undefined
%    5| -export_type([approval/0, cuisine/0, genre/0, activity/0]).
%     |  ^

/home/ian/Projects/sr.ht/ianmjones/exercism/gleam/valentines-day/build/dev/erlang/valentines_day/_gleam_artefacts/valentines_day_test.erl:68:39: syntax error before: ')'
%   68|     exercism@should:equal(_pipe, maybe).
%     |                                       ^

/home/ian/Projects/sr.ht/ianmjones/exercism/gleam/valentines-day/build/dev/erlang/valentines_day/_gleam_artefacts/valentines_day.erl:19:2: spec for undefined function rate_activity/1
%   19| -spec rate_activity(activity()) -> approval().
%     |  ^

/home/ian/Projects/sr.ht/ianmjones/exercism/gleam/valentines-day/build/dev/erlang/valentines_day/_gleam_artefacts/valentines_day.erl:19:36: type approval() undefined
%   19| -spec rate_activity(activity()) -> approval().
%     |                                    ^

/home/ian/Projects/sr.ht/ianmjones/exercism/gleam/valentines-day/build/dev/erlang/valentines_day/_gleam_artefacts/valentines_day_test.erl:4:2: function rate_turkish_restaurant_test/0 undefined
%    4| -export([main/0, rate_board_game_test/0, rate_chilling_test/0, rate_crime_movie_test/0, rate_horror_movie_test/0, rate_romance_movie_test/0, rate_thriller_movie_test/0, rate_korean_restaurant_test/0, rate_turkish_restaurant_test/0, rate_walk_of_12_kilometer_test/0, rate_walk_of_13_kilometers_test/0, rate_walk_of_11_kilometers_test/0, rate_walk_of_7_kilometers_test/0, rate_walk_of_6_kilometers_test/0]).
%     |  ^

/home/ian/Projects/sr.ht/ianmjones/exercism/gleam/valentines-day/build/dev/erlang/valentines_day/_gleam_artefacts/valentines_day_test.erl:4:2: function rate_walk_of_11_kilometers_test/0 undefined
%    4| -export([main/0, rate_board_game_test/0, rate_chilling_test/0, rate_crime_movie_test/0, rate_horror_movie_test/0, rate_romance_movie_test/0, rate_thriller_movie_test/0, rate_korean_restaurant_test/0, rate_turkish_restaurant_test/0, rate_walk_of_12_kilometer_test/0, rate_walk_of_13_kilometers_test/0, rate_walk_of_11_kilometers_test/0, rate_walk_of_7_kilometers_test/0, rate_walk_of_6_kilometers_test/0]).
%     |  ^

/home/ian/Projects/sr.ht/ianmjones/exercism/gleam/valentines-day/build/dev/erlang/valentines_day/_gleam_artefacts/valentines_day_test.erl:4:2: function rate_walk_of_7_kilometers_test/0 undefined
%    4| -export([main/0, rate_board_game_test/0, rate_chilling_test/0, rate_crime_movie_test/0, rate_horror_movie_test/0, rate_romance_movie_test/0, rate_thriller_movie_test/0, rate_korean_restaurant_test/0, rate_turkish_restaurant_test/0, rate_walk_of_12_kilometer_test/0, rate_walk_of_13_kilometers_test/0, rate_walk_of_11_kilometers_test/0, rate_walk_of_7_kilometers_test/0, rate_walk_of_6_kilometers_test/0]).
%     |  ^

/home/ian/Projects/sr.ht/ianmjones/exercism/gleam/valentines-day/build/dev/erlang/valentines_day/_gleam_artefacts/valentines_day_test.erl:45:2: spec for undefined function rate_turkish_restaurant_test/0
%   45| -spec rate_turkish_restaurant_test() -> valentines_day:approval().
%     |  ^

/home/ian/Projects/sr.ht/ianmjones/exercism/gleam/valentines-day/build/dev/erlang/valentines_day/_gleam_artefacts/valentines_day_test.erl:60:2: spec for undefined function rate_walk_of_11_kilometers_test/0
%   60| -spec rate_walk_of_11_kilometers_test() -> valentines_day:approval().
%     |  ^

/home/ian/Projects/sr.ht/ianmjones/exercism/gleam/valentines-day/build/dev/erlang/valentines_day/_gleam_artefacts/valentines_day_test.erl:65:2: spec for undefined function rate_walk_of_7_kilometers_test/0
%   65| -spec rate_walk_of_7_kilometers_test() -> valentines_day:approval().
%     |  ^

error: Shell command failure

There was a problem when running the shell command `escript`.

Using Gleam v1.2.1 and Erlang v27.

lpil commented 3 months ago

This is fixed in the Gleam nightly build. It will be released soon.