-
Notifications
You must be signed in to change notification settings - Fork 28
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
Replace mainSourceFile
with excludedSourceFile
in unittest build
#229
Conversation
The test system in mysql-native is kind of weird (I have to figure out why it's used here). I don't think the change is as simple as this. But you have it backwards -- the dub changes are preventing people from using this project, not the other way around. If someone depends on a specific revision of mysql-native, they shouldn't have to upgrade because the build system all of a sudden decided things don't mean what they used to mean. This is not the only project broken by the dub changes. |
I would need more details on this. Knowing the feature and what it does, I see no reason why it'd be more complicated.
Those releases versions are released, we can't change that. What we can do is make future versions of mysql-native compatible with all dub version by removing one line. |
Likewise, historical versions of mysql-native are released, we can't change that. Why should someone depending on an older version of mysql-native have to upgrade (and validate their project) simply because the build system decided things didn't mean what they used to mean? I don't disagree that it shouldn't be using this directive for future versions, I want to revisit the whole testing system in general (it's run with shell scripts and compiled test harnesses, whereas I think most of it should be with unittests). But this ignores the fact that the build system has already been fundamentally altered and I don't want to release new versions of old branches (i.e. a new 2.x release) just to workaround dub bugs. |
So let's merge this, shall we, unblock users, and continue the discussion about dub in the dub PR ? |
I need to verify the CI still works (it's not running, and I don't know why at the moment). |
Can you force push? I think I had a setting wrong on travis. |
OK that seems to have done it. |
So CI is failing due to the extra "main" declared in mysql-native/source/mysql/package.d Line 97 in e52eacf
I have to spend some time digging through the CI to figure out what it is trying to do with that. It seems oddly out of place, and more of a kludge than solution. |
I'm going to have to address CI soon. This one build on Travis consumed all the credits, so this will take some time. I think next step is to set up github actions to avoid this situation. See #227 |
Okay so I compiled with verbose output. Without any change (using
With the line removed:
With the latest change (
(I added a newline to separate the list of files, for readability). Note that I also noticed that all configurations but one use |
Yeah Travis really killed their open source offering with the credit approach.
Thanks for the pointer, I gave a review to the PR 🤷 |
mainSourceFile
with excludedSourceFile
in unittest build
The directive wasn't using `mainSourceFile`, because the configuration was only for testing.
Fixed, although the configuration is not used anymore. |
Going to close, as I think this is no longer relevant. In #235 I'm planning on removing the |
I'm not sure I follow ? The |
See the referenced PR. in particular the dub.sdl. I'm making things simple. |
BTW, the unittest-vibe and the unittest-vibe-ut were redundant. Just one used unit-threaded and the other didn't. I'm not sure why they were both in there. |
The directive wasn't using
mainSourceFile
,because the configuration was only for testing.