Changeset 180:ca80a1c7f2ed

Show
Ignore:
Timestamp:
04/24/2012 10:05:33 PM (13 months ago)
Author:
Andreas Schaefer <gentryx@…>
Branch:
default
Message:

fixed TypemapGenerator?'s unit tests

Location:
tools/typemapgenerator
Files:
7 modified

Legend:

Unmodified
Added
Removed
  • tools/typemapgenerator/mpigenerator.rb

    r179 r180  
    5858    end 
    5959    member_specs = member_specs1 + member_specs2 
    60     ret.sub!(/ *MEMBERSPECS/, member_specs.join(",\n")) 
     60    ret.sub!(/ *MEMBERSPECS/, member_specs.sort.join(",\n")) 
    6161  end 
    6262 
  • tools/typemapgenerator/mpiparser.rb

    r92 r180  
    6464  # it'll try to create a new MPI type map specification. 
    6565  def resolve_forest(classes) 
    66     classes = classes.dup 
     66    classes = classes.sort 
    6767    resolved_classes = { } 
    6868    resolved_parents = { } 
     
    128128    end 
    129129 
    130     return params.uniq 
     130    return params.sort.uniq 
    131131  end 
    132132 
  • tools/typemapgenerator/test/fixtures/references/generatemapengine.cpp

    r0 r180  
    99    // sort addresses in ascending order 
    1010    MemberSpec rawSpecs[] = { 
     11        MemberSpec(MPI::Get_address(&obj->capacity), MPI::DOUBLE, 1), 
    1112        MemberSpec(MPI::Get_address(&obj->fuel), MPI::INT, 1), 
    12         MemberSpec(MPI::Get_address(&obj->gearRatios), MPI::DOUBLE, 6), 
    13         MemberSpec(MPI::Get_address(&obj->capacity), MPI::DOUBLE, 1) 
     13        MemberSpec(MPI::Get_address(&obj->gearRatios), MPI::DOUBLE, 6) 
    1414    }; 
    1515    std::sort(rawSpecs, rawSpecs + count, addressLower); 
  • tools/typemapgenerator/test/fixtures/references/typemaps.cpp

    r0 r180  
    33 
    44namespace MPI \{ 
     5    Datatype RIM; 
    56    Datatype TIRE; 
    6     Datatype RIM; 
    77    Datatype WHEEL; 
    88\} 
     
    2828 
    2929MPI\:\:Datatype 
    30 Typemaps\:\:generateMapTire\(\) \{.* 
     30Typemaps\:\:generateMapRim\(\) \{.* 
    3131\} 
    3232 
    3333MPI\:\:Datatype 
    34 Typemaps\:\:generateMapRim\(\) \{.* 
     34Typemaps\:\:generateMapTire\(\) \{.* 
    3535\} 
    3636 
     
    4141void Typemaps\:\:initializeMaps\(\) 
    4242\{ 
     43    MPI\:\:RIM = generateMapRim\(\); 
    4344    MPI\:\:TIRE = generateMapTire\(\); 
    44     MPI\:\:RIM = generateMapRim\(\); 
    4545    MPI\:\:WHEEL = generateMapWheel\(\); 
    4646\} 
  • tools/typemapgenerator/test/fixtures/references/typemaps.h

    r0 r180  
    44#include <complex> 
    55#include <mpi.h> 
    6 #include "/home/gentryx/typemapgenerator/trunk/test/fixtures/src/tire.h" 
    7 #include "/home/gentryx/typemapgenerator/trunk/test/fixtures/src/rim.h" 
    8 #include "/home/gentryx/typemapgenerator/trunk/test/fixtures/src/wheel.h" 
     6#include <rim.h> 
     7#include <tire.h> 
     8#include <wheel.h> 
    99 
    1010namespace MPI { 
     11    extern Datatype RIM; 
    1112    extern Datatype TIRE; 
    12     extern Datatype RIM; 
    1313    extern Datatype WHEEL; 
    1414} 
     
    2424 
    2525private: 
     26    static MPI::Datatype generateMapRim(); 
    2627    static MPI::Datatype generateMapTire(); 
    27     static MPI::Datatype generateMapRim(); 
    2828    static MPI::Datatype generateMapWheel(); 
    2929 
     
    4747    static inline MPI::Datatype lookup(unsigned short*) { return MPI::UNSIGNED_SHORT; } 
    4848    static inline MPI::Datatype lookup(wchar_t*) { return MPI::WCHAR; } 
     49    static inline MPI::Datatype lookup(Rim*) { return MPI::RIM; } 
    4950    static inline MPI::Datatype lookup(Tire*) { return MPI::TIRE; } 
    50     static inline MPI::Datatype lookup(Rim*) { return MPI::RIM; } 
    5151    static inline MPI::Datatype lookup(Wheel*) { return MPI::WHEEL; } 
    5252}; 
  • tools/typemapgenerator/test/unit/mpigeneratortest.rb

    r0 r180  
    4646                                               @headers) 
    4747    # avoid comparing absolute pathnames (beneficial as the tests have to run in various locations) 
    48     expected_header.gsub!(/(#include ").*\/(\w+\.h")/) { |m| $1+$2 } 
    49     actual_header.gsub!(  /(#include ").*\/(\w+\.h")/) { |m| $1+$2 } 
     48    expected_header.gsub!(/(#include <).*\/(\w+\.h>)/) { |m| $1+$2 } 
     49    actual_header.gsub!(  /(#include <).*\/(\w+\.h>)/) { |m| $1+$2 } 
     50 
    5051    assert_equal(expected_header, actual_header) 
    5152  end 
  • tools/typemapgenerator/test/unit/mpiparsertest.rb

    r0 r180  
    146146 
    147147  def test_used_template_parameters 
    148     expected = [["int", "int"], ["int", "double"],  
    149                 ["Coord<3 >", "Coord<2 >"]] 
     148    expected = [["Coord<3 >", "Coord<2 >"], 
     149                ["int", "double"], 
     150                ["int", "int"]] 
    150151    assert_equal(expected, @parser.used_template_parameters("CoordPair")) 
    151152 
     
    367368    } 
    368369 
    369     expected_sortation = %w{Rim Engine Tire Wheel Car} 
     370    expected_sortation = %w{Engine Tire Rim Wheel Car} 
    370371 
    371372    expected_headers =  
    372       ["fixtures/src/rim.h", 
    373        "fixtures/src/engine.h", 
     373      ["fixtures/src/engine.h", 
    374374       "fixtures/src/tire.h", 
     375       "fixtures/src/rim.h", 
    375376       "fixtures/src/wheel.h", 
    376377       "fixtures/src/car.h"] 
     
    426427    resolved_classes = @parser.resolve_forest(classes)[0] 
    427428     
    428  
    429     assert_equal(%w(wheels),  
    430                  resolved_classes["Car"].keys) 
    431     assert_equal(%w(size spareWheel), resolved_classes["CarContainer"].keys) 
     429    assert_equal(%w(wheels), resolved_classes["Car"].keys) 
     430    assert_equal(%w(size spareWheel), resolved_classes["CarContainer"].keys.sort) 
    432431  end 
    433432