The new exercise of Common Lisp has bugs

The new exercise Bottle Song in Common Lisp on Exercism has bugs. The online editor cannot change the source code.

I can change it. Could you give some more details pls?


As you can see, the test result is not rely on the online editor content.
Comprare the config.json on the github, I think the relative path may be the reason.

1 Like

Curiously, the CI passed originally in Replace `beer-song` with `bottle-song` · exercism/common-lisp@60d32df · GitHub, but the example solution doesn’t currently pass in the web editor. If I hardcode one of the expected values, the associated test still fails. So I suspect the CI will need to be looked at as well.

1 Like

cc @verdammelt

If I am reading the error from the web runner correctly that is the doc string of the function (which would the stub function in bottle-song.lisp.

I had configlet generate the config.json file and didn’t notice It generated the file that way. Does anyone know if that is a problem?

Interesting. The web ui shows the stub file and also the test file as being entirely blank.

I added (/ 1 0) to the file and ran the tests - they failed as if they were running the actual stub file.

So the web ui is not showing the correct files, and any edits being done are not being used for the test run.

This should fix it: Fix bad filenames by iHiD · Pull Request #856 · exercism/common-lisp · GitHub

Dude! I just pushed my own PR! :smiley:

So is this a known issue of configlet? That file was generated by configlet create...

1 Like

Ha! :grin:

I don’t know anything about configlet. @ErikSchierboom?

Configlet uses the patterns in the files array in the track config. See common-lisp/config.json at ba5c0e5aec82b673de780d565f7633014c6ac174 · exercism/common-lisp · GitHub. You need to drop the ./ prefixes and then you would be fine next time you create an exercise with configlet.

2 Likes

What @BNAndras said :)

1 Like

@ErikSchierboom / @BNAndras Ah! thank you. I shake my first at past-Mark that set now-Mark up for this failure.

1 Like

The web editor is working now, but common-lisp/exercises/practice/bottle-song/.meta/example.lisp at main · exercism/common-lisp · GitHub only passes the first generic verse test.

Here’s the output for the last generic verse test. It seems the bottle count resets at ten for each verse.

(BOTTLE-SONG:RECITE 3 1)

 evaluated to 

("Ten green bottles hanging on the wall,"
 "Ten green bottles hanging on the wall,"
 "And if one green bottle should accidentally fall,"
 "There'll be nine green bottles hanging on the wall.")

 which is not 

EQUAL

 to 

("Three green bottles hanging on the wall,"
 "Three green bottles hanging on the wall,"
 "And if one green bottle should accidentally fall,"
 "There'll be two green bottles hanging on the wall.")

Still doesn’t look like the web is picking up the change. My implementation file contains (/ 2 0) and test run has no mention of that. So the test run is still not running my implementation file but the stub file provided in the source code. It is also still not showing any tests in the test tab (but obviously they are running)…

Update: I found the button for me to update the exercise. Once It was updated I can see the stub file and tests, it operates properly for me.

On this page Bottle Song in Common Lisp on Exercism there was a banner saying that the exercise had an update and I had to request for that update to be applied.

Yeah, I updated the exercise as well. That’s when I was able to check the CI example again, only to get the failing test. I don’t see an obvious issue staring me in the face though so I’ll take another look later.

hmm good luck. not sure what could be going on.