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" <[email protected]
<mailto:[email protected]>> 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" <[email protected]
<mailto:[email protected]>> 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
>> > [email protected]
<mailto:[email protected]>
>> > 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
_______________________________________________
Qgis-developer mailing list
[email protected]
List info: http://lists.osgeo.org/mailman/listinfo/qgis-developer
Unsubscribe: http://lists.osgeo.org/mailman/listinfo/qgis-developer