-
Notifications
You must be signed in to change notification settings - Fork 108
Bootstrap submodule support #213
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Bootstrap submodule support #213
Conversation
This reverts commit 89cf561.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There are binary files checked into this branch, (several object files, some submodule files and an archive). Those should be removed from the commit history.
739ab2b
to
03c9efc
Compare
Not sure how I missed that. Fixed. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great stuff @everythingfunctional! I've played around with it and everything is working as expected! Nice to see non-interface changes don't propagate to child submodules as you discussed. Also glad the example packages have been moved to repo root, this is a better location for them.
I'm not qualified to make specific comments on the Haskell code, but the new unit tests look sound and I haven't been able to break any of the parsing. 👍
Great work, thank you. Why were tests moved out of the tests directory directly into top level? I would like to have a tests directory I think. Consequently, I hope I didn't miss it, it seems there is no test for submodules in the (no removed) tests directory. I think there might be a test for this in the Haskell version, but I think we should strive for providing tests in the tests directory, so that the Fortran version can reuse them. |
@certik , I moved the examples out of the tests folder, because I thought it strange that they were in the |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Works quite robustly, nicely done.
The example packages are more useful as demonstrations of the capabilities of fpm to potential and existing users/developers than as actual tests. We need them currently for end-to-end regression testing but their usefulness to identify bugs or general regressions is quite limited. |
It's useful to have examples, no doubt. But more importantly we need tests. I thought these were a good start. How should our testsuite look like?
…On Sat, Oct 24, 2020, at 3:32 AM, Laurence Kedward wrote:
The example packages are more useful as demonstrations of the
capabilities of fpm to potential and existing users/developers than as
actual tests. We need them currently for end-to-end regression testing
but their usefulness to identify bugs or general regressions is quite
limited.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#213 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAAFAWHVVXOXRFLUUPBWY2DSMKNLJANCNFSM4S3TGKWA>.
|
Yes, I certainly didn't mean to imply that examples are more important than tests. Rather, I want to point out that we already have a fairly comprehensive set of unit tests which give much better code coverage and diagnostic capability than building the example packages (though I agree that we absolutely still need to do this for end-to-end and regression testing).
The reason this test directory isn't in the root directory is because fortran fpm is in a sub-directory - this doesn't need to be the case. Indeed, fpm assumes other fpm packages exist in the top-level directory, why should fpm be any different? We can still keep the bootstrap version separate in a sub-directory. |
Glad you guys are happy with the new functionality. Is there anything more you would like done in this PR before merging in? |
+1 to merge from me! |
Ok, with 3 approvals I'm going to go ahead and merge. Feel free to create an issue and tag me if you'd like additional changes after. |
This implements support for submodules in the Haskell (bootstrap) version of fpm. A quick note that this removes any requirements or restrictions on naming conventions for modules and source files. Those could in theory be added back in as explicit checks somewhere.
Additionally, this should now work with multiple programs in the same folder. I haven't really tested that yet, but it should work.