diff --git a/tests/alire.toml b/tests/alire.toml index 4482207..8bd4eb6 100644 --- a/tests/alire.toml +++ b/tests/alire.toml @@ -1,6 +1,6 @@ name = "septum_tests" description = "Tests for septum" -version = "0.0.4" +version = "0.0.5" authors = ["Paul Jarrett"] maintainers = ["Paul Jarrett "] @@ -8,6 +8,22 @@ maintainers-logins = ["pyjarrett"] executables = ["septum_tests"] +[build-switches] +"*".Compile_Checks = "Warnings" +"*".Debug_Info = "Yes" +"*".Contracts = "Yes" +"*".Runtime_Checks = [ + "-gnato", # Enable numeric overflow checking; + "-fstack-check", # Stack overflow checking + "-gnatVa" # All validity checks +] +"*".Ada_Version = "Ada2022" +"*".Style_Checks = [ + "-gnaty-d", # Disable no DOS line terminators + "-gnatyM120", # Maximum line length + "-gnatyO" # Overriding subprograms explicitly marked as such] +] + [[depends-on]] septum = "~0.0.8" diff --git a/tests/septum_tests.gpr b/tests/septum_tests.gpr index 7707eab..56036bf 100644 --- a/tests/septum_tests.gpr +++ b/tests/septum_tests.gpr @@ -1,93 +1,16 @@ with "atomic.gpr"; +with "config/septum_tests_config.gpr"; with "trendy_test.gpr"; with "septum.gpr"; project Septum_Tests is - for Source_Dirs use ("src"); - for Object_Dir use "obj"; + for Source_Dirs use ("src/", "config/"); + for Object_Dir use "obj/" & Septum_Tests_Config.Build_Profile; for Create_Missing_Dirs use "True"; for Exec_Dir use "bin"; for Main use ("septum_tests.adb"); - type Enabled_Kind is ("enabled", "disabled"); - Compile_Checks : Enabled_Kind := External ("SEPTUM_TESTS_COMPILE_CHECKS", "enabled"); - Runtime_Checks : Enabled_Kind := External ("SEPTUM_TESTS_RUNTIME_CHECKS", "enabled"); - Style_Checks : Enabled_Kind := External ("SEPTUM_TESTS_STYLE_CHECKS", "enabled"); - Contracts_Checks : Enabled_Kind := External ("SEPTUM_TESTS_CONTRACTS", "enabled"); - - type Build_Kind is ("debug", "optimize"); - Build_Mode : Build_Kind := External ("SEPTUM_TESTS_BUILD_MODE", "debug"); - - Compile_Checks_Switches := (); - case Compile_Checks is - when "enabled" => - Compile_Checks_Switches := ( - "-gnatwa", -- All warnings - "-gnatVa", -- All validity checks - "-gnatwe" -- Warnings as errors - ); - when others => null; - end case; - - Runtime_Checks_Switches := (); - case Runtime_Checks is - when "enabled" => - Runtime_Checks_Switches := ( - "-gnato", -- Enable numeric overflow checking; - "-fstack-check", -- Stack overflow checking - "-gnatVa" -- All validity checks - ); - when others => - Runtime_Checks_Switches := - ("-gnatp"); -- Suppress checks - end case; - - Style_Checks_Switches := (); - case Style_Checks is - when "enabled" => - Style_Checks_Switches := ( - "-gnaty-d", -- Disable no DOS line terminators - "-gnatyM120", -- Maximum line length - "-gnatyO" -- Overriding subprograms explicitly marked as such - ); - when others => null; - end case; - - Contracts_Switches := (); - case Contracts_Checks is - when "enabled" => - Contracts_Switches := - ("-gnata"); -- Enable assertions and contracts - when others => null; - end case; - - Build_Switches := (); - case Build_Mode is - when "optimize" => - Build_Switches := ("-O3", -- Optimization - "-gnatn"); -- Enable inlining - when "debug" => - Build_Switches := ("-g", -- Debug info - "-Og"); -- No optimization - end case; - - package Compiler is - for Default_Switches ("Ada") use - Compile_Checks_Switches & - Build_Switches & - Runtime_Checks_Switches & - Style_Checks_Switches & - Contracts_Switches & - ("-gnatw.X", -- Disable warnings for No_Exception_Propagation - "-gnatf", -- Full errors. Multiple errors per line, all undefined references, - -- Do not attempt to suppress cascaded errors. - "-gnat2022", -- Use Ada 2022 - "-gnatw.oa", -- Warning settings - "-gnatQ" -- Don't quit. Generate ALI and tree files even if illegalities - ); - end Compiler; - package Binder is for Switches ("Ada") use ("-Es"); -- Symbolic traceback end Binder; @@ -103,4 +26,12 @@ project Septum_Tests is ); end Pretty_Printer; + package Compiler is + for Default_Switches ("Ada") use Septum_Tests_Config.Ada_Compiler_Switches; + end Compiler; + + package Install is + for Artifacts (".") use ("share"); + end Install; + end Septum_Tests;