1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109 | -----------------------------------------------------------------------
-- are-generator-go-tests -- Tests for Go generator
-- Copyright (C) 2021 Stephane Carrez
-- Written by Stephane Carrez (Stephane.Carrez@gmail.com)
--
-- Licensed under the Apache License, Version 2.0 (the "License");
-- you may not use this file except in compliance with the License.
-- You may obtain a copy of the License at
--
-- http://www.apache.org/licenses/LICENSE-2.0
--
-- Unless required by applicable law or agreed to in writing, software
-- distributed under the License is distributed on an "AS IS" BASIS,
-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-- See the License for the specific language governing permissions and
-- limitations under the License.
-----------------------------------------------------------------------
with Ada.Directories;
with Util.Files;
with Util.Test_Caller;
package body Are.Generator.Go.Tests is
Expect_Dir : constant String := "regtests/expect/go/";
function Tool return String;
package Caller is new Util.Test_Caller (Test, "Are.Generator.Go");
function Tool return String is
begin
return "bin/are" & Are.Testsuite.EXE;
end Tool;
procedure Add_Tests (Suite : in Util.Tests.Access_Test_Suite) is
begin
Caller.Add_Test (Suite, "Test Are.Generate_Go1",
Test_Generate_Go1'Access);
Caller.Add_Test (Suite, "Test Are.Generate_Go2",
Test_Generate_Go2'Access);
Caller.Add_Test (Suite, "Test Are.Generate_Go3",
Test_Generate_Go3'Access);
end Add_Tests;
procedure Test_Generate_Go1 (T : in out Test) is
Dir : constant String := Util.Tests.Get_Test_Path ("");
Target : constant String := Util.Files.Compose (Dir, "resources1/resources1.go");
Web : constant String := "regtests/files/test-c-1/web";
Result : Ada.Strings.Unbounded.Unbounded_String;
begin
-- Generate the resources1.go file
T.Execute (Tool & " --lang=go -o " & Dir
& " --name-access --resource=Resources1 --fileset '**/*' "
& Web, Result);
T.Assert (Ada.Directories.Exists (Target),
"Resource file 'resources1/resources1.go' not generated");
Are.Testsuite.Assert_Equal_Files
(T => T,
Expect => Util.Tests.Get_Path (Expect_Dir & "resources1.go"),
Test => Target,
Message => "Invalid Go generation");
end Test_Generate_Go1;
procedure Test_Generate_Go2 (T : in out Test) is
Dir : constant String := Util.Tests.Get_Test_Path ("");
Target : constant String := Util.Files.Compose (Dir, "resources2/resources2.go");
Web : constant String := "regtests/files/test-ada-2";
Rule : constant String := "regtests/files/test-ada-2/package.xml";
Result : Ada.Strings.Unbounded.Unbounded_String;
begin
-- Generate the resources1.go file
T.Execute (Tool & " --lang=go -o " & Dir & " --name-access --rule=" & Rule
& " " & Web, Result);
T.Assert (Ada.Directories.Exists (Target),
"Resource file 'resources2/resources2.go' not generated");
Are.Testsuite.Assert_Equal_Files
(T => T,
Expect => Util.Tests.Get_Path (Expect_Dir & "resources2.go"),
Test => Target,
Message => "Invalid Go generation");
end Test_Generate_Go2;
procedure Test_Generate_Go3 (T : in out Test) is
Dir : constant String := Util.Tests.Get_Test_Path ("");
Target : constant String := Util.Files.Compose (Dir, "resource4/resource4.go");
Web : constant String := "regtests/files/test-ada-4";
Rule : constant String := "regtests/files/test-ada-4/package.xml";
Result : Ada.Strings.Unbounded.Unbounded_String;
begin
-- Generate the resources1.go file
T.Execute (Tool & " --lang=go -o " & Dir & " --name-access --rule=" & Rule
& " " & Web, Result);
T.Assert (Ada.Directories.Exists (Target),
"Resource file 'resource4/resource4.go' not generated");
Are.Testsuite.Assert_Equal_Files
(T => T,
Expect => Util.Tests.Get_Path (Expect_Dir & "resource4.go"),
Test => Target,
Message => "Invalid Go generation");
end Test_Generate_Go3;
end Are.Generator.Go.Tests;
|