Git Product home page Git Product logo

Comments (3)

mhelmetag avatar mhelmetag commented on May 16, 2024

Hey there!

Yeah... so we're following the second method (compile and run individual spec files) so that this track can follow the structure of the other track repos (so that the cli and other services can have a standardized way to find all the files).

I'm all for conforming with spec but... I'm not sure if there's a way to change the spec target directory (similar to how xelixir does it here). Unfortunately, I don't think we can configure that in a shard.yml (but if there is, by all means do it).

If you can figure out a way to keep the existing repo structure but also use crystal spec that would be awesome (keep in mind that currently we also have most of the tests set to pending so to actually run them during CI we do some sed magic as well).

from crystal.

daveyarwood avatar daveyarwood commented on May 16, 2024

Hi, thanks for taking the time to explain! I'm not sure I fully understand the problem, yet.

It looks like the Clojure track is somehow able to have exercises that each have src and test directories (following Clojure project convention)... this made me curious, so I dug into the exercism cli, api and trackler repos a little bit. Unless I'm missing something, I'm not sure that there is any requirement for the contents of an exercise folder in a track to follow any particular convention.

I see that we have a Makefile in this repo that manages running the spec files for each exercise. That could certainly be adjusted to cd into each directory and run crystal spec.

Am I missing something?

from crystal.

mhelmetag avatar mhelmetag commented on May 16, 2024

Ah I didn't know that xclojure had such a different exercise structure. Interesting! I think that it could work then. I'm still just a bit concerned about changing the whole structure of exercises after launching but... if it works, it works.

I say go for it.

I think the steps are to:

  • restructure the individual exercise dirs to have src and spec folders (or similar so that crystal spec works)
  • update makefile to edit test files (change pending to it) with new dir structure while running CI and also run crystal spec while running tests
  • update the docs for people on exercism so that they know which files to check-in and how to test (I think the one downside of this new configuration is that it makes it a bit more complicated to know which files to check in)
  • as well as update docs for other contributors to this repo so that everyone is on the same page about the new exercise structure

Since this is a pretty big change. I'm going to start a spec branch. It would be great if you could base your PR's off of that branch.

Thanks!

from crystal.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.