You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@couchdb.apache.org by ch...@apache.org on 2014/07/22 01:57:18 UTC

[05/43] couchdb commit: updated refs/heads/1963-eunit-bigcouch to 424dca5

Port 040-util.t etap test suite to eunit


Project: http://git-wip-us.apache.org/repos/asf/couchdb/repo
Commit: http://git-wip-us.apache.org/repos/asf/couchdb/commit/ffc2362f
Tree: http://git-wip-us.apache.org/repos/asf/couchdb/tree/ffc2362f
Diff: http://git-wip-us.apache.org/repos/asf/couchdb/diff/ffc2362f

Branch: refs/heads/1963-eunit-bigcouch
Commit: ffc2362f0752870f3a82292b14530c26a27c7ee7
Parents: 3979306
Author: Alexander Shorin <kx...@apache.org>
Authored: Sat May 17 04:16:38 2014 +0400
Committer: Russell Branca <ch...@apache.org>
Committed: Mon Jul 21 16:35:40 2014 -0700

----------------------------------------------------------------------
 test/couchdb/couch_util_tests.erl | 44 +++++++++++++++++++
 test/etap/040-util.t              | 80 ----------------------------------
 2 files changed, 44 insertions(+), 80 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/couchdb/blob/ffc2362f/test/couchdb/couch_util_tests.erl
----------------------------------------------------------------------
diff --git a/test/couchdb/couch_util_tests.erl b/test/couchdb/couch_util_tests.erl
index 5152857..53e53c6 100644
--- a/test/couchdb/couch_util_tests.erl
+++ b/test/couchdb/couch_util_tests.erl
@@ -55,3 +55,47 @@ should_collate_ascii() ->
 
 should_collate_non_ascii() ->
     ?_assertEqual(-1, couch_util:collate(<<"A">>, <<"aa">>)).
+
+to_existed_atom_test() ->
+    ?assert(couch_util:to_existing_atom(true)),
+    ?assertMatch(foo, couch_util:to_existing_atom(<<"foo">>)),
+    ?assertMatch(foobarbaz, couch_util:to_existing_atom("foobarbaz")).
+
+implode_test() ->
+    ?assertEqual([1, 38, 2, 38, 3], couch_util:implode([1, 2, 3], "&")).
+
+trim_test() ->
+    lists:map(fun(S) -> ?assertEqual("foo", couch_util:trim(S)) end,
+              [" foo", "foo ", "\tfoo", " foo ", "foo\t", "foo\n", "\nfoo"]).
+
+abs_pathname_test() ->
+    {ok, Cwd} = file:get_cwd(),
+    ?assertEqual(Cwd ++ "/foo", couch_util:abs_pathname("./foo")).
+
+flush_test() ->
+    ?assertNot(couch_util:should_flush()),
+    AcquireMem = fun() ->
+        _IntsToAGazillion = lists:seq(1, 200000),
+        _LotsOfData = lists:map(fun(_) -> <<"foobar">> end,
+                                lists:seq(1, 500000)),
+        _BigBin = list_to_binary(_LotsOfData),
+
+        %% Allocation 200K tuples puts us above the memory threshold
+        %% Originally, there should be:
+        %%      ?assertNot(should_flush())
+        %% however, unlike for etap test, GC collects all allocated bits
+        %% making this conditions fail. So we have to invert the condition
+        %% since GC works, cleans the memory and everything is fine.
+        ?assertNot(couch_util:should_flush())
+    end,
+    AcquireMem(),
+
+    %% Checking to flush invokes GC
+    ?assertNot(couch_util:should_flush()).
+
+verify_test() ->
+    ?assert(couch_util:verify("It4Vooya", "It4Vooya")),
+    ?assertNot(couch_util:verify("It4VooyaX", "It4Vooya")),
+    ?assert(couch_util:verify(<<"ahBase3r">>, <<"ahBase3r">>)),
+    ?assertNot(couch_util:verify(<<"ahBase3rX">>, <<"ahBase3r">>)),
+    ?assertNot(couch_util:verify(nil, <<"ahBase3r">>)).

http://git-wip-us.apache.org/repos/asf/couchdb/blob/ffc2362f/test/etap/040-util.t
----------------------------------------------------------------------
diff --git a/test/etap/040-util.t b/test/etap/040-util.t
deleted file mode 100755
index d57a32e..0000000
--- a/test/etap/040-util.t
+++ /dev/null
@@ -1,80 +0,0 @@
-#!/usr/bin/env escript
-%% -*- erlang -*-
-
-% Licensed under the Apache License, Version 2.0 (the "License"); you may not
-% use this file except in compliance with the License. You may obtain a copy of
-% the License at
-%
-%   http://www.apache.org/licenses/LICENSE-2.0
-%
-% Unless required by applicable law or agreed to in writing, software
-% distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-% WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-% License for the specific language governing permissions and limitations under
-% the License.
-
-main(_) ->
-    test_util:init_code_path(),
-    application:start(crypto),
-
-    etap:plan(14),
-    case (catch test()) of
-        ok ->
-            etap:end_tests();
-        Other ->
-            etap:diag(io_lib:format("Test died abnormally: ~p", [Other])),
-            etap:bail(Other)
-    end,
-    ok.
-
-test() ->
-    % to_existing_atom
-    etap:is(true, couch_util:to_existing_atom(true), "An atom is an atom."),
-    etap:is(foo, couch_util:to_existing_atom(<<"foo">>),
-        "A binary foo is the atom foo."),
-    etap:is(foobarbaz, couch_util:to_existing_atom("foobarbaz"),
-        "A list of atoms is one munged atom."),
-
-    % implode
-    etap:is([1, 38, 2, 38, 3], couch_util:implode([1,2,3],"&"),
-        "use & as separator in list."),
-
-    % trim
-    Strings = [" foo", "foo ", "\tfoo", " foo ", "foo\t", "foo\n", "\nfoo"],
-    etap:ok(lists:all(fun(S) -> couch_util:trim(S) == "foo" end, Strings),
-        "everything here trimmed should be foo."),
-
-    % abs_pathname
-    {ok, Cwd} = file:get_cwd(),
-    etap:is(Cwd ++ "/foo", couch_util:abs_pathname("./foo"),
-        "foo is in this directory."),
-
-    % should_flush
-    etap:ok(not couch_util:should_flush(),
-        "Not using enough memory to flush."),
-    AcquireMem = fun() ->
-        _IntsToAGazillion = lists:seq(1, 200000),
-        _LotsOfData = lists:map(
-            fun(Int) -> {Int, <<"foobar">>} end,
-        lists:seq(1, 500000)),
-        etap:ok(couch_util:should_flush(),
-            "Allocation 200K tuples puts us above the memory threshold.")
-    end,
-    AcquireMem(),
-
-    etap:ok(not couch_util:should_flush(),
-        "Checking to flush invokes GC."),
-
-    % verify
-    etap:is(true, couch_util:verify("It4Vooya", "It4Vooya"),
-         "String comparison."),
-    etap:is(false, couch_util:verify("It4VooyaX", "It4Vooya"),
-         "String comparison (unequal lengths)."),
-    etap:is(true, couch_util:verify(<<"ahBase3r">>, <<"ahBase3r">>),
-        "Binary comparison."),
-    etap:is(false, couch_util:verify(<<"ahBase3rX">>, <<"ahBase3r">>),
-        "Binary comparison (unequal lengths)."),
-    etap:is(false, couch_util:verify(nil, <<"ahBase3r">>),
-        "Binary comparison with atom."),
-
-    ok.