rasterio/tests/test_driver_management.py
2014-09-01 22:00:56 -06:00

48 lines
1.4 KiB
Python

import logging
import sys
import rasterio
from rasterio._drivers import driver_count, GDALEnv
logging.basicConfig(stream=sys.stderr, level=logging.DEBUG)
def test_drivers():
with rasterio.drivers() as m:
assert driver_count() > 0
assert type(m) == GDALEnv
n = rasterio.drivers()
assert driver_count() > 0
assert type(n) == GDALEnv
def test_options(tmpdir):
"""Test that setting CPL_DEBUG=True results in GDAL debug messages.
"""
logger = logging.getLogger('GDAL')
logger.setLevel(logging.DEBUG)
logfile1 = str(tmpdir.join('test_options1.log'))
fh = logging.FileHandler(logfile1)
logger.addHandler(fh)
# With CPL_DEBUG=True, expect debug messages from GDAL in
# logfile1
with rasterio.drivers(CPL_DEBUG=True):
with rasterio.open("tests/data/RGB.byte.tif") as src:
pass
log = open(logfile1).read()
assert "GDAL: GDALOpen(tests/data/RGB.byte.tif" in log
# The GDAL env above having exited, CPL_DEBUG should be OFF.
logfile2 = str(tmpdir.join('test_options2.log'))
fh = logging.FileHandler(logfile2)
logger.addHandler(fh)
with rasterio.open("tests/data/RGB.byte.tif") as src:
pass
# Expect no debug messages from GDAL.
log = open(logfile2).read()
assert "GDAL: GDALOpen(tests/data/RGB.byte.tif" not in log