with GNATCOLL.Projects; use GNATCOLL.Projects; with GNATCOLL.VFS; use GNATCOLL.VFS; with Test_Assert; with Ada.Strings.Fixed; use Ada.Strings.Fixed; with Ada.Containers.Indefinite_Ordered_Sets; function Test return Integer is PT : Project_Tree; Env : Project_Environment_Access; procedure Errors (S : String); procedure Errors (S : String) is begin Test_Assert.Assert (Index (S, "VAR1") = 0 and Index (S, "VAR2") = 0 and Index (S, "VAR1_2") = 0, "check that SVs are not reported in "); end Errors; package UV_Sets is new Ada.Containers.Indefinite_Ordered_Sets (String); use UV_Sets; UV_Set : UV_Sets.Set; begin Initialize (Env); PT.Load (GNATCOLL.VFS.Create ("p.gpr"), Env, Errors => Errors'Unrestricted_Access); declare UVs : constant Untyped_Variable_Array := PT.Untyped_Variables; begin for UV of UVs loop Test_Assert.Assert (not UV_Set.Contains (External_Name (UV)), "check no duplication of UV " & External_Name (UV)); UV_Set.Include (External_Name (UV)); end loop; end; Test_Assert.Assert (UV_Set.Contains ("NESTED1"), "Check presense of NESTED1"); Test_Assert.Assert (UV_Set.Contains ("NESTED2"), "Check presense of NESTED2"); Test_Assert.Assert (not UV_Set.Contains ("VAR1"), "Check absence of VAR1"); Test_Assert.Assert (not UV_Set.Contains ("VAR2"), "Check absence of VAR2"); Test_Assert.Assert (not UV_Set.Contains ("VAR1_2"), "Check absence of VAR1_2"); UV_Set.Clear; PT.Unload; Free (Env); return Test_Assert.Report; end Test;