Add unittest
authorRoy7Kim <myoungwoon.kim@samsung.com>
Thu, 4 May 2023 07:01:20 +0000 (16:01 +0900)
committerRoy7Kim <myoungwoon.kim@samsung.com>
Thu, 4 May 2023 07:02:08 +0000 (16:02 +0900)
[   50s] + for unit_test in '${unit_test_list}'
[   50s] + ./unit
[   51s]
[   51s] running 55 tests
[   51s] test append_empty_segment_then_mutate ... ok
[   51s] test append_trailing_slash ... ok
[   51s] test extend_query_pairs_then_mutate ... ok
[   51s] test form_urlencoded_encoding_override ... ok
[   51s] test from_str ... ok
[   51s] test issue_124 ... ok
[   51s] test issue_241 ... ok
[   51s] test host_serialization ... ok
[   51s] test issue_61 ... ok
[   51s] test issue_197 ... ok
[   51s] test new_directory_paths ... ok
[   51s] test new_file_paths ... ok
[   51s] test new_path_bad_utf8 ... ok
[   51s] test host ... ok
[   51s] test new_path_windows_fun ... ok
[   51s] test no_panic ... ok
[   51s] test parse_with_params ... ok
[   51s] test path_backslash_fun ... ok
[   51s] test pop_if_empty_in_bounds ... ok
[   51s] test size ... ok
[   51s] test test_domain ... ok
[   51s] test test_domain_encoding_quirks ... ok
[   51s] test test_equality ... ok
[   51s] test test_form_serialize ... ok
[   51s] test test_fragment ... ok
[   51s] test test_form_urlencoded ... ok
[   51s] test test_idna ... ok
[   51s] test test_leading_dots ... ok
[   51s] test test_no_base_url ... ok
[   51s] test test_non_special_path ... ok
[   51s] test test_make_relative ... ok
[   51s] test test_non_special_path2 ... ok
[   51s] test test_non_special_path3 ... ok
[   51s] test test_options_reuse ... ok
[   51s] test test_origin_blob_equality ... ok
[   51s] test test_origin_opaque ... ok
[   51s] test test_origin_hash ... ok
[   51s] test test_origin_unicode_serialization ... ok
[   51s] test test_query ... ok
[   51s] test test_relative ... ok
[   51s] test test_relative_empty ... ok
[   51s] test test_serialization ... ok
[   51s] test test_set_empty_host ... ok
[   51s] test test_set_empty_hostname ... ok
[   51s] test test_set_href ... ok
[   51s] test test_set_host ... ok
[   51s] test test_set_ip_host ... ok
[   51s] test test_set_scheme_to_file_with_host ... ok
[   51s] test test_slicing ... ok
[   51s] test test_syntax_violation_callback ... ok
[   51s] test test_syntax_violation_callback_lifetimes ... ok
[   51s] test test_syntax_violation_callback_types ... ok
[   51s] test test_windows_unc_path ... ok
[   51s] test test_url_from_file_path ... ok
[   51s] test test_socket_addrs ... ok
[   51s]
[   51s] test result: ok. 55 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.08s
[   51s]
[   51s] + for unit_test in '${unit_test_list}'
[   51s] + ./data
[   51s]
[   51s] running 2 tests
[   51s] test setters_tests ... ok
[   51s] test urltestdata ... ok
[   51s]
[   51s] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.05s
[   51s]
[   51s] + for unit_test in '${unit_test_list}'
[   51s] + ./debugger_visualizer
[   51s]
[   51s] running 1 test
[   51s] test test_url_visualizer__cdb ... ignored, test only runs on windows platforms.
[   51s]
[   51s] test result: ok. 0 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.00s

packaging/rust-url.spec

index 7e557aa..cdd4c1f 100644 (file)
@@ -32,10 +32,12 @@ Requires:       rust-percent-encoding
 # ==========================================================
 # dev-dependencies
 # ==========================================================
+%if 0%{?run_tests}
 # BuildRequires:  rust-bencher 
-# BuildRequires:  rust-debugger_test 
-# BuildRequires:  rust-debugger_test_parser 
-# BuildRequires:  rust-serde_json 
+BuildRequires:  rust-debugger_test 
+BuildRequires:  rust-debugger_test_parser 
+BuildRequires:  rust-serde_json 
+%endif
 
 
 %description
@@ -65,6 +67,31 @@ cp %{SOURCE1} .
 install -d -m 0755 %{buildroot}%{_rust_dylibdir}
 install -m 0644 lib%{real_crate_name}.so %{buildroot}/%{_rust_dylibdir}/lib%{real_crate_name}.so
 
+%check
+%if 0%{?run_tests}
+
+export unit_test_list="unit data debugger_visualizer"
+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 \
+        --extern idna=%{_rust_dylibdir}/libidna.so \
+        --extern form_urlencoded=%{_rust_dylibdir}/libform_urlencoded.so \
+        --extern percent_encoding=%{_rust_dylibdir}/libpercent_encoding.so \
+        %rust_dylib_extern serde_json \
+        %rust_dylib_extern debugger_test \
+        %rust_dylib_extern debugger_test_parser \
+        ./tests/${unit_test}.rs
+done
+
+for unit_test in ${unit_test_list}
+do
+./${unit_test}
+done
+%endif
+
 %clean
 
 %post -p /sbin/ldconfig