-
Notifications
You must be signed in to change notification settings - Fork 845
Integrate Java driver examples into automated build process #3297
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
base: 3.7-dev
Are you sure you want to change the base?
Integrate Java driver examples into automated build process #3297
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## 3.7-dev #3297 +/- ##
=============================================
- Coverage 76.14% 75.51% -0.64%
+ Complexity 13152 13143 -9
=============================================
Files 1084 1092 +8
Lines 65160 67101 +1941
Branches 7285 7389 +104
=============================================
+ Hits 49616 50671 +1055
- Misses 12839 13808 +969
+ Partials 2705 2622 -83 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
- Move examples from gremlin-driver to gremlin-server test sources - Add DriverExamplesIntegrateTest to run examples against test server - Change examples to use System.getProperty for test compatibility - Update ModernTraversals to use gmodern traversal source - Remove compiler exclusion for examples in gremlin-driver pom
917f1db to
81d6dc0
Compare
...in-server/src/test/java/org/apache/tinkerpop/gremlin/driver/DriverExamplesIntegrateTest.java
Outdated
Show resolved
Hide resolved
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.
It's a bit odd to me that this file runs the main function of other classes. I know those classes are there to mimic the ones from gremlin-examples, but seeing as how this is going to be tied to integration test, you might as well just make each of those classes a test in this file instead? Just a thought, doesn't really need to be changed if you feel that it makes more sense this way.
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.
I agree that making the examples complete tests makes more sense in this isolated context. It's done more to mimic the rest of the GLVs, where currently the examples are also simply executed as part of the integration tests. Perhaps adding output validation and converting examples into proper tests could be a future piece of work.
As of now, I think it makes sense to keep the current approach to stay consistent with the other GLVs, and the main goal of catching the breaking changes that affect examples is still achieved.
Integrates Java driver examples into CI to ensure they remain functional and catch breaking changes in the driver. Examples now execute automatically during integration tests and fail the build if broken.
Changes Made
gremlin-driver/src/main/java/examplestogremlin-server/src/test/java/examplesto add example execution into existing integration test infrastuctureDriverExamplesIntegrateTestto run examples against test servergremlin-driver/pom.xmlRoot-level Java driver examples remain available in
gremlin-examples/gremlin-java