Changeset 11541

Show
Ignore:
Timestamp:
05/16/07 12:49:12 (2 years ago)
Author:
warmerdam
Message:

added test for metadata rewriting (#1640)

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/autotest/gdrivers/hfa.py

    r11248 r11541  
    329329  
    330330############################################################################### 
     331# Verify we can write and read large metadata items. 
     332 
     333def hfa_metadata_1(): 
     334 
     335    drv = gdal.GetDriverByName('HFA') 
     336    ds = drv.Create( 'tmp/md_1.img', 100, 150, 1, gdal.GDT_Byte ) 
     337     
     338    md_val = '0123456789' * 60 
     339    md = { 'test' : md_val } 
     340    ds.GetRasterBand(1).SetMetadata( md ) 
     341    ds = None 
     342 
     343    ds = gdal.Open( 'tmp/md_1.img' ) 
     344    md = ds.GetRasterBand(1).GetMetadata() 
     345    if md['test'] != md_val: 
     346        print md['test'] 
     347        print md_val 
     348        gdaltest.post_reason( 'got wrong metadata back' ) 
     349        return 'fail' 
     350    ds = None 
     351     
     352    return 'success' 
     353  
     354############################################################################### 
     355# Verify that writing metadata multiple times does not result in duplicate 
     356# nodes. 
     357 
     358def hfa_metadata_2(): 
     359 
     360    ds = gdal.Open( 'tmp/md_1.img', gdal.GA_Update ) 
     361    md = ds.GetRasterBand(1).GetMetadata() 
     362    md['test'] = '0123456789' 
     363    md['xxx'] = '123' 
     364    ds.GetRasterBand(1).SetMetadata( md ) 
     365    ds = None 
     366 
     367    ds = gdal.Open( 'tmp/md_1.img' ) 
     368    md = ds.GetRasterBand(1).GetMetadata() 
     369    if not md.has_key('xxx'): 
     370        gdaltest.post_reason('metadata rewrite seems not to have worked') 
     371        return 'fail' 
     372 
     373    if md['xxx'] != '123' or md['test'] != '0123456789': 
     374        print md 
     375        gdaltest.post_reason('got wrong metadata back') 
     376        return 'fail' 
     377 
     378    gdal.GetDriverByName('HFA').Delete( 'tmp/md_1.img' ) 
     379     
     380    return 'success' 
     381  
     382############################################################################### 
    331383# 
    332384 
     
    341393    hfa_float_read, 
    342394    hfa_pe_read, 
    343     hfa_pe_write] 
     395    hfa_pe_write, 
     396    hfa_metadata_1, 
     397    hfa_metadata_2] 
    344398 
    345399if __name__ == '__main__':