Add some test scaffolding for verifying my assumptions while interfacing with C
This commit is contained in:
parent
21dda16b30
commit
354a63c937
|
@ -0,0 +1,13 @@
|
|||
|
||||
|
||||
all: pre
|
||||
gprbuild -P test.gpr
|
||||
|
||||
run: all
|
||||
./epoll-test
|
||||
|
||||
clean: pre
|
||||
gprclean -P test.gpr
|
||||
|
||||
pre:
|
||||
mkdir -p build
|
|
@ -0,0 +1,43 @@
|
|||
|
||||
with Ada.Text_IO;
|
||||
with Interfaces.C;
|
||||
with Epoll;
|
||||
|
||||
use Ada.Text_IO;
|
||||
|
||||
procedure Epoll.Test is
|
||||
Test_Failed : exception;
|
||||
|
||||
procedure Start (Name : in String) is
|
||||
begin
|
||||
Put (">> Starting test: " & Name);
|
||||
end Start;
|
||||
|
||||
procedure Failed is
|
||||
begin
|
||||
raise Test_Failed;
|
||||
end Failed;
|
||||
|
||||
procedure Passed is
|
||||
begin
|
||||
Put_Line (" ..Passed");
|
||||
end Passed;
|
||||
|
||||
function Fd_Of_One return Epoll_Data;
|
||||
pragma Import (C, Fd_Of_One, "fd_of_one");
|
||||
begin
|
||||
Put_Line(">>> Starting tests of epoll_data");
|
||||
New_Line;
|
||||
|
||||
Start ("Fd_Test");
|
||||
Fd_Test:
|
||||
declare
|
||||
Data : Epoll_Data := Fd_Of_One;
|
||||
begin
|
||||
if Data.Fd /= 1 then
|
||||
Failed;
|
||||
end if;
|
||||
end Fd_Test;
|
||||
Passed;
|
||||
|
||||
end Epoll.Test;
|
|
@ -0,0 +1,10 @@
|
|||
|
||||
|
||||
#include <sys/epoll.h>
|
||||
|
||||
epoll_data_t fd_of_one() {
|
||||
epoll_data_t rc;
|
||||
rc.fd = 1;
|
||||
return rc;
|
||||
}
|
||||
|
|
@ -0,0 +1,15 @@
|
|||
with "../../epoll.gpr";
|
||||
|
||||
project Test is
|
||||
for Languages use ("C", "Ada");
|
||||
for Source_Dirs use (".");
|
||||
for Object_Dir use "build";
|
||||
for Exec_Dir use ".";
|
||||
for Main use ("epoll-test.adb");
|
||||
|
||||
package Compiler is
|
||||
for Default_Switches("ada") use
|
||||
("-O2", "-gnat05");
|
||||
end Compiler;
|
||||
end Test;
|
||||
|
Loading…
Reference in New Issue