-
Notifications
You must be signed in to change notification settings - Fork 14
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Test: fix processing of aggregate projects
The laltools framework supports aggregate projects in the sense that they will be processed sequentially, invoking the tool in a subprocess on each of the aggregated projects. It also however calls the Init and Final tool methods on the aggregate project itself, which is not necessary in gnattest's case, and even used to lead to a crash due to call to GNATCOLL.Project primitives that were illegal on aggregate projects. This fixes the crash by skipping the Init and Final call of the test tool when the aggregate project is being processed. (cherry picked from commit c9244a7)
- Loading branch information
Showing
14 changed files
with
90 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
project Dep is | ||
|
||
for Object_Dir use "obj_dep"; | ||
for Source_Dirs use ("src_dep"); | ||
|
||
end Dep; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
aggregate project Prj is | ||
for Project_Files use ("prj1.gpr", "prj2.gpr"); | ||
end Prj; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
with "dep.gpr"; | ||
|
||
project Prj1 is | ||
|
||
for Object_Dir use "obj1"; | ||
for Source_Dirs use ("src1"); | ||
|
||
end Prj1; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
with "dep.gpr"; | ||
|
||
project Prj2 is | ||
|
||
for Object_Dir use "obj2"; | ||
for Source_Dirs use ("src2"); | ||
|
||
end Prj2; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
with Dep; | ||
|
||
package body Pkg is | ||
|
||
function Foo (X : Integer) return Integer is (Dep.Baz (X)); | ||
|
||
end Pkg; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
package Pkg is | ||
|
||
function Foo (X : Integer) return Integer; | ||
|
||
end Pkg; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
with Dep; | ||
|
||
package body Pkh is | ||
|
||
function Bar (X : Integer) return Integer is (Dep.Baz (X)); | ||
|
||
end Pkh; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
package Pkh is | ||
|
||
function Bar (X : Integer) return Integer; | ||
|
||
end Pkh; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
package body Dep is | ||
|
||
function Baz (X : Integer) return Integer is (X); | ||
|
||
end Dep; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
package Dep is | ||
|
||
function Baz (X : Integer) return Integer; | ||
|
||
end Dep; |
Empty file.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
#! /bin/bash | ||
|
||
# First, run gnattest in stub mode, with tests placed in source subdirectories, | ||
# and stubs in the object dir of the stubbed project. | ||
gnattest -P prj.gpr --stub --subdirs=test --stubs-dir=stub -q | ||
|
||
# The build both test driver aggregate projects, to ensure the generated | ||
# harnesses are valid. | ||
gprbuild -q obj1/gnattest_stub/harness/test_drivers.gpr | ||
gprbuild -q obj2/gnattest_stub/harness/test_drivers.gpr |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
description: | ||
Test that gnattest does not crash when processing an aggregate project, | ||
and that they are processed in sequence, producing two valid harnesses. | ||
|
||
driver: shell_script |