Skip to content

Commit

Permalink
Move state record to .hrl file for easier embeding in whitebox tests
Browse files Browse the repository at this point in the history
  • Loading branch information
Tomasz Kowal committed Aug 5, 2015
1 parent f55a1c8 commit bb14182
Show file tree
Hide file tree
Showing 2 changed files with 37 additions and 17 deletions.
32 changes: 32 additions & 0 deletions include/escalus_tcp.hrl
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
%%==============================================================================

This comment has been minimized.

Copy link
@erszcz

erszcz Aug 5, 2015

Member

I don't think we need this gibberish in every file, there's already a LICENSE file in the main directory.

%% Copyright 2015 Erlang Solutions Ltd.
%%
%% 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.
%%==============================================================================

%% Stream management automation
%% :: {Auto-ack?, H, counting Hs?}.
-type sm_state() :: {boolean(), non_neg_integer(), 'active'|'inactive'}.

This comment has been minimized.

Copy link
@erszcz

erszcz Aug 5, 2015

Member

Don't define types in .hrl files. Define (and export) them in the respective module - if needed in an .hrl file, refer to them with module_name: prefix.


-record(state, {owner,
socket,
parser,
filter_pred,
ssl = false,
compress = false,
event_client,
on_reply,
on_request,
active = true,
sm_state = {true, 0, inactive} :: sm_state(),
replies = []}).
22 changes: 5 additions & 17 deletions src/escalus_tcp.erl
Original file line number Diff line number Diff line change
Expand Up @@ -38,25 +38,13 @@
set_active/2,
recv/1]).

-ifdef(EUNIT_TEST).
-compile(export_all).
-endif.

-define(WAIT_FOR_SOCKET_CLOSE_TIMEOUT, 200).
-define(SERVER, ?MODULE).

%% Stream management automation
%% :: {Auto-ack?, H, counting Hs?}.
-type sm_state() :: {boolean(), non_neg_integer(), 'active'|'inactive'}.

-record(state, {owner,
socket,
parser,
filter_pred,
ssl = false,
compress = false,
event_client,
on_reply,
on_request,
active = true,
sm_state = {true, 0, inactive} :: sm_state(),
replies = []}).
-include("escalus_tcp.hrl").

%%%===================================================================
%%% API
Expand Down

1 comment on commit bb14182

@erszcz
Copy link
Member

@erszcz erszcz commented on bb14182 Aug 5, 2015

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

One more thing, please put the .hrl in src/ (and tweak rebar.config if needed for the tests to work). include/ is for header files public to users of the library, which is not the case here.

Please sign in to comment.