This is an automated email from the ASF dual-hosted git repository. nickva pushed a commit to branch wh/connect_to_w_tests in repository https://gitbox.apache.org/repos/asf/couchdb-ibrowse.git
commit 2772261a3bbeeb25edc6b009a7d754d9a397ad74 Author: Nick Vatamaniuc <[email protected]> AuthorDate: Wed Sep 24 16:34:20 2025 -0400 Bump min erlang ver and add CI (#181) * Add Github Actions CI tests - Travis CI doesn't work any longer * Update for Erlang version >= 25 --- .github/workflows/ci.yml | 26 ++++++++++++++++++++++++++ .travis.yml | 14 -------------- README.md | 2 +- rebar.config | 8 +++++--- src/ibrowse.erl | 16 ---------------- test/ibrowse_load_test.erl | 18 +----------------- test/ibrowse_test_server.erl | 8 +------- 7 files changed, 34 insertions(+), 58 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..4bfd6ea --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,26 @@ +on: + push: + branches: + - master + pull_request: +jobs: + test: + name: test ${{matrix.otp}} on ${{matrix.os}} + runs-on: ${{matrix.os}} + container: + image: erlang:${{matrix.otp}} + strategy: + fail-fast: false + matrix: + os: + - ubuntu-latest + otp: + - "28" + - "27" + - "26" + - "25" + steps: + - uses: actions/checkout@v5 + - run: make + - run: make unit_tests + diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 3993bf2..0000000 --- a/.travis.yml +++ /dev/null @@ -1,14 +0,0 @@ -language: erlang -otp_release: - - R16B - - R16B03-1 - - 17.0 - - 17.1 - - 18.0 - - 18.1 - - 18.2.1 - - 19.3 - - 20.0 -before_script: - - "./bootstrap_travis.sh" -script: "./rebar3 eunit" diff --git a/README.md b/README.md index 8ee1223..6281094 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# ibrowse [](http://travis-ci.org/cmullaparthi/ibrowse) +# ibrowse  ibrowse is a HTTP client written in erlang. diff --git a/rebar.config b/rebar.config index eaa892c..bc386e9 100644 --- a/rebar.config +++ b/rebar.config @@ -3,9 +3,11 @@ warnings_as_errors, warn_unused_vars, nowarn_shadow_vars, - warn_unused_import, - {platform_define, "18|19|^2", new_rand}, - {platform_define, "^2", ets_ref} + warn_unused_import ]}. +% rebar 2 +{require_min_otp_vsn, "25"}, +% rebar 3 +{minimum_otp_vsn, "25"}. {xref_checks, [undefined_function_calls, deprecated_function_calls]}. {eunit_opts, [verbose]}. diff --git a/src/ibrowse.erl b/src/ibrowse.erl index 5adf047..2202eea 100644 --- a/src/ibrowse.erl +++ b/src/ibrowse.erl @@ -688,7 +688,6 @@ all_trace_off() -> %% @doc Shows some internal information about load balancing. Info %% about workers spawned using spawn_worker_process/2 or %% spawn_link_worker_process/2 is not included. --ifdef(ets_ref). show_dest_status() -> io:format("~-40.40s | ~-5.5s | ~-10.10s | ~s~n", ["Server:port", "ETS", "Num conns", "LB Pid"]), @@ -702,21 +701,6 @@ show_dest_status() -> integer_to_list(Size), Lb_pid]) end, Metrics). --else. -show_dest_status() -> - io:format("~-40.40s | ~-5.5s | ~-10.10s | ~s~n", - ["Server:port", "ETS", "Num conns", "LB Pid"]), - io:format("~80.80.=s~n", [""]), - Metrics = get_metrics(), - lists:foreach( - fun({Host, Port, {Lb_pid, _, Tid, Size, _}}) -> - io:format("~40.40s | ~-5.5s | ~-5.5s | ~p~n", - [Host ++ ":" ++ integer_to_list(Port), - integer_to_list(Tid), - integer_to_list(Size), - Lb_pid]) - end, Metrics). --endif. show_dest_status(Url) -> #url{host = Host, port = Port} = ibrowse_lib:parse_url(Url), diff --git a/test/ibrowse_load_test.erl b/test/ibrowse_load_test.erl index 076c46b..dc4813a 100644 --- a/test/ibrowse_load_test.erl +++ b/test/ibrowse_load_test.erl @@ -1,7 +1,6 @@ -module(ibrowse_load_test). %%-compile(export_all). -export([ - random_seed/0, start/3, query_state/0, shutdown/0, @@ -15,20 +14,6 @@ update_unknown_counter/2 ]). --ifdef(new_rand). - --define(RAND, rand). -random_seed() -> - ok. - --else. - --define(RAND, random). -random_seed() -> - random:seed(os:timestamp()). - --endif. - -define(ibrowse_load_test_counters, ibrowse_load_test_counters). start(Num_workers, Num_requests, Max_sess) -> @@ -123,7 +108,6 @@ spawn_workers(0, _Num_requests, _Parent, Acc) -> lists:reverse(Acc); spawn_workers(Num_workers, Num_requests, Parent, Acc) -> Pid_ref = spawn_monitor(fun() -> - random_seed(), case catch worker_loop(Parent, Num_requests) of {'EXIT', Rsn} -> io:format("Worker crashed with reason: ~p~n", [Rsn]); @@ -163,7 +147,7 @@ wait_for_workers([{Pid, Pid_ref} | T] = Pids) -> worker_loop(Parent, 0) -> Parent ! {done, self()}; worker_loop(Parent, N) -> - Delay = ?RAND:uniform(100), + Delay = rand:uniform(100), Url = case Delay rem 10 of %% Change 10 to some number between 0-9 depending on how %% much chaos you want to introduce into the server diff --git a/test/ibrowse_test_server.erl b/test/ibrowse_test_server.erl index 631e93a..17af695 100644 --- a/test/ibrowse_test_server.erl +++ b/test/ibrowse_test_server.erl @@ -11,12 +11,6 @@ get_conn_pipeline_depth/0 ]). --ifdef(new_rand). --define(RAND, rand). --else. --define(RAND, random). --endif. - -record(request, {method, uri, version, headers = [], body = [], state}). -define(dec2hex(X), erlang:integer_to_list(X, 16)). @@ -307,7 +301,7 @@ process_request(Sock, Sock_type, Req) -> do_trace("Recvd req: ~p~n", [Req]), Resp = <<"HTTP/1.1 200 OK\r\nContent-Length: 0\r\n\r\n">>, do_send(Sock, Sock_type, Resp), - timer:sleep(?RAND:uniform(100)). + timer:sleep(rand:uniform(100)). do_send(Sock, tcp, Resp) -> gen_tcp:send(Sock, Resp);
