afb3ce3722
* Add files via upload * Add trendy terminal 0.0.4 * Add septum 0.0.4
135 lines
5.4 KiB
TOML
135 lines
5.4 KiB
TOML
name = "trendy_test"
|
|
description = "Minimal Effort Ada Unit Testing Library"
|
|
version = "0.0.3"
|
|
website = "https://github.com/pyjarrett/trendy_test"
|
|
|
|
authors = ["Paul Jarrett"]
|
|
licenses = "Apache-2.0"
|
|
maintainers = ["Paul Jarrett <jarrett.paul.young@gmail.com>"]
|
|
maintainers-logins = ["pyjarrett"]
|
|
tags = ["test", "unit-test", "unit"]
|
|
|
|
project-files = ["trendy_test.gpr"]
|
|
|
|
long-description = '''
|
|
# trendy_test
|
|
|
|
Minimum Effort Ada Unit Testing Library
|
|
|
|
[](https://github.com/pyjarrett/trendy_test/actions)
|
|
|
|
## Features
|
|
|
|
- Minimum setup
|
|
- Parallelization of tests
|
|
- Randomization of test order to find dependencies between tests
|
|
- No generated code or scripts needed
|
|
|
|
## Example
|
|
|
|
```ada
|
|
with Ada.Text_IO;
|
|
with Trendy_Test;
|
|
with Trendy_Test.Assertions.Integer_Assertions;
|
|
with Trendy_Test.Reports;
|
|
|
|
use Trendy_Test.Assertions;
|
|
use Trendy_Test.Assertions.Integer_Assertions;
|
|
|
|
procedure My_Test_Main is
|
|
begin
|
|
Trendy_Test.Register (My_Tests.All_Tests);
|
|
Trendy_Test.Reports.Print_Basic_Report(Trendy_Test.Run);
|
|
end My_Test_Main;
|
|
|
|
----------------------------------------------------------------
|
|
|
|
with Trendy_Test;
|
|
package My_Tests is
|
|
function All_Tests return Trendy_Test.Test_Group;
|
|
end Trendy_Command_Line_Tests;
|
|
|
|
----------------------------------------------------------------
|
|
|
|
package body My_Tests is
|
|
procedure Test_Sample (T : in out Trendy_Test.Operation'Class) is
|
|
begin
|
|
-- Don't put anything above here you don't want run during listing/other ops.
|
|
T.Register;
|
|
Assert (T, Some_Expression);
|
|
end Test_Sample;
|
|
|
|
procedure Test_Is_Disabled (T : in out Trendy_Test.Operation'Class) is
|
|
begin
|
|
T.Register(Disabled => True); -- Disabled, don't run this test.
|
|
Assert (T, Some_Expression);
|
|
end Test_Sample;
|
|
|
|
procedure Test_Is_Not_Run_In_Parallel (T : in out Trendy_Test.Operation'Class) is
|
|
begin
|
|
T.Register(Parallelize => False); -- There's some dependency, so don't run it in parallel.
|
|
Assert (T, Some_Expression);
|
|
end Test_Sample;
|
|
|
|
function All_Tests return Trendy_Test.Test_Group is
|
|
begin
|
|
return
|
|
(Test_Sample'Access,
|
|
Test_Is_Disabled'Access
|
|
);
|
|
end All_Tests;
|
|
end My_Tests;
|
|
```
|
|
|
|
## Example Output
|
|
|
|
```
|
|
D:\dev\ada\trendy_command_line\bin\trendy_command_line_test_main
|
|
[ PASS ] shared_pointers_tests.test_multiple_oracles 0.000105300
|
|
[ PASS ] shared_pointers_tests.test_single_oracle 0.000052700
|
|
[ PASS ] trendy_command_line.context_free.tests.test_is_long_option 0.000002300
|
|
[ PASS ] trendy_command_line.context_free.tests.test_is_option_terminator 0.000007200
|
|
[ PASS ] trendy_command_line.context_free.tests.test_is_short_option 0.000005000
|
|
[ PASS ] trendy_command_line.context_free.tests.test_is_short_option_or_group 0.000009200
|
|
[ PASS ] trendy_command_line_tests.flags.test_boolean_option_defaults 0.000149400
|
|
[ FAIL ] trendy_command_line_tests.flags.test_boolean_option_short_option_group 0.000185600
|
|
Assertion Failed: (Condition false) at D:\dev\ada\trendy_command_line\src\trendy_command_line_tests-flags.adb: 110[D:\dev\ada\trendy_command_line\bin\trendy_command_line_test_main.exe]
|
|
0x453530 Trendy_Test.Report_Failure at trendy_test.adb:88
|
|
0x4535a4 Trendy_Test.Assert at trendy_test.adb:102
|
|
0x425338 Trendy_Command_Line_Tests.Flags.Test_Boolean_Option_Short_Option_Group at trendy_command_line_tests-flags.adb:110
|
|
0x451ff1 Trendy_Test.Run_Test at trendy_test.adb:237
|
|
0x452d4c Trendy_Test.Run.Parallel_Test_TaskTB at trendy_test.adb:277
|
|
0x4601a2 system__tasking__queuing__select_protected_entry_call at ???
|
|
[C:\Windows\System32\KERNEL32.DLL]
|
|
0x7ffd7d1f7032
|
|
[C:\Windows\SYSTEM32\ntdll.dll]
|
|
0x7ffd7e08264f
|
|
|
|
[ FAIL ] trendy_command_line_tests.flags.test_boolean_option_short_options 0.001984800
|
|
Assertion Failed: (Condition false) at D:\dev\ada\trendy_command_line\src\trendy_command_line_tests-flags.adb: 93[D:\dev\ada\trendy_command_line\bin\trendy_command_line_test_main.exe]
|
|
0x453530 Trendy_Test.Report_Failure at trendy_test.adb:88
|
|
0x4535a4 Trendy_Test.Assert at trendy_test.adb:102
|
|
0x425a43 Trendy_Command_Line_Tests.Flags.Test_Boolean_Option_Short_Options at trendy_command_line_tests-flags.adb:93
|
|
0x451ff1 Trendy_Test.Run_Test at trendy_test.adb:237
|
|
0x452d4c Trendy_Test.Run.Parallel_Test_TaskTB at trendy_test.adb:277
|
|
0x4601a2 system__tasking__queuing__select_protected_entry_call at ???
|
|
[C:\Windows\System32\KERNEL32.DLL]
|
|
0x7ffd7d1f7032
|
|
[C:\Windows\SYSTEM32\ntdll.dll]
|
|
0x7ffd7e08264f
|
|
|
|
[ PASS ] trendy_command_line_tests.flags.test_boolean_option_toggles 0.000153600
|
|
[ PASS ] trendy_command_line_tests.flags.test_boolean_option_too_many_occurrences
|
|
0.003517400
|
|
[ PASS ] trendy_command_line_tests.test_long_option_with_argument 0.000013000
|
|
[ PASS ] trendy_command_line_tests.test_one_operand 0.000006700
|
|
[ PASS ] trendy_command_line_tests.test_short_option_with_argument 0.000193600
|
|
Results: Passed: 12 / 14
|
|
```
|
|
|
|
'''
|
|
[origin]
|
|
commit = "a0e147369f723969740eb25995cf22ba74282127"
|
|
url = "git+https://github.com/pyjarrett/trendy_test.git"
|
|
|