Test ran at 2025-07-29 00:58:15.099615+00:00 SOLUTION: adacl_sar=6.2.1: Ada Class Library - Search and Replace Origin: source archive adacl_sar-6.2.1.tgz at https://sourceforge.net/projects/adacl/files/Alire/adacl_sar-6.2.1.tgz with hashes sha256:493deabe54c73f6e9e9a9be998a23f0739c7b953b6981f0ab07c3c65b4ffb69f, sha512:ee33bb2cc6a45b9ea82f0562345fdb3873461e3fe779122cc64f4cf670d5eb3e7733b0f9f76ac6bfcbc3f98aacc916038f7a457261272e127aa9f25d0fde94cb Properties: Test run: alr run (from ${CRATE_ROOT}/test) Author: Martin Krischik Build Switches: Description: Ada Class Library - Search and Replace License: GPL-3.0-or-later Long_Description: A class library for Ada for those who like OO programming. Search and Replace for text. This libary performs tranformations on text data stored in a string vectors. The transformation instructions are also stored in vector so multiple transformations can be performed in one go. Each tranformations instructions is performed using a tagged type allowing the user to develop abritrary complex operatations. Development versions available with: ```sh alr index --add "git+https://github.com/krischik/alire-index.git#develop" --name krischik ``` Source code including AUnit tests available on [SourceForge](https://git.code.sf.net/p/adacl/git) Maintainer: Martin Krischik Maintainers_Logins: krischik Name: adacl_sar Tag: library Tag: strings Tag: search Tag: replace Tag: ada2022 Version: 6.2.1 Website: https://sourceforge.net/projects/adacl/ Dependencies (direct): adacl^6.2.1 gnat_native^15.1 Dependencies (solution): adacl=6.2.1 aunit=25.0.0 gnat_native=15.1.2 Dependencies (graph): adacl=6.2.1 --> aunit=25.0.0 (25.0.0) adacl=6.2.1 --> gnat_native=15.1.2 (^15.1) adacl_sar=6.2.1 --> adacl=6.2.1 (^6.2.1) adacl_sar=6.2.1 --> gnat_native=15.1.2 (^15.1) LOG: Note: Synchronizing workspace... Dependencies automatically updated as follows: + adacl 6.2.1 (new) +. adacl_sar 6.2.1 (new,path=..) + aunit 25.0.0 (new) +b gnat_native 15.1.2 (new,binary) Note: Building adacl_sar_test=6.2.1/adacl_sar_test.gpr... Setup [mkdir] object directory for project AdaCL_SAR [mkdir] library directory for project AdaCL_SAR [mkdir] object directory for project AdaCL_SAR_Test [mkdir] exec directory for project AdaCL_SAR_Test Compile [Ada] adacl_sar_test-main.adb [Ada] adacl_sar_config.ads [Ada] adacl-sar-filters-search-excludes.adb [Ada] adacl-sar-filter-replace-text.adb [Ada] adacl-wide_wide_sar-filter-remove-tab.adb [Ada] adacl-wide_sar-filters-search-excludes.adb [Ada] adacl-sar-filters-search.adb [Ada] adacl-wide_wide_sar-filter-insert-line.adb [Ada] adacl-wide_wide_sar-filters-search-includes.adb [Ada] adacl-wide_sar-filter.adb [Ada] adacl-wide_sar-filter-list.ads [Ada] adacl-sar-filter-trim.adb [Ada] adacl-wide_sar-filter-trim.adb [Ada] adacl-wide_sar-filter-filter_lines.adb [Ada] adacl-wide_sar-filter-replace-indent.adb [Ada] adacl-wide_sar-filter-remove-tab.adb [Ada] adacl-wide_wide_sar-filter-filter_after_last.adb [Ada] adacl-sar-filters-search-includes.adb [Ada] adacl-wide_sar-filter-remove-comment.adb [Ada] adacl-wide_sar-filter-insert-text.adb [Ada] adacl-wide_sar.ads [Ada] adacl-sar-filter-remove.ads [Ada] adacl-wide_wide_sar-filters-search.adb [Ada] adacl-wide_sar-filters.adb [Ada] adacl-wide_wide_sar-line.ads [Ada] adacl-wide_sar-filters-search-includes.adb [Ada] adacl-wide_wide_sar-filter-insert.adb [Ada] adacl-wide_wide_sar-filters.adb [Ada] adacl-wide_sar-filter-filter_before_first.adb [Ada] adacl-wide_wide_sar-filter-replace.ads [Ada] adacl-wide_wide_sar-filter-replace-indent.adb [Ada] adacl-sar-filter-insert-line.adb [Ada] adacl-wide_sar-filter-replace.ads [Ada] adacl-wide_wide_sar-filter-remove-comment.adb [Ada] adacl-sar-line.ads [Ada] adacl-sar-filter.adb [Ada] adacl-wide_sar-filter-insert.adb [Ada] adacl-sar-filter-replace.ads [Ada] adacl-wide_sar-filter-remove-line.adb [Ada] adacl-wide_wide_sar-filter-filter_before_first.adb [Ada] adacl-sar-filter-filter_before_first.adb [Ada] adacl-sar-filter-filter_lines.adb [Ada] adacl-sar-line-list.ads [Ada] adacl-sar-filter-insert-text.adb [Ada] adacl-sar-filter-filter_after_last.adb [Ada] adacl-wide_sar-filter-replace-text.adb [Ada] adacl-wide_wide_sar.ads [Ada] adacl-sar-filter-remove-comment.adb [Ada] adacl-wide_wide_sar-filter-list.ads [Ada] adacl-sar-filter-remove-tab.adb [Ada] adacl-wide_sar-filter-remove.ads [Ada] adacl-wide_sar-filter-insert-line.adb [Ada] adacl-wide_wide_sar-filter-trim.adb [Ada] adacl-wide_sar-filters-search.adb [Ada] adacl-sar-filter-replace-indent.adb [Ada] adacl-wide_wide_sar-filter.adb [Ada] adacl-wide_sar-filter-filter_after_last.adb [Ada] adacl-wide_wide_sar-filter-remove.ads [Ada] adacl-wide_wide_sar-line-list.ads [Ada] adacl-sar.ads [Ada] adacl-wide_wide_sar-filter-insert-text.adb [Ada] adacl-sar-filter-insert.adb [Ada] adacl-wide_wide_sar-filter-remove-line.adb [Ada] adacl-sar-filter-list.ads [Ada] adacl-wide_wide_sar-filter-replace-text.adb [Ada] adacl-sar-filter-remove-line.adb [Ada] adacl-sar-filters.adb [Ada] adacl-wide_wide_sar-filter-filter_lines.adb [Ada] adacl-wide_sar-line.ads [Ada] adacl-wide_wide_sar-filters-search-excludes.adb [Ada] adacl-wide_sar-line-list.ads [Ada] adacl_sar_test.ads [Ada] adacl_sar_test-suite.adb [Ada] adacl-sar-filter-insert-line-test.adb [Ada] adacl-sar-filter-insert-text-test.adb [Ada] adacl-sar-filter-remove-comment-test.adb [Ada] adacl-sar-filter-remove-line-test.adb [Ada] adacl-sar-filter-remove-tab-test.adb [Ada] adacl-sar-filter-replace-indent-test.adb [Ada] adacl-sar-filter-replace-text-test.adb [Ada] adacl-sar-filter-test.adb [Ada] adacl-sar-filter-trim-test.adb [Ada] adacl-sar-filters-search-excludes-test.adb [Ada] adacl-sar-filters-search-includes-test.adb [Ada] adacl-wide_sar-filter-insert-line-test.adb [Ada] adacl-wide_sar-filter-insert-text-test.adb [Ada] adacl-wide_sar-filter-remove-comment-test.adb [Ada] adacl-wide_sar-filter-remove-line-test.adb [Ada] adacl-wide_sar-filter-remove-tab-test.adb [Ada] adacl-wide_sar-filter-replace-indent-test.adb [Ada] adacl-wide_sar-filter-replace-text-test.adb [Ada] adacl-wide_sar-filter-test.adb [Ada] adacl-wide_sar-filter-trim-test.adb [Ada] adacl-wide_sar-filters-search-excludes-test.adb [Ada] adacl-wide_sar-filters-search-includes-test.adb [Ada] adacl-wide_wide_sar-filter-insert-line-test.adb [Ada] adacl-wide_wide_sar-filter-insert-text-test.adb [Ada] adacl-wide_wide_sar-filter-remove-comment-test.adb [Ada] adacl-wide_wide_sar-filter-remove-line-test.adb [Ada] adacl-wide_wide_sar-filter-remove-tab-test.adb [Ada] adacl-wide_wide_sar-filter-replace-indent-test.adb [Ada] adacl-wide_wide_sar-filter-replace-text-test.adb [Ada] adacl-wide_wide_sar-filter-test.adb [Ada] adacl-wide_wide_sar-filter-trim-test.adb [Ada] adacl-wide_wide_sar-filters-search-excludes-test.adb [Ada] adacl-wide_wide_sar-filters-search-includes-test.adb Build Libraries [gprlib] AdaCL_SAR.lexch [archive] libAdaCL_SAR.a [index] libAdaCL_SAR.a Bind [gprbind] adacl_sar_test-main.bexch [Ada] adacl_sar_test-main.ali Link [link] adacl_sar_test-main.adb Success: Build finished successfully in 16.99 seconds. OK AdaCL.SAR.Filter : 01: Single line insert OK AdaCL.SAR.Filter : 02: multiple lines insert OK AdaCL.SAR.Filter.Insert.Line : 01: Before prepend one Line OK AdaCL.SAR.Filter.Insert.Line : 02: Before with copy left and right OK AdaCL.SAR.Filter.Insert.Line : 03: Before line already present OK AdaCL.SAR.Filter.Insert.Line : 04: Before multi line OK AdaCL.SAR.Filter.Insert.Line : 05: Before lower case OK AdaCL.SAR.Filter.Insert.Line : 06: Before upper case OK AdaCL.SAR.Filter.Insert.Line : 11: After prepend one Line OK AdaCL.SAR.Filter.Insert.Line : 12: After with copy left and right OK AdaCL.SAR.Filter.Insert.Line : 13: After line already present OK AdaCL.SAR.Filter.Insert.Line : 14: After multi line OK AdaCL.SAR.Filter.Insert.Line : 15: After lower case OK AdaCL.SAR.Filter.Insert.Line : 16: After upper case OK AdaCL.SAR.Filter.Insert.Line : 21: Both prepend one Line OK AdaCL.SAR.Filter.Insert.Line : 22: Both with copy left and right OK AdaCL.SAR.Filter.Insert.Line : 23: Both line already present OK AdaCL.SAR.Filter.Insert.Line : 24: Both multi line OK AdaCL.SAR.Filter.Insert.Line : 25: Both lower case OK AdaCL.SAR.Filter.Insert.Line : 26: Both upper case OK AdaCL.SAR.Filter.Insert.Text : 01: Insert Both Always OK AdaCL.SAR.Filter.Insert.Text : 02: Insert Both first OK AdaCL.SAR.Filter.Insert.Text : 03: Insert Both last OK AdaCL.SAR.Filter.Insert.Text : 04: Insert Both last OK AdaCL.SAR.Filter.Insert.Text : 11: Insert Before Always OK AdaCL.SAR.Filter.Insert.Text : 12: Insert Before first OK AdaCL.SAR.Filter.Insert.Text : 13: Insert Before last OK AdaCL.SAR.Filter.Insert.Text : 21: Insert After Always OK AdaCL.SAR.Filter.Insert.Text : 22: Insert After first OK AdaCL.SAR.Filter.Insert.Text : 23: Insert After last OK AdaCL.SAR.Filter.Remove.Comment : 01: single line OK AdaCL.SAR.Filter.Remove.Comment : 02: begin end OK AdaCL.SAR.Filter.Remove.Comment : 03: begin end match OK AdaCL.SAR.Filter.Remove.Comment : 04: begin end lower match OK AdaCL.SAR.Filter.Remove.Comment : 05: keep OK AdaCL.SAR.Filter.Remove.Line : 01: only line OK AdaCL.SAR.Filter.Remove.Line : 02: all lines OK AdaCL.SAR.Filter.Remove.Line : 03: last line OK AdaCL.SAR.Filter.Remove.Line : 04: first line OK AdaCL.SAR.Filter.Remove.Line : 05: middle line OK AdaCL.SAR.Filter.Remove.Line : 06: lower case OK AdaCL.SAR.Filter.Remove.Line : 07: upper case OK AdaCL.SAR.Filter.Remove.Tab : 01: Replace all OK AdaCL.SAR.Filter.Remove.Tab : 02: Replace with no match OK AdaCL.SAR.Filter.Remove.Tab : 03: Replace upper case OK AdaCL.SAR.Filter.Replace.Indent : 01: Decrease indent OK AdaCL.SAR.Filter.Replace.Indent : 02: Increase indent OK AdaCL.SAR.Filter.Replace.Indent : 03: Space to tab OK AdaCL.SAR.Filter.Replace.Indent : 04: Tab to space OK AdaCL.SAR.Filter.Replace.Text : 01: Replace all OK AdaCL.SAR.Filter.Replace.Text : 02: Replace with no match OK AdaCL.SAR.Filter.Replace.Text : 03: Replace upper case OK AdaCL.SAR.Filter.Replace.Text : 04: Replace lower case OK AdaCL.SAR.SAR.Filters.Search.Excludes : 01: Replace all OK AdaCL.SAR.SAR.Filters.Search.Includes : 01: Replace all OK AdaCL.SAR.Filter.Trim : 01: Insert Both Always OK AdaCL.SAR.Filter.Trim : 02: Insert Both first OK AdaCL.SAR.Filter.Trim : 03: Insert Both last OK AdaCL.SAR.Filter.Trim : 04: Insert Both last OK AdaCL.Wide_SAR.Filter : 01: Single line insert OK AdaCL.Wide_SAR.Filter : 02: multiple lines insert OK AdaCL.Wide_SAR.Filter.Insert.Line : 01: Before prepend one Line OK AdaCL.Wide_SAR.Filter.Insert.Line : 02: Before with copy left and right OK AdaCL.Wide_SAR.Filter.Insert.Line : 03: Before line already present OK AdaCL.Wide_SAR.Filter.Insert.Line : 04: Before multi line OK AdaCL.Wide_SAR.Filter.Insert.Line : 05: Before lower case OK AdaCL.Wide_SAR.Filter.Insert.Line : 06: Before upper case OK AdaCL.Wide_SAR.Filter.Insert.Line : 11: After prepend one Line OK AdaCL.Wide_SAR.Filter.Insert.Line : 12: After with copy left and right OK AdaCL.Wide_SAR.Filter.Insert.Line : 13: After line already present OK AdaCL.Wide_SAR.Filter.Insert.Line : 14: After multi line OK AdaCL.Wide_SAR.Filter.Insert.Line : 15: After lower case OK AdaCL.Wide_SAR.Filter.Insert.Line : 16: After upper case OK AdaCL.Wide_SAR.Filter.Insert.Line : 21: Both prepend one Line OK AdaCL.Wide_SAR.Filter.Insert.Line : 22: Both with copy left and right OK AdaCL.Wide_SAR.Filter.Insert.Line : 23: Both line already present OK AdaCL.Wide_SAR.Filter.Insert.Line : 24: Both multi line OK AdaCL.Wide_SAR.Filter.Insert.Line : 25: Both lower case OK AdaCL.Wide_SAR.Filter.Insert.Line : 26: Both upper case OK AdaCL.Wide_SAR.Filter.Insert.Text : 01: Insert Both Always OK AdaCL.Wide_SAR.Filter.Insert.Text : 02: Insert Both first OK AdaCL.Wide_SAR.Filter.Insert.Text : 03: Insert Both last OK AdaCL.Wide_SAR.Filter.Insert.Text : 04: Insert Both last OK AdaCL.Wide_SAR.Filter.Insert.Text : 11: Insert Before Always OK AdaCL.Wide_SAR.Filter.Insert.Text : 12: Insert Before first OK AdaCL.Wide_SAR.Filter.Insert.Text : 13: Insert Before last OK AdaCL.Wide_SAR.Filter.Insert.Text : 21: Insert After Always OK AdaCL.Wide_SAR.Filter.Insert.Text : 22: Insert After first OK AdaCL.Wide_SAR.Filter.Insert.Text : 23: Insert After last OK AdaCL.Wide_SAR.Filter.Remove.Comment : 01: single line OK AdaCL.Wide_SAR.Filter.Remove.Comment : 02: begin end OK AdaCL.Wide_SAR.Filter.Remove.Comment : 03: begin end match OK AdaCL.Wide_SAR.Filter.Remove.Comment : 04: begin end lower match OK AdaCL.Wide_SAR.Filter.Remove.Comment : 05: keep OK AdaCL.Wide_SAR.Filter.Remove.Line : 01: only line OK AdaCL.Wide_SAR.Filter.Remove.Line : 02: all lines OK AdaCL.Wide_SAR.Filter.Remove.Line : 03: last line OK AdaCL.Wide_SAR.Filter.Remove.Line : 04: first line OK AdaCL.Wide_SAR.Filter.Remove.Line : 05: middle line OK AdaCL.Wide_SAR.Filter.Remove.Line : 06: lower case OK AdaCL.Wide_SAR.Filter.Remove.Line : 07: upper case OK AdaCL.Wide_SAR.Filter.Remove.Tab : 01: Replace all OK AdaCL.Wide_SAR.Filter.Remove.Tab : 02: Replace with no match OK AdaCL.Wide_SAR.Filter.Remove.Tab : 03: Replace upper case OK AdaCL.Wide_SAR.Filter.Replace.Indent : 01: Decrease indent OK AdaCL.Wide_SAR.Filter.Replace.Indent : 02: Increase indent OK AdaCL.Wide_SAR.Filter.Replace.Indent : 03: Wide_Space to tab OK AdaCL.Wide_SAR.Filter.Replace.Indent : 04: Tab to space OK AdaCL.Wide_SAR.Filter.Replace.Text : 01: Replace all OK AdaCL.Wide_SAR.Filter.Replace.Text : 02: Replace with no match OK AdaCL.Wide_SAR.Filter.Replace.Text : 03: Replace upper case OK AdaCL.Wide_SAR.Filter.Replace.Text : 04: Replace lower case OK AdaCL.Wide_SAR.SAR.Filters.Search.Excludes : 01: Replace all OK AdaCL.Wide_SAR.SAR.Filters.Search.Includes : 01: Replace all OK AdaCL.Wide_SAR.Filter.Trim : 01: Insert Both Always OK AdaCL.Wide_SAR.Filter.Trim : 02: Insert Both first OK AdaCL.Wide_SAR.Filter.Trim : 03: Insert Both last OK AdaCL.Wide_SAR.Filter.Trim : 04: Insert Both last OK AdaCL.Wide_Wide_SAR.Filter : 01: Single line insert OK AdaCL.Wide_Wide_SAR.Filter : 02: multiple lines insert OK AdaCL.Wide_Wide_SAR.Filter.Insert.Line : 01: Before prepend one Line OK AdaCL.Wide_Wide_SAR.Filter.Insert.Line : 02: Before with copy left and right OK AdaCL.Wide_Wide_SAR.Filter.Insert.Line : 03: Before line already present OK AdaCL.Wide_Wide_SAR.Filter.Insert.Line : 04: Before multi line OK AdaCL.Wide_Wide_SAR.Filter.Insert.Line : 05: Before lower case OK AdaCL.Wide_Wide_SAR.Filter.Insert.Line : 06: Before upper case OK AdaCL.Wide_Wide_SAR.Filter.Insert.Line : 11: After prepend one Line OK AdaCL.Wide_Wide_SAR.Filter.Insert.Line : 12: After with copy left and right OK AdaCL.Wide_Wide_SAR.Filter.Insert.Line : 13: After line already present OK AdaCL.Wide_Wide_SAR.Filter.Insert.Line : 14: After multi line OK AdaCL.Wide_Wide_SAR.Filter.Insert.Line : 15: After lower case OK AdaCL.Wide_Wide_SAR.Filter.Insert.Line : 16: After upper case OK AdaCL.Wide_Wide_SAR.Filter.Insert.Line : 21: Both prepend one Line OK AdaCL.Wide_Wide_SAR.Filter.Insert.Line : 22: Both with copy left and right OK AdaCL.Wide_Wide_SAR.Filter.Insert.Line : 23: Both line already present OK AdaCL.Wide_Wide_SAR.Filter.Insert.Line : 24: Both multi line OK AdaCL.Wide_Wide_SAR.Filter.Insert.Line : 25: Both lower case OK AdaCL.Wide_Wide_SAR.Filter.Insert.Line : 26: Both upper case OK AdaCL.Wide_Wide_SAR.Filter.Insert.Text : 01: Insert Both Always OK AdaCL.Wide_Wide_SAR.Filter.Insert.Text : 02: Insert Both first OK AdaCL.Wide_Wide_SAR.Filter.Insert.Text : 03: Insert Both last OK AdaCL.Wide_Wide_SAR.Filter.Insert.Text : 04: Insert Both last OK AdaCL.Wide_Wide_SAR.Filter.Insert.Text : 11: Insert Before Always OK AdaCL.Wide_Wide_SAR.Filter.Insert.Text : 12: Insert Before first OK AdaCL.Wide_Wide_SAR.Filter.Insert.Text : 13: Insert Before last OK AdaCL.Wide_Wide_SAR.Filter.Insert.Text : 21: Insert After Always OK AdaCL.Wide_Wide_SAR.Filter.Insert.Text : 22: Insert After first OK AdaCL.Wide_Wide_SAR.Filter.Insert.Text : 23: Insert After last OK AdaCL.Wide_Wide_SAR.Filter.Remove.Comment : 01: single line OK AdaCL.Wide_Wide_SAR.Filter.Remove.Comment : 02: begin end OK AdaCL.Wide_Wide_SAR.Filter.Remove.Comment : 03: begin end match OK AdaCL.Wide_Wide_SAR.Filter.Remove.Comment : 04: begin end lower match OK AdaCL.Wide_Wide_SAR.Filter.Remove.Comment : 05: keep OK AdaCL.Wide_Wide_SAR.Filter.Remove.Line : 01: only line OK AdaCL.Wide_Wide_SAR.Filter.Remove.Line : 02: all lines OK AdaCL.Wide_Wide_SAR.Filter.Remove.Line : 03: last line OK AdaCL.Wide_Wide_SAR.Filter.Remove.Line : 04: first line OK AdaCL.Wide_Wide_SAR.Filter.Remove.Line : 05: middle line OK AdaCL.Wide_Wide_SAR.Filter.Remove.Line : 06: lower case OK AdaCL.Wide_Wide_SAR.Filter.Remove.Line : 07: upper case OK AdaCL.Wide_Wide_SAR.Filter.Remove.Tab : 01: Replace all OK AdaCL.Wide_Wide_SAR.Filter.Remove.Tab : 02: Replace with no match OK AdaCL.Wide_Wide_SAR.Filter.Remove.Tab : 03: Replace upper case OK AdaCL.Wide_Wide_SAR.Filter.Replace.Indent : 01: Decrease indent OK AdaCL.Wide_Wide_SAR.Filter.Replace.Indent : 02: Increase indent OK AdaCL.Wide_Wide_SAR.Filter.Replace.Indent : 03: Wide_Wide_Space to tab OK AdaCL.Wide_Wide_SAR.Filter.Replace.Indent : 04: Tab to space OK AdaCL.Wide_Wide_SAR.Filter.Replace.Text : 01: Replace all OK AdaCL.Wide_Wide_SAR.Filter.Replace.Text : 02: Replace with no match OK AdaCL.Wide_Wide_SAR.Filter.Replace.Text : 03: Replace upper case OK AdaCL.Wide_Wide_SAR.Filter.Replace.Text : 04: Replace lower case OK AdaCL.Wide_Wide_SAR.SAR.Filters.Search.Excludes : 01: Replace all OK AdaCL.Wide_Wide_SAR.SAR.Filters.Search.Includes : 01: Replace all OK AdaCL.Wide_Wide_SAR.Filter.Trim : 01: Insert Both Always OK AdaCL.Wide_Wide_SAR.Filter.Trim : 02: Insert Both first OK AdaCL.Wide_Wide_SAR.Filter.Trim : 03: Insert Both last OK AdaCL.Wide_Wide_SAR.Filter.Trim : 04: Insert Both last Total Tests Run: 177 Successful Tests: 177 Failed Assertions: 0 Unexpected Errors: 0 [alr test] Test completed SUCCESSFULLY