From: Woohyun Jung Date: Fri, 28 Apr 2023 04:18:18 +0000 (+0900) Subject: Add unittest X-Git-Tag: accepted/tizen/rust/20231016.021637^0 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=refs%2Fheads%2Faccepted%2Ftizen_rust;p=platform%2Fupstream%2Frust-pin-project.git Add unittest [ 30s] + ./expandtest [ 30s] [ 30s] running 1 test [ 30s] test expandtest ... ignored [ 30s] [ 30s] test result: ok. 0 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.00s [ 30s] [ 30s] + for unit_test in '${unit_test_list}' [ 30s] + ./compiletest [ 30s] [ 30s] running 1 test [ 30s] test ui ... ignored [ 30s] [ 30s] test result: ok. 0 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.00s [ 30s] [ 30s] + for unit_test in '${unit_test_list}' [ 30s] + ./pinned_drop [ 30s] [ 30s] running 8 tests [ 30s] test inside_macro ... ok [ 30s] test safe_project ... ok [ 30s] test self_call ... ok [ 30s] test self_arg_inside_macro_call ... ok [ 30s] test self_inside_macro_containing_fn ... ok [ 30s] test self_inside_macro_def ... ok [ 30s] test self_ty ... ok [ 30s] test self_ty_inside_macro_call ... ok [ 30s] [ 30s] test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s [ 30s] [ 30s] + for unit_test in '${unit_test_list}' [ 30s] + ./cfg [ 30s] [ 30s] running 3 tests [ 30s] test cfg ... ok [ 30s] test cfg_attr ... ok [ 30s] test cfg_attr_any_packed ... ok [ 30s] [ 30s] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [ 30s] [ 30s] + for unit_test in '${unit_test_list}' [ 30s] + ./unsafe_unpin [ 30s] [ 30s] running 1 test [ 30s] test trivial_bounds ... ok [ 30s] [ 30s] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [ 30s] [ 30s] + for unit_test in '${unit_test_list}' [ 30s] + ./pin_project [ 30s] [ 30s] running 18 tests [ 30s] test combine ... ok [ 30s] test derive_copy ... ok [ 30s] test dst ... ok [ 30s] test dyn_type ... ok [ 30s] test enum_project_set ... ok [ 30s] test move_out ... ok [ 30s] test no_infer_outlives ... ok [ 30s] test lifetime_project ... ok [ 30s] test overlapping_lifetime_names ... ok [ 30s] test private_type_in_public_type ... ok [ 30s] test parse_self ... ok [ 30s] test projection ... ok [ 30s] test trait_bounds_on_type_generics ... ok [ 30s] test project_replace_panic ... ok [ 30s] test trivial_bounds ... ok [ 30s] test visibility ... ok [ 30s] test where_clause ... ok [ 30s] test where_clause_and_associated_type_field ... ok [ 30s] [ 30s] test result: ok. 18 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s [ 30s] [ 30s] + for unit_test in '${unit_test_list}' [ 30s] + ./drop_order [ 30s] [ 30s] running 6 tests [ 30s] test enum_struct ... ok [ 30s] test enum_tuple ... ok [ 30s] test struct_unpinned ... ok [ 30s] test struct_pinned ... ok [ 30s] test tuple_pinned ... ok [ 30s] test tuple_unpinned ... ok [ 30s] [ 30s] test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [ 30s] [ 30s] + for unit_test in '${unit_test_list}' [ 30s] + ./repr_packed [ 31s] [ 31s] running 1 test [ 31s] test weird_repr_packed ... ok [ 31s] [ 31s] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s --- diff --git a/packaging/rust-pin-project.spec b/packaging/rust-pin-project.spec index 1f9dc38..ffce8ac 100644 --- a/packaging/rust-pin-project.spec +++ b/packaging/rust-pin-project.spec @@ -28,11 +28,12 @@ Requires: rust-pin-project-internal # ========================================================== # dev-dependencies # ========================================================== -# BuildRequires: rust-macrotest -# BuildRequires: rust-rustversion -# BuildRequires: rust-static_assertions -# BuildRequires: rust-trybuild - +%if 0%{?run_tests} +BuildRequires: rust-macrotest +BuildRequires: rust-rustversion +BuildRequires: rust-static_assertions +BuildRequires: rust-trybuild +%endif %description Crate for safe and ergonomic pin-projection. @@ -47,11 +48,35 @@ cp %{SOURCE1} . # crate-type : dylib, proc-macro, cdylib, bin, etc. # ========================================================== %build - %{rustc_std_build} --crate-type=dylib \ - --crate-name=%{real_crate_name} \ - %{?rustc_edition:--edition=%{rustc_edition}} \ - %rust_dylib_extern pin_project_internal \ - ./src/lib.rs +%{rustc_std_build} --crate-type=dylib \ + --crate-name=%{real_crate_name} \ + %{?rustc_edition:--edition=%{rustc_edition}} \ + %rust_dylib_extern pin_project_internal \ + ./src/lib.rs + +%check +%if 0%{?run_tests} +export unit_test_list="expandtest compiletest pinned_drop cfg unsafe_unpin pin_project drop_order repr_packed" + +for unit_test in ${unit_test_list} +do +%{rustc_std_build} --test --crate-type=dylib \ + --crate-name=${unit_test} \ + %{?rustc_edition:--edition=%{rustc_edition}} \ + --extern %{real_crate_name}=./lib%{real_crate_name}.so \ + %rust_dylib_extern pin_project_internal \ + %rust_dylib_extern macrotest \ + %rust_dylib_extern rustversion \ + %rust_dylib_extern static_assertions \ + %rust_dylib_extern trybuild \ + ./tests/${unit_test}.rs +done + +for unit_test in ${unit_test_list} +do +./${unit_test} +done +%endif # ========================================================== # install section