diff --git a/.gitignore b/.gitignore
index 55aaf3e..b72bbf6 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,4 @@
*.o
*.ali
lib/aunit*
+alire
diff --git a/alire.toml b/alire.toml
new file mode 100644
index 0000000..cb67c3b
--- /dev/null
+++ b/alire.toml
@@ -0,0 +1,16 @@
+description = "Ada unit test framework"
+name = "aunit"
+version = "25.0.0-dev"
+authors = ["AdaCore"]
+licenses = "GPL-3.0-or-later WITH GCC-exception-3.1"
+maintainers = ["chouteau@adacore.com"]
+maintainers-logins = ["Fabien-Chouteau"]
+project-files = ["lib/gnat/aunit.gpr"]
+tags=["unit", "test", "unit-test"]
+
+[configuration]
+disabled = true
+
+[gpr-externals]
+AUNIT_BUILD_MODE = ["Devel", "Install"]
+AUNIT_RUNTIME = ["full", "zfp", "zfp-cross", "ravenscar", "ravenscar-cert", "cert"]
diff --git a/include/aunit/framework/aunit-test_cases.adb b/include/aunit/framework/aunit-test_cases.adb
index 12f6a63..7b8d9f6 100644
--- a/include/aunit/framework/aunit-test_cases.adb
+++ b/include/aunit/framework/aunit-test_cases.adb
@@ -60,6 +60,9 @@ package body AUnit.Test_Cases is
-- Call_Set_Up_Case --
----------------------
+ function Call_Set_Up_Case
+ (Test : in out Test_Case'Class) return Test_Error_Access;
+
function Call_Set_Up_Case
(Test : in out Test_Case'Class) return Test_Error_Access is separate;
diff --git a/include/aunit/framework/staticmemory/aunit-memory.adb b/include/aunit/framework/staticmemory/aunit-memory.adb
index 8068303..892c643 100644
--- a/include/aunit/framework/staticmemory/aunit-memory.adb
+++ b/include/aunit/framework/staticmemory/aunit-memory.adb
@@ -32,7 +32,7 @@
-- Dummy implementation.
with System.Storage_Elements;
-with Unchecked_Conversion;
+with Ada.Unchecked_Conversion;
package body AUnit.Memory is
@@ -49,7 +49,7 @@ package body AUnit.Memory is
Top : Mark_Id := Mem'First;
- function To_Mark_Id is new Unchecked_Conversion
+ function To_Mark_Id is new Ada.Unchecked_Conversion
(size_t, Mark_Id);
-----------
diff --git a/include/aunit/framework/zfpexception/aunit-test_cases-call_set_up_case.adb b/include/aunit/framework/zfpexception/aunit-test_cases-call_set_up_case.adb
index 343ae75..292ab68 100644
--- a/include/aunit/framework/zfpexception/aunit-test_cases-call_set_up_case.adb
+++ b/include/aunit/framework/zfpexception/aunit-test_cases-call_set_up_case.adb
@@ -37,6 +37,8 @@ function Call_Set_Up_Case
(Test : in out Test_Case'Class) return Test_Error_Access is
function Alloc_Error is new Gen_Alloc (Test_Error, Test_Error_Access);
+ procedure Internal_Set_Up_Case;
+
procedure Internal_Set_Up_Case is
begin
Set_Up_Case (Test);
diff --git a/include/aunit/reporters/aunit-reporter-junit.adb b/include/aunit/reporters/aunit-reporter-junit.adb
index e2f0b48..66c74ff 100644
--- a/include/aunit/reporters/aunit-reporter-junit.adb
+++ b/include/aunit/reporters/aunit-reporter-junit.adb
@@ -33,7 +33,11 @@ with AUnit.IO; use AUnit.IO;
with AUnit.Time_Measure; use AUnit.Time_Measure;
package body AUnit.Reporter.JUnit is
-
+
+ procedure Put_Special_Chars (File : File_Type; S : String);
+ procedure Report_Test (File : File_Type; Test : Test_Result);
+ procedure Dump_Result_List (File : File_Type; L : Result_Lists.List);
+
procedure Put_Special_Chars (File : File_Type; S : String) is
begin
for C of S loop
@@ -46,10 +50,10 @@ package body AUnit.Reporter.JUnit is
end case;
end loop;
end Put_Special_Chars;
-
+
procedure Put_Measure is
new Gen_Put_Measure_In_Seconds;
-
+
procedure Report_Test (File : File_Type; Test : Test_Result) is
begin
Put (File, "");
+ Put_Line (File, """>");
Put_Line (File, "");
Put_Line (File, "");
Put_Line (File, "");
elsif Test.Error /= null then
- Put_Line (File, """>");
+ Put_Line (File, """>");
Put_Line (File, "");
Put_Line (File, "");
else
Put_Line (File, """ />");
- end if;
+ end if;
end Report_Test;
-
+
procedure Dump_Result_List (File : File_Type; L : Result_Lists.List) is
use Result_Lists;
C : Cursor := First (L);
@@ -102,17 +106,19 @@ package body AUnit.Reporter.JUnit is
Next (C);
end loop;
end Dump_Result_List;
-
+
procedure Report (Engine : JUnit_Reporter;
R : in out Result'Class;
Options : AUnit_Options := Default_Options)
- is
+ is
File : File_Type renames Engine.File.all;
T : constant Time := Elapsed (R);
begin
Put_Line (File, "");
Put_Line (File, "");
- Put (File, "");
+ Put_Line (File, """>");
if Options.Report_Successes then
declare
S : Result_Lists.List;
@@ -130,7 +136,7 @@ package body AUnit.Reporter.JUnit is
Successes (R, S);
Dump_Result_List (File, S);
end;
- end if;
+ end if;
declare
F : Result_Lists.List;
begin
@@ -142,7 +148,7 @@ package body AUnit.Reporter.JUnit is
begin
Errors (R, E);
Dump_Result_List (File, E);
- end;
+ end;
Put_Line (File, "");
Put_Line (File, "");
end Report;
diff --git a/include/aunit/reporters/aunit-reporter-junit.ads b/include/aunit/reporters/aunit-reporter-junit.ads
index 7295e10..e1d92e1 100644
--- a/include/aunit/reporters/aunit-reporter-junit.ads
+++ b/include/aunit/reporters/aunit-reporter-junit.ads
@@ -31,9 +31,9 @@
-- jenkins-junit.xsd compatible reporter to file.
package AUnit.Reporter.JUnit is
-
+
type JUnit_Reporter is new Reporter with null record;
-
+
procedure Report (Engine : JUnit_Reporter;
R : in out Result'Class;
Options : AUnit_Options := Default_Options);
diff --git a/include/aunit/reporters/aunit-reporter-text.adb b/include/aunit/reporters/aunit-reporter-text.adb
index 7a8616f..76c37e5 100644
--- a/include/aunit/reporters/aunit-reporter-text.adb
+++ b/include/aunit/reporters/aunit-reporter-text.adb
@@ -38,13 +38,19 @@ package body AUnit.Reporter.Text is
procedure Indent (File : File_Type; N : Natural);
-- Print N indentations to output
- procedure Dump_Result_List (File : File_Type; L : Result_Lists.List; Prefix : String);
+ procedure Dump_Result_List
+ (File : File_Type;
+ L : Result_Lists.List;
+ Prefix : String);
-- Dump a result list
procedure Put_Measure is new Gen_Put_Measure;
-- Output elapsed time
- procedure Report_Test (File : File_Type; Test : Test_Result; Prefix : String);
+ procedure Report_Test
+ (File : File_Type;
+ Test : Test_Result;
+ Prefix : String);
-- Report a single assertion failure or unexpected exception
generic
@@ -88,8 +94,11 @@ package body AUnit.Reporter.Text is
-- Dump_Result_List --
----------------------
- procedure Dump_Result_List (File : File_Type; L : Result_Lists.List; Prefix : String) is
-
+ procedure Dump_Result_List
+ (File : File_Type;
+ L : Result_Lists.List;
+ Prefix : String)
+ is
use Result_Lists;
C : Cursor := First (L);
@@ -211,7 +220,11 @@ package body AUnit.Reporter.Text is
-- Report_Test --
-----------------
- procedure Report_Test (File : File_Type; Test : Test_Result; Prefix : String) is
+ procedure Report_Test
+ (File : File_Type;
+ Test : Test_Result;
+ Prefix : String)
+ is
T : AUnit_Duration;
begin
Put (File, Prefix);