diff --git a/.gitignore b/.gitignore
index f710fdddc18f996fda303510b85613bfadcc5fa0..a5cbf19b476af3ef7619e912fe28c0126a74df87 100644
--- a/.gitignore
+++ b/.gitignore
@@ -2,3 +2,4 @@ doc
 _build
 rebar3
 rebar.lock
+erl_crash.dump  
diff --git a/test/eunit_ide.erl b/test/eunit_ide.erl
new file mode 100644
index 0000000000000000000000000000000000000000..9a522f0eab943bf80f947d38abc25360740e3918
--- /dev/null
+++ b/test/eunit_ide.erl
@@ -0,0 +1,18 @@
+-module(eunit_ide).
+
+-export([test/1, test/2]).
+
+-define(INFINITE_TIMOUT, 31536000). %% 365*24*60*60, a year in seconds
+
+test(Tests) ->
+    test(Tests, [verbose]).
+
+test(Tests, Options) ->
+    case lists:keytake(timeout, 1, Options) of
+        {value, {timeout, infinite}, NewOptions} ->
+            eunit:test({timeout, ?INFINITE_TIMOUT, Tests}, NewOptions);
+        {value, {timeout, Timeout}, NewOptions} when is_integer(Timeout) ->
+            eunit:test({timeout, Timeout, Tests}, NewOptions);
+        false ->
+            eunit:test(Tests, Options)
+    end.