Changeset 45
- Timestamp:
- 01/27/09 15:39:17 (3 years ago)
- Location:
- trunk
- Files:
-
- 3 added
- 5 edited
-
doc/conventions.txt (modified) (1 diff)
-
install (modified) (1 diff)
-
src/fixtures.erl (added)
-
src/fixtures_test.erl (added)
-
src/modules.erl (modified) (2 diffs)
-
src/shells.erl (modified) (3 diffs)
-
src/shells_tests.erl (added)
-
src/tester_test.erl (modified) (10 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/doc/conventions.txt
r26 r45 9 9 argument to the process's init function. 10 10 11 Don't write start() functions that hide the spawning. -
trunk/install
r28 r45 5 5 erl -kernel error_logger "{file,\"tester.log\"}" -sname forgetester -noinput & 6 6 cd ebin 7 erlc ../src/shells.erl 7 8 erl -make 8 9 erl -kernel error_logger "{file,\"../forge.log\"}" -sname forgeinstaller -noinput -s shells install forgetester@$hostname -s init stop -
trunk/src/modules.erl
r38 r45 1 %%% Copyright (c) 2008 Dominic Williams1 %%% Copyright (c) Dominic Williams, Nicolas Charpentier 2 2 %%% All rights reserved. 3 3 %%% See file COPYING. … … 5 5 -module (modules). 6 6 -export ([to_binary/1]). 7 -export([forms_to_binary /1]). 7 -export ([to_file_name/2]). 8 -export ([forms_to_binary/1]). 8 9 9 10 to_binary (File_name) -> 10 11 compile (fun compile: file/2, File_name). 11 12 13 to_file_name (Module, Directory) -> 14 File_name = atom_to_list (Module) ++ ".erl", 15 filename: join (Directory, File_name). 16 12 17 forms_to_binary (Forms) -> 13 18 compile (fun compile: forms/2, Forms). -
trunk/src/shells.erl
r44 r45 8 8 try 9 9 Self = self (), 10 spawn_link (fun () -> tests (test_node (Test_node), Self) end),10 spawn_link (fun () -> shells_tests: tests (test_node (Test_node), Self) end), 11 11 receive {Self, done} -> ok; 12 12 M -> io:fwrite ("tests_crash: ~p~n", [M]) … … 34 34 end. 35 35 36 tests (Test_node, Caller) ->37 io: fwrite ("Running local developer tests~n", []),38 ok = tests_test: filter_by_attribute (),39 io: fwrite ("Running developer tests on test node: ~p~n", [Test_node]),40 ok = tester_test: runs_a_test (Test_node),41 ok = tester_test: reruns_a_test_when_given_module (Test_node),42 ok = tester_test: runs_given_test_sequence (Test_node),43 ok = tester_test: runs_given_tests (Test_node),44 ok = tester_test: reloads_corrected_module (Test_node),45 ok = tester_test: deletes_a_module (Test_node),46 ok = tester_test: deletes_a_test_module (Test_node),47 ok = tester_test: notifies_a_message (Test_node),48 ok = tester_test: runs_new_tests_failed_then_successful (Test_node),49 Caller ! {Caller, done}.50 51 36 receive_all () -> 52 37 receive … … 59 44 done 60 45 end. 46 -
trunk/src/tester_test.erl
r44 r45 1 %%% Copyright (c) 2008Dominic Williams, Nicolas Charpentier1 %%% Copyright (c) Dominic Williams, Nicolas Charpentier 2 2 %%% All rights reserved. 3 3 %%% See file COPYING. 4 4 5 5 -module (tester_test). 6 -export ([runs_a_test/1, reruns_a_test_when_given_module/1]). 7 -export ([runs_given_tests/1, runs_given_test_sequence/1]). 8 -export ([reloads_corrected_module/1]). 9 -export ([deletes_a_module /1]). 10 -export ([deletes_a_test_module /1]). 11 -export ([notifies_a_message /1]). 12 -export ([runs_new_tests_failed_then_successful /1]). 6 -export ([run_all/1]). 13 7 14 start_tester (Node) -> 15 Self = self (), 16 Notify = fun (Event) -> Self ! Event end, 17 extremeforge: start_tester (Node, Notify). 8 run_all (Node) -> 9 runs_a_test (Node), 10 reruns_a_test_when_given_module (Node), 11 runs_given_tests (Node), 12 runs_given_test_sequence (Node), 13 reloads_corrected_module (Node), 14 deletes_a_module (Node), 15 deletes_a_test_module (Node), 16 notifies_a_message (Node), 17 runs_new_tests_failed_then_successful (Node), 18 ok. 18 19 19 fixture_path (Module) ->20 File_name = atom_to_list (Module) ++ ".erl",21 filename: join ("../fix", File_name).22 23 20 send (Modules, Tester) -> 24 Paths = [ fixture_path (M) || M <- Modules],21 Paths = [modules: to_file_name (M, "../fix") || M <- Modules], 25 22 Binaries = [modules: to_binary (P) || P <- Paths], 26 23 false = lists: any (fun (M) -> code: is_loaded (M) end, Modules), … … 29 26 false = lists: any (fun (M) -> code: is_loaded (M) end, Modules), 30 27 Results. 31 28 29 notify_me () -> 30 Self = self (), 31 fun (M) -> Self ! M end. 32 32 33 runs_a_test (Node) -> 33 Tester = s tart_tester (Node),34 Tester = spawn_link (tester, init, [notify_me (), Node]), 34 35 [{2, 0, 0}, {2, 1, 1}, Error, {2, 2, 1}] = send ([eg_test], Tester), 35 36 {{badmatch, nok}, [{eg_test, nok, 0} | _]} = Error, … … 37 38 38 39 reruns_a_test_when_given_module (Node) -> 39 Tester = s tart_tester (Node),40 Tester = spawn_link (tester, init, [notify_me (), Node]), 40 41 [{1, 0, 0}, Error, {1, 1, 0}] = send ([eg_test_of_code], Tester), 41 42 {undef, [{eg_code, ok, []}, {eg_test_of_code, ok, 0} | _]} = Error, … … 44 45 45 46 runs_given_test_sequence (Node) -> 46 Tester = s tart_tester (Node),47 Tester = spawn_link (tester, init, [notify_me (), Node]), 47 48 [{2, 0, 0}, {2, 1, 1}, _, {2, 2, 1}] = send ([eg_test], Tester), 48 49 [{2, 0, 0}, _, {2, 1, 0}, {2, 2, 1}] = send ([eg_code], Tester), … … 52 53 53 54 runs_given_tests (Node) -> 54 Tester = s tart_tester (Node),55 Tester = spawn_link (tester, init, [notify_me (), Node]), 55 56 Modules = [eg_test, eg_code, eg_test_of_code], 56 57 Result = send (Modules, Tester), … … 59 60 60 61 reloads_corrected_module (Node) -> 61 Tester = s tart_tester (Node),62 Tester = spawn_link (tester, init, [notify_me (), Node]), 62 63 Binary = modules: forms_to_binary (eg_test_form ("nok")), 63 64 Tester ! [{"./eg_test.erl", Binary}], … … 72 73 73 74 deletes_a_module (Node) -> 74 Tester = s tart_tester (Node),75 Tester = spawn_link (tester, init, [notify_me (), Node]), 75 76 [{1, 0, 0}, {1, 1, 1}] = send ([eg_test_of_code], Tester), 76 77 Tester ! {delete,[eg_code]}, … … 81 82 82 83 deletes_a_test_module (Node) -> 83 Tester = s tart_tester (Node),84 Tester = spawn_link (tester, init, [notify_me (), Node]), 84 85 [{1, 0, 0}, {1, 1, 1}] = send ([eg_test_of_code], Tester), 85 86 Tester ! {delete,[eg_test_of_code]}, … … 89 90 90 91 notifies_a_message (Node) -> 91 Tester = s tart_tester (Node),92 Tester = spawn_link (tester, init, [notify_me (), Node]), 92 93 Test_message = "this is a message", 93 94 Tester ! {notify, Test_message}, … … 96 97 97 98 runs_new_tests_failed_then_successful (Node) -> 98 Tester = s tart_tester (Node),99 Tester = spawn_link (tester, init, [notify_me (), Node]), 99 100 Modules = [eg_code, eg_test_of_code_failed], 100 101 Result = send (Modules, Tester),
Note: See TracChangeset
for help on using the changeset viewer.
