Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:Ledest:erlang:24
erlang
6722-eunit-primitive-and-fixture-test.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File 6722-eunit-primitive-and-fixture-test.patch of Package erlang
From d8d4a767777c9c6b9f314474b5945dd13b142ea9 Mon Sep 17 00:00:00 2001 From: Jakub Witczak <kuba@erlang.org> Date: Fri, 23 Sep 2022 13:59:50 +0200 Subject: [PATCH 2/2] eunit: primitive and fixture test --- lib/eunit/test/eunit_SUITE.erl | 110 +++++++++++++++++++++++++++------ 1 file changed, 91 insertions(+), 19 deletions(-) diff --git a/lib/eunit/test/eunit_SUITE.erl b/lib/eunit/test/eunit_SUITE.erl index b0c2259971..33bf090eeb 100644 --- a/lib/eunit/test/eunit_SUITE.erl +++ b/lib/eunit/test/eunit_SUITE.erl @@ -22,19 +22,21 @@ -export([all/0, suite/0, groups/0, init_per_suite/1, end_per_suite/1, init_per_group/2, end_per_group/2, app_test/1, appup_test/1, eunit_test/1, eunit_exact_test/1, - surefire_utf8_test/1, surefire_latin_test/1, - surefire_c0_test/1, surefire_ensure_dir_test/1, + fixture_test/1, primitive_test/1, surefire_utf8_test/1, + surefire_latin_test/1, surefire_c0_test/1, surefire_ensure_dir_test/1, stacktrace_at_timeout_test/1]). +-export([sample_gen/0]). + -include_lib("common_test/include/ct.hrl"). -define(TIMEOUT, 1000). suite() -> [{ct_hooks,[ts_install_cth]}]. all() -> - [app_test, appup_test, eunit_test, eunit_exact_test, surefire_utf8_test, - surefire_latin_test, surefire_c0_test, surefire_ensure_dir_test, - stacktrace_at_timeout_test]. + [app_test, appup_test, eunit_test, eunit_exact_test, primitive_test, + fixture_test, surefire_utf8_test, surefire_latin_test, surefire_c0_test, + surefire_ensure_dir_test, stacktrace_at_timeout_test]. groups() -> []. @@ -63,24 +65,94 @@ eunit_test(Config) when is_list(Config) -> eunit_exact_test(Config) when is_list(Config) -> ok = file:set_cwd(code:lib_dir(eunit)), - ok = eunit:test([eunit, eunit_tests], - [{report, {eunit_test_listener, [self()]}}]), - check_test_results(14, 0, 0, 0), - ok = eunit:test([eunit, eunit_tests], - [{report, {eunit_test_listener, [self()]}}, - {exact_execution, false}]), - check_test_results(14, 0, 0, 0), - ok = eunit:test([eunit, eunit_tests], - [{report, {eunit_test_listener, [self()]}}, - {exact_execution, true}]), - check_test_results(7, 0, 0, 0), + {ok, fib} = compile:file("./examples/fib.erl", [{outdir,"./examples/"}]), + TestPrimitive = + fun(Primitive, Expected) -> + ok = eunit:test(Primitive, + [{report, {eunit_test_listener, [self()]}}, + {exact_execution, true}]), + check_test_results(Primitive, Expected) + end, + Primitives = + [ + {[eunit, eunit_tests], + #{pass => 7, fail => 0, skip => 0, cancel => 0}}, + {{application, stdlib}, + #{pass => 0, fail => 0, skip => 0, cancel => 0}}, + {{file, "./ebin/eunit.beam"}, + #{pass => 0, fail => 0, skip => 0, cancel => 0}}, + {{file, "./ebin/eunit_tests.beam"}, + #{pass => 7, fail => 0, skip => 0, cancel => 0}}, + {{dir, "./examples/"}, + #{pass => 8, fail => 0, skip => 0, cancel => 0}}, + {{generator, fun() -> fun () -> ok end end}, + #{pass => 1, fail => 0, skip => 0, cancel => 0}}, + {{generator, ?MODULE, sample_gen}, + #{pass => 1, fail => 0, skip => 0, cancel => 0}}, + {{with, value, [fun(_V) -> ok end]}, + #{pass => 1, fail => 0, skip => 0, cancel => 0}} + ], + [TestPrimitive(P, E) || {P, E} <- Primitives], + ok. + + +primitive_test(Config) when is_list(Config) -> + ok = file:set_cwd(code:lib_dir(eunit)), + {ok, fib} = compile:file("./examples/fib.erl", [{outdir,"./examples/"}]), + TestPrimitive = + fun(Primitive, Expected) -> + ok = eunit:test(Primitive, + [{report, {eunit_test_listener, [self()]}}]), + check_test_results(Primitive, Expected), + ok = eunit:test(Primitive, + [{report, {eunit_test_listener, [self()]}}, + {exact_execution, false}]), + check_test_results(Primitive, Expected) + end, + Primitives = + [ + {[eunit, eunit_tests], + #{pass => 14, fail => 0, skip => 0, cancel => 0}}, + {{application, stdlib}, + #{pass => 0, fail => 0, skip => 0, cancel => 0}}, + {{file, "./ebin/eunit.beam"}, + #{pass => 7, fail => 0, skip => 0, cancel => 0}}, + {{file, "./ebin/eunit_tests.beam"}, + #{pass => 7, fail => 0, skip => 0, cancel => 0}}, + {{dir, "./examples/"}, + #{pass => 8, fail => 0, skip => 0, cancel => 0}}, + {{generator, fun() -> fun () -> ok end end}, + #{pass => 1, fail => 0, skip => 0, cancel => 0}}, + {{generator, ?MODULE, sample_gen}, + #{pass => 1, fail => 0, skip => 0, cancel => 0}}, + {{with, value, [fun(_V) -> ok end]}, + #{pass => 1, fail => 0, skip => 0, cancel => 0}} + ], + [TestPrimitive(P, E) || {P, E} <- Primitives], + ok. + +sample_gen() -> + fun () -> ok end. + +fixture_test(Config) when is_list(Config) -> + eunit:test({setup, fun() -> ok end, fun() -> fun() -> ok end end}), + eunit:test({setup, fun() -> ok end, [{module, eunit_tests}]}), + eunit:test({foreach, fun() -> ok end, [fun() -> ok end]}), + eunit:test({foreachx, fun(_A) -> ok end, + [{1, fun(_A, _B) -> fun() -> a_test end end}]}), ok. -check_test_results(Pass, Fail, Skip, Cancel) -> +check_test_results(Primitive, Expected) -> receive {test_report, TestReport} -> - #{pass := Pass, fail := Fail, - skip := Skip, cancel := Cancel} = TestReport + case Expected == TestReport of + true -> + ok; + _ -> + ct:pal("~p Expected: ~w Received: ~w", + [Primitive, Expected, TestReport]), + ct:fail(unexpected_result) + end after ?TIMEOUT -> ct:fail(no_test_report_not_received) end. -- 2.35.3
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor