exercism / fortran-test-runner

GNU Affero General Public License v3.0
2 stars 4 forks source link

Initial commit based on cpp-test-runner #1

Closed pclausen closed 3 years ago

pclausen commented 3 years ago

WIP Initial commit based on cpp-test-runner

ErikSchierboom commented 3 years ago

@pclausen Thanks for working on this! It looks like the bulk of it is implemented, but I can't get the tests passing on my machine. See the above comments for more information.

pclausen commented 3 years ago

@ErikSchierboom I think I have now fixed the build and tests. The general idea now is to download CMakeLists.txt and testlib at creation of docker image. I had some strange issues with different quote-signs on docker vs local build and also that line numbers on in the make files and thus in the build errors did not match. So I added removal of quotation-marks and numbers from the output.

pclausen commented 3 years ago

@ErikSchierboom I was also confused by the

results_file="${output_dir}/results.json"
build_results_file="${build_dir}/results.json"

but it seems also to be a construct from the cpp track. My preference would be NOT to copy the results.json file back to $root or $output_dir, but it is unclear to me that this is by design or not.

ErikSchierboom commented 3 years ago

but it seems also to be a construct from the cpp track. My preference would be NOT to copy the results.json file back to $root or $output_dir, but it is unclear to me that this is by design or not.

That is indeed by design, as the test runner spec requires the results.json file to be written in $output_dir.

ErikSchierboom commented 3 years ago

@pclausen If I ran ./bin/run-tests-in-docker.sh, I still got several build failures. Turned out this had to do with old results not being cleaned up, which I've fixed and pushed.

pclausen commented 3 years ago

This is looking good! I've just tested with the allergies exercise and that seemed to work.

Great

The only thing remaining is to add the github codeowners and workflows. For that, you should be able to just copy the contents of https://github.com/exercism/generic-test-runner/tree/main/.github.

Not quite sure I understand this step but I will open a separate PR for that.

pclausen commented 3 years ago

@ErikSchierboom I am a bit lost in how to

For that, you should be able to just copy the contents of https://github.com/exercism/generic-test-runner/tree/main/.github.

I have tried to add these files in a new branch

workspace/fortran-test-runner $ git diff main --name-only
.github/CODEOWNERS
.github/dependabot.yml
.github/labels.yml
.github/workflows/ci.yml
.github/workflows/docker.yml
.github/workflows/sync-labels.yml

but I keep getting this error

git push --set-upstream origin add-workflow
Enumerating objects: 11, done.
Counting objects: 100% (11/11), done.
Delta compression using up to 16 threads
Compressing objects: 100% (9/9), done.
Writing objects: 100% (10/10), 3.67 KiB | 3.67 MiB/s, done.
Total 10 (delta 1), reused 0 (delta 0), pack-reused 0
remote: Resolving deltas: 100% (1/1), completed with 1 local object.
To https://github.com/pclausen/fortran-test-runner.git
 ! [remote rejected] add-workflow -> add-workflow (refusing to allow an OAuth App to create or update workflow `.github/workflows/ci.yml` without `workflow` scope)
error: failed to push some refs to 'https://github.com/pclausen/fortran-test-runner.git'

Can you please do this change because I am at the end of my github knowledge. Thanks.

iHiD commented 3 years ago

@pclausen Erik's not around today. In the interim, it looks like your local github token is maybe out of date. See https://stackoverflow.com/questions/64059610/how-to-resolve-refusing-to-allow-an-oauth-app-to-create-or-update-workflow-on for some other people who have solved this problem.

ErikSchierboom commented 3 years ago

@pclausen I think Jeremy's suggestion is correct. Do you want to take a stab at fixing it using the above link or would you prefer me to do it?