Changeset 96


Ignore:
Timestamp:
08/19/10 09:26:03 (18 months ago)
Author:
dom
Message:

Continue work on include files

Location:
trunk/src
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/compiler_test.erl

    r95 r96  
    1515-export ([can_be_given_include_directories/0]). 
    1616-export ([discovers_hrl_files_and_includes_their_path/0]). 
     17%% -export ([recompiles_includers/0]). 
    1718-export ([adds_root_to_include_path/0]). 
    1819-export ([reset_includes_none/0]). 
     
    114115 
    115116discovers_hrl_files_and_includes_their_path () -> 
    116     Tree = 
    117         [{directory, "include", 
    118           [{file, "eg_include.hrl", "-define(eg_macro,ok)."}]}, 
    119          {directory, "src", 
    120           [{file, "eg_code_with_include.erl", 
    121             ["-module (eg_code_with_include).", 
    122              "-test (ok).", 
    123              "-export ([ok/0]).", 
    124              "-include (\"eg_include.hrl\").", 
    125              "ok () ->", 
    126              "    ok = ?eg_macro."]}]}], 
     117    Tree = [{directory, "include", 
     118             [{file, "eg_include.hrl", "-define(eg_macro,ok)."}]}, 
     119            {directory, "src", 
     120             [{file, "eg_code_with_include.erl", 
     121               ["-module (eg_code_with_include).", 
     122                "-test (ok).", 
     123                "-export ([ok/0]).", 
     124                "-include (\"eg_include.hrl\").", 
     125                "ok () ->", 
     126                "    ok = ?eg_macro."]}]}], 
    127127    ok = fixtures: use_tree (Tree, fun discovers_hrl/2).     
    128128 
     
    278278    Expected = [debug, bla, {i, "/dir/subdir"}, {i, "/dir"}], 
    279279    Expected = compiler: reset_includes (New, Options). 
     280 
     281%% recompiles_includers () -> 
     282%%     Tree = modules_test: includes_tree (), 
     283%%     ok = fixtures: use_tree (Tree, fun recompiles_includers/2). 
     284 
     285%% recompiles_includers (Root, _) -> 
     286%%     Compiler = spawn_link (compiler, init, [notify_me (), [Root]]), 
     287%%     Compiler ! check, 
     288%%     [{3, 0, 0}, _, _, {3, 3, 3}, _] = receive_all (), 
     289%%     Include = filename: join (Root, "eg_include.hrl"), 
     290%%     Define = "-define(eg_macro, ko)", 
     291%%     ok = file: write_file (Include, Define), 
     292%%     Compiler ! check, 
     293%%     [{3, 2, 2}, {3, 3, 3}, {{binaries, _}, _}] = receive_all (), 
     294%%     ok. 
  • trunk/src/modules.erl

    r93 r96  
    1010-export ([module_name/1]). 
    1111-export ([locate/2]). 
     12-export ([includes/1]). 
    1213 
    1314to_binary (File_name) -> 
     
    5253locate_line (_, _, []) -> 
    5354    unknown. 
     55 
     56includes (File) -> 
     57    includes_from_forms (epp_dodger: parse_file (File)). 
     58 
     59includes_from_forms ({error, _}=E) -> 
     60    E; 
     61includes_from_forms ({ok, Forms}) -> 
     62    Attributes = [A || {tree, attribute, _, A} <- Forms], 
     63    Includes = [I || {attribute, {atom, _, include}, [I]} <- Attributes], 
     64    [F || {string, _, F} <- Includes]. 
  • trunk/src/modules_test.erl

    r92 r96  
    44 
    55-module (modules_test). 
    6 -test (exports). 
     6-test (module_name). 
     7-test (locate). 
     8-test (includes). 
    79-export ([module_name/0]). 
    810-export ([locate/0]). 
     11-export ([includes_tree/0]). 
     12-export ([includes/0]). 
    913 
    1014module_name () -> 
     
    2933    {File, 3} = modules: locate ({eg_code, ok, 0}, Binary), 
    3034    ok. 
     35 
     36includes_tree () -> 
     37    [{file, "eg_include.hrl", "-define(eg_macro,ok)."}, 
     38     {file, "eg_code_with_include.erl", 
     39      ["-module (eg_code_with_include).", 
     40       "-export ([ok/0]).", 
     41       "-include (\"eg_include.hrl\").", 
     42       "ok () -> ?eg_macro."]}, 
     43     {file, "eg_code_no_include.erl", 
     44      ["-module (eg_code_no_include).", 
     45       "-export ([ok/0]).", 
     46       "ok () -> ok."]}, 
     47     {directory, "dir", 
     48      [{file, "eg_include_in_dir.hrl", "-define(eg_macro2,nok)."}]}, 
     49     {file, "eg_code_include_with_path.erl", 
     50      ["-module (eg_code_include_with_path).", 
     51       "-include (\"dir/eg_include_in_dir.hrl\").", 
     52       "-export ([ok/0]).", 
     53       "ok () -> ok."]}]. 
     54 
     55includes () -> 
     56    ok = fixtures: use_tree (includes_tree (), fun includes/2). 
     57 
     58includes (Root, _) -> 
     59    Without = filename: join (Root, "eg_code_no_include.erl"), 
     60    [] = modules: includes (Without), 
     61    With = filename: join (Root, "eg_code_with_include.erl"), 
     62    ["eg_include.hrl"] = modules: includes (With), 
     63    With_path = filename: join (Root, "eg_code_include_with_path.erl"), 
     64    ["dir/eg_include_in_dir.hrl"] = modules: includes (With_path), 
     65    ok. 
  • trunk/src/text_printer_test.erl

    r92 r96  
    7575            P ! {io_reply, Self, ok}, 
    7676            Binary; 
     77        {io_request, P, Self, {put_chars, Binary}} -> 
     78            P ! {io_reply, Self, ok}, 
     79            Binary; 
    7780        M -> M 
    7881    after 1000 -> timeout 
Note: See TracChangeset for help on using the changeset viewer.