You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@couchdb.apache.org by va...@apache.org on 2017/10/02 17:51:10 UTC
couchdb-b64url git commit: Replace deprecated random module and
crypto:rand_bytes calls
Repository: couchdb-b64url
Updated Branches:
refs/heads/remove-deprecated-rand-and-crypto [created] afa766fd4
Replace deprecated random module and crypto:rand_bytes calls
Project: http://git-wip-us.apache.org/repos/asf/couchdb-b64url/repo
Commit: http://git-wip-us.apache.org/repos/asf/couchdb-b64url/commit/afa766fd
Tree: http://git-wip-us.apache.org/repos/asf/couchdb-b64url/tree/afa766fd
Diff: http://git-wip-us.apache.org/repos/asf/couchdb-b64url/diff/afa766fd
Branch: refs/heads/remove-deprecated-rand-and-crypto
Commit: afa766fd48fd5d5b34d684600e7a1d749a6e9dea
Parents: 6895652
Author: Nick Vatamaniuc <va...@apache.org>
Authored: Mon Oct 2 13:49:54 2017 -0400
Committer: Nick Vatamaniuc <va...@apache.org>
Committed: Mon Oct 2 13:49:54 2017 -0400
----------------------------------------------------------------------
test/b64url_tests.erl | 36 ++++++++++++++----------------------
test/benchmark.escript | 9 +++------
2 files changed, 17 insertions(+), 28 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/couchdb-b64url/blob/afa766fd/test/b64url_tests.erl
----------------------------------------------------------------------
diff --git a/test/b64url_tests.erl b/test/b64url_tests.erl
index b3d7779..7b21459 100644
--- a/test/b64url_tests.erl
+++ b/test/b64url_tests.erl
@@ -64,16 +64,8 @@ decode_bad_length_test() ->
gen_binary() ->
- case get(random_seed) of
- undefined ->
- random:seed(os:timestamp());
- _ ->
- ok
- end,
- % -1 here so that zero is a possibility
- Length = random:uniform(?MAX_SIZE) - 1,
- Bytes = tl([random:uniform(256)-1 || _ <- lists:seq(0, Length)]),
- list_to_binary(Bytes).
+ Length = crypto:rand_uniform(0, ?MAX_SIZE),
+ crypto:strong_rand_bytes(Length).
shallow_iolist() ->
@@ -93,31 +85,31 @@ bad_len_binary() ->
to_iolist(<<>>) ->
- case random:uniform(2) of
- 1 -> <<>>;
- 2 -> [<<>>]
+ case crypto:rand_uniform(0,2) of
+ 0 -> <<>>;
+ 1 -> [<<>>]
end;
to_iolist(B) when is_binary(B), size(B) > 0 ->
- S = random:uniform(size(B)),
+ S = crypto:rand_uniform(1, size(B) + 1),
<<First:S/binary, Second/binary>> = B,
- case random:uniform(3) of
- 1 ->
+ case crypto:rand_uniform(0, 3) of
+ 0 ->
[to_iolist(First), Second];
- 2 ->
+ 1 ->
[First, to_iolist(Second)];
- 3 ->
+ 2 ->
[First, Second]
end.
insert_error(B) when is_binary(B), size(B) < 2 ->
- case random:uniform(2) of
- 1 -> {<<122, 255>>, 0};
- 2 -> {<<122, 122, 255>>, 0}
+ case crypto:rand_uniform(0, 2) of
+ 0 -> {<<122, 255>>, 0};
+ 1 -> {<<122, 122, 255>>, 0}
end;
insert_error(B) when is_binary(B) ->
B64 = couch_encode_base64url(B),
- S = random:uniform(size(B64)-1),
+ S = crypto:rand_uniform(0, size(B64)),
<<First:S/binary, _:1/binary, Second/binary>> = B64,
{<<First:S/binary, 255, Second/binary>>, 4 * (S div 4)}.
http://git-wip-us.apache.org/repos/asf/couchdb-b64url/blob/afa766fd/test/benchmark.escript
----------------------------------------------------------------------
diff --git a/test/benchmark.escript b/test/benchmark.escript
index 5c2bdd5..e1a1f70 100755
--- a/test/benchmark.escript
+++ b/test/benchmark.escript
@@ -97,7 +97,6 @@ spawn_workers(NumWorkers, St) ->
run_worker(St) ->
- random:seed(erlang:now()),
receive
start -> ok
end,
@@ -116,8 +115,8 @@ run_worker(St, Started) ->
do_round_trip(St) ->
- Size = St#st.minsize + random:uniform(St#st.maxsize - St#st.minsize),
- Data = crypto:rand_bytes(Size),
+ Size = crypto:rand_uniform(St#st.minsize, St#st.maxsize + 1),
+ Data = crypto:strong_rand_bytes(Size),
Encoded = (St#st.module):encode(Data),
Data = (St#st.module):decode(Encoded),
St#st{total_bytes=St#st.total_bytes+Size}.
@@ -137,10 +136,8 @@ decode(Url64) ->
Padding = list_to_binary(lists:duplicate((4 - size(Url2) rem 4) rem 4, $=)),
base64:decode(<<Url2/binary, Padding/binary>>).
-
randomize(List) ->
- random:seed(erlang:now()),
- List0 = [{random:uniform(), L} || L <- List],
+ List0 = [{crypto:rand_uniform(0, 1 bsl 32), L} || L <- List],
List1 = lists:sort(List0),
[L || {_, L} <- List1].