Changeset 34 for trunk/src/tests.erl
- Timestamp:
- 08/22/08 18:46:07 (4 years ago)
- File:
-
- 1 edited
-
trunk/src/tests.erl (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/tests.erl
r33 r34 10 10 {Module, [{attributes, Attributes}]} = Chunks, 11 11 Declarations = lists: flatten ([T || {test, T} <- Attributes]), 12 filter_by_attribute (Module, Binary, Declarations, []). 12 Tests = filter (Binary, Declarations, []), 13 {Module, Tests}. 14 15 filter (Binary, [exports | Tail], Acc) -> 16 {ok, Chunks} = beam_lib: chunks (Binary, [exports]), 17 {_, [{exports, Exports}]} = Chunks, 18 Tests = lists: foldl (fun testable_export/2, [], Exports), 19 filter (Binary, Tail, [Tests | Acc]); 20 filter (_, [], Acc) -> 21 lists: flatten (Acc). 22 23 testable_export ({module_info, _}, Fs) -> Fs; 24 testable_export ({F, 0}, Fs) -> [F | Fs]; 25 testable_export (_, Fs) -> Fs. 13 26 14 27 receive_all () -> 15 28 receive_all ([]). 16 17 filter_by_attribute (Module, Binary, [exports | Tail], Tests) ->18 {ok, Chunks} = beam_lib: chunks (Binary, [exports]),19 {Module, [{exports, Exports}]} = Chunks,20 Funs = exports_to_funs (Module, Exports, []),21 filter_by_attribute (Module, Binary, Tail, [Funs | Tests]);22 filter_by_attribute (Module, Binary, [{M, F, Ts} | Tail], Tests) ->23 Funs = [{Module, T} || T <- Ts],24 filter_by_attribute (Module, Binary, Tail, [{M, F, [Funs]} | Tests]);25 filter_by_attribute (Module, _, [], Tests) ->26 {Module, lists: flatten (Tests)}.27 28 exports_to_funs (M, [{module_info, _} | Exports], Funs) ->29 exports_to_funs (M, Exports, Funs);30 exports_to_funs (M, [{F, 0} | Exports], Funs) ->31 exports_to_funs (M, Exports, [{M, F, []} | Funs]);32 exports_to_funs (M, [{_, _} | Exports], Funs) ->33 exports_to_funs (M, Exports, Funs);34 exports_to_funs (_, [], Funs) ->35 Funs.36 29 37 30 receive_all (Ms) ->
Note: See TracChangeset
for help on using the changeset viewer.
