Skip to content
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

Created VSIError to report VSI errors. #98

Closed
wants to merge 17 commits into from

Conversation

lossyrob
Copy link

Implements virtual file system error reporting, and sets errors on unix file IO errors and certain AWS S3 errors.

More documentation to follow.

  • Implement error reporting
  • Testing
  • Test against windows to check against correct file system error string.

@lossyrob
Copy link
Author

/cc @sgillies @rouault @perrygeo

This is the initial set of work, I couldn't get all the testing done before having to say Au Revoir at the OSGeo code sprint.

My editor strips endline whitespace, sorry for the diff noise; if you need that to not happen just let me know and I can fix it.

@lossyrob
Copy link
Author

Thanks for the notes Even. I'll make these changes when I can get back to this, and also figure out what's going with the autotests (I tried running on a clean checkout and getting the same segfault). I think my approach will be to try and have some docker images that can build and test, for OSX hacks like me. It'll be a couple of weeks because I'm under the gun for a GeoTrellis release.

Does GDAL have a release schedule, so I know when I'll have to get this in by?

@rouault
Copy link
Member

rouault commented Feb 29, 2016

Does GDAL have a release schedule, so I know when I'll have to get this in by?
For now, the feature freeze is planned end of March, but there's also a chance/risk that it is advanced on March 11th to please a potential "sponsor" (should know very soon hopefully)

@sgillies
Copy link
Contributor

@rouault Which feature freeze is planned for the end of March? Are you talking about a 2.1 freeze? It's worth my time to get @lossyrob's work into 2.1.

@rouault
Copy link
Member

rouault commented Feb 29, 2016

Are you talking about a 2.1 freeze?

Yes

@lossyrob
Copy link
Author

End of March is doable for me, but if it gets pushed up to March 11 it'll be a tight fit. @sgillies besides the code comments I just need to test, so if your willing to throw time at it it would be a matter of getting the tests running and passing.

@rouault
Copy link
Member

rouault commented Feb 29, 2016

End of March is doable for me, but if it gets pushed up to March 11 it'll be a tight fit.

Update: forget my mention of March 11. End of March for feature freeze is still the current target.

@sgillies
Copy link
Contributor

Thanks, @rouault!

@lossyrob
Copy link
Author

@rouault My latest commits address your code review comments, thanks. I'm going to be working on getting the tests running and finish up any additional changes today.

@@ -40,11 +40,13 @@
# Nothing exciting here. Just trying to open non existing files,
# or empty names, or files that are not valid datasets...

non_existing_error_msg = 'No such file or directory'
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm afraid this will not pass on Windows

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

True. I got the impression that the autotest was only running on Linux (it still fails my mac in some ways, even trunk, whereas Travis passes). Are the autotests targeted to work across all platforms? If so, do you have suggestions on how to test on Windows?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The autotest also run on Windows and Mac.
For Windows, there's an AppVeyor config in this branch : https://github.com/rouault/gdal_coverage/blob/trunk_vc12_full/appveyor.yml . It could/should probably be merged into main repo. For now, master is merged regularly in this branch.
For Mac, this is https://github.com/rouault/gdal_coverage/blob/trunk_travis_macosx/.travis.yml . Could probably be unified into the main travis.yml with some matrix logic.
With the current setup, I guess you could probably fork that repo and merge your branch into the 2 above branches, and create PR to trigger the builds ?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ok, I'll give that a shot once I get the travis build to pass in this repo.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actually, the way you have the branches set up, I don't believe that will work. I'll try to find another way to test on Windows.

@lossyrob
Copy link
Author

@rouault tests are passing on Travis, and I set up a window build that passed here: https://ci.appveyor.com/project/lossyrob/gdal-coverage/build/job/hr5k8fm2n36j4sya. I believe this PR is ready for merge. Thanks!

@lossyrob lossyrob changed the title [Work in progress] Created VSIError to report VSI errors. Created VSIError to report VSI errors. Mar 21, 2016
@rouault
Copy link
Member

rouault commented Mar 21, 2016

Committed in r33758

kwrobot pushed a commit to aashish24/gdal-svn that referenced this pull request Mar 21, 2016
…nd use it for /vsis3/. Add new CPLE_ error numbers. (patch by Rob Emanuele, OSGeo/gdal#98)

git-svn-id: https://svn.osgeo.org/gdal/trunk/gdal@33758 f0d54148-0727-0410-94bb-9a71ac55c965
@rouault
Copy link
Member

rouault commented Mar 21, 2016

Everything looks good with the buildbots. Closing

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants