[Qgis-developer] Adding new provider for QGIS
David Adler
dadler at adtechgeospatial.com
Tue Jan 26 14:43:37 PST 2016
I'm afraid I'm relatively new to Git - I have mostly used SVN with GDAL
and GeoTools.
I created a fork off github.com/qgis/qgis onto my
github.com/dwadler/qgis environment.
The branch is set to master.
When I clicked on New Pull Request, it said they were the same and
didn't do anything. Your note stated that this will kick off the
automated test suite.
Should I be doing a git clone to my development system, creating a new
branch, putting the new/modified code in it, commit and push back to
github? Then do the pull?
I didn't think I could do a push to github - wouldn't this attempt to
update the QGIS master? It isn't clear how Travis gets in the loop.
For testing, wouldn't QGIS need a live connection to a DB2 database?
Please excuse the novice questions.
David
On 1/25/2016 6:14 PM, Nyall Dawson wrote:
>
> Hi David, (and cc'ing back in qgis-dev)
>
> When you open a pull request against the main QGIS master repo, the
> automated test suite (https://travis-ci.org/qgis/QGIS) will kick in
> and run a test build and run all the existing unit tests to avoid
> regressions. It will also run some "meta" tests, checking code quality
> and adherence to the code standards.
>
> So that's the first step - open your PR against QGIS master (not
> against your fork), and see how this goes. Then you basically keep
> revising your branch and pushing to github and for each new push
> Travis will retest until you get a green light.
>
> The next step is adding new tests to cover your work. Without tests it
> *will* break in some future QGIS release, so that's why testing is
> mandatory for something like this. The provider test also runs a bunch
> of complex cases against each provider to ensure that they correctly
> handle a bunch of corner cases, so it will help ensure that your
> provider is well behaved and stable.
>
> Here's some other provider tests which are good models to copy from:
>
> https://github.com/qgis/QGIS/blob/master/tests/src/python/test_provider_shapefile.py
>
> https://github.com/qgis/QGIS/blob/master/tests/src/python/test_provider_spatialite.py
>
> (Note that both also implement additional tests specific to that
> provider, eg testRepack for shapefiles). The ms-sql provider test is a
> good example of a minimal test, which only implements the things
> required for the generic provider test (although you could also omit
> the enableCompiler/disableComplier methods if you haven't implemented
> an expression compiler for db2 yet). Then you'll also need to include
> relevant test data - see
> https://github.com/qgis/QGIS/tree/master/tests/testdata/provider for
> what's expected in the test files, eg
> https://github.com/qgis/QGIS/blob/master/tests/testdata/provider/testdata_mssql.sql.
>
> Hope that helps!
>
> Nyall
>
>
>
> On 26 Jan 2016 10:05, "David Adler" <dadler at adtechgeospatial.com
> <mailto:dadler at adtechgeospatial.com>> wrote:
> >
> > I'm not clear on what the "automated CI" is or how one runs is.
> >
> > We did a fork and pull to our fork to do the development.
> >
> > I'm still a bit hazy on setting up and running the tests. Does a
> database need to be operational in order to run the tests?
> test_provider_mssql.py doesn't look like it does much.
> >
> >
> > On 1/25/2016 4:24 PM, Nyall Dawson wrote:
> >>
> >>
> >> On 26 Jan 2016 07:57, "David Adler" <dadler at adtechgeospatial.com
> <mailto:dadler at adtechgeospatial.com>> wrote:
> >> >
> >> > We would like to add a DB2 provider to QGIS so that QGIS users
> can access spatial tables on DB2 for LUW and DB2 for z/OS.
> >> >
> >> > We have implemented and tested much of this based on an existing
> database provider.
> >> >
> >> > What is the mechanism to have this reviewed and approved?
> >>
> >> Open a pull request on github, and let the automated CI run its
> checks over the code.
> >>
> >> Tips to get things reviewed/merged faster:
> >> - Make sure all your API additions are correctly documented
> >> - Include unit tests. At a minimum a new vector provider needs a
> test which inherits from ProviderTestCase. See
> tests/src/python/test_provider_mssql.py for an example. This ensures
> that the provider behaves consistently with what QGIS expects from a
> vector data provider.
> >>
> >> Nyall
> >>
> >> >
> >> >
> >> >
> >> > ---
> >> > This email has been checked for viruses by Avast antivirus software.
> >> > https://www.avast.com/antivirus
> >> >
> >> > _______________________________________________
> >> > Qgis-developer mailing list
> >> > Qgis-developer at lists.osgeo.org
> <mailto:Qgis-developer at lists.osgeo.org>
> >> > List info: http://lists.osgeo.org/mailman/listinfo/qgis-developer
> >> > Unsubscribe: http://lists.osgeo.org/mailman/listinfo/qgis-developer
> >
> >
> > This email has been sent from a virus-free computer protected by Avast.
> > www.avast.com <http://www.avast.com>
>
---
This email has been checked for viruses by Avast antivirus software.
https://www.avast.com/antivirus
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/qgis-developer/attachments/20160126/38f46ab7/attachment.html>
More information about the Qgis-developer
mailing list