Comments (10)
It's not surprising that this bug is present because we had to fix it in NUnit 3, so it was probably present in NUnit V2. The V2 framework driver actually uses the NUnit V2 assemblies so it would naturally have the same problem.
Workaround might be to use --where "!(cat == Db || cat == UnitTest)"
. No guarantees there, however.
Two ways to fix this if we want to...
-
The adapter could theoretically detect the filter structure (e.g. two negations under an "and") and create a new, equivalent structure that works. Pretty hacky, but necessary if the V2 assemblies are not changed.
-
Modify the V2 assemblies, perhaps including their source in the driver itself. I'm interested in exploring this idea.
What do other @nunit/framework-team members think?
from nunit-v2-framework-driver.
If someone is willing to contribute a fix, I'd prefer the fix to be in the correct place (2).
from nunit-v2-framework-driver.
The workaround @CharliePoole proposes seems to work. Thanks a lot.
I'm not totally sure what you mean with V2 assemblies. But when excluding multiple categories in Nunit 2.6.4, we use the /exclude command line option:
/exclude:"Db,UnitTest"
, and that worked fine too.
from nunit-v2-framework-driver.
Sorry to confuse... What I'm saying is this...
The filter code in V3 comes from V2. It had an error we had to fix, but of course, it was never fixed in the original (V2) code. The error is not triggered by use of the /Exclude parameter because it actually produces the filter structure I suggested as a workaround... !(a or b) rather than !a and !b. In fact, in V2 it's very hard to produce the bug, because there is no syntax to trigger it. However it's present in the underlying filter.
from nunit-v2-framework-driver.
I actually could live with option (1), since I don't think that many people are going to need this, and I think that "including their source in the driver itself" sounds complicated for such an issue (@CharliePoole do you have any idea of how large/difficult the fix is, if we go for solution (2)?)
from nunit-v2-framework-driver.
@mikkelbu For (1) I said "theoretically" meaning "I have no idea how to do it." 😃
For (2) my working assumption is that we can port changes we made to the same code in NUnit 3 back to NUnit 2, but I haven't checked on that. I do know that the NUnit 3 filter code started out the same as the V2 code and that it now works correctly.
from nunit-v2-framework-driver.
@ChrisMaddock Re: pre-release review
I think this may just have been fixed in V3. Perhaps the fix could be ported to V2. If so, then it's a problem for NUnitV2, not for this extension. One of us should review.
from nunit-v2-framework-driver.
@CharliePoole This isn't something I'm able to pick up personally, I'm afraid. Given it's a 2 year old issue, I'd say it should be left out of this release, and left for any "future willing maintainer" ;-)
from nunit-v2-framework-driver.
This needs to be re-confirmed because of changes in the underlying code base over time.
from nunit-v2-framework-driver.
🎉 This issue has been resolved in version 3.9.0 🎉
The release is available on:
from nunit-v2-framework-driver.
Related Issues (20)
- How does this work? HOT 1
- Are v2 addins supported? HOT 2
- Remove nunit.v2.driver.addins? HOT 3
- Event Listener and Report output incorrect or nunit2 test runs HOT 10
- Integrate creation of chocolatey package into the build script
- Is it possible to use this driver along with NUnit.ConsoleRunner? HOT 1
- Use NUnit V2 Core package rather than hard coded 2.6.4 binaries HOT 18
- Exploring tests with filter returns all tests HOT 9
- V2 Driver does not support id filters HOT 11
- Create a level of support statement HOT 1
- Publish 'dev' builds on MyGet HOT 2
- Run integration tests on packages HOT 1
- Name and Fullname are the same in V3 XML format HOT 4
- Automate GitHub Release Process HOT 1
- Change default branch from master to main HOT 1
- Standardize build scripts for extensions HOT 2
- Automate the GitHub release process HOT 1
- V2 Framework Driver not picked up HOT 1
- Standardize scripts across console and extension repos
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from nunit-v2-framework-driver.