Add some test scaffolding for verifying my assumptions while interfacing with C

This commit is contained in:
R. Tyler Croy 2011-02-12 13:22:15 -08:00
parent 21dda16b30
commit 354a63c937
4 changed files with 81 additions and 0 deletions

13
tests/epoll_data/Makefile Normal file
View File

@ -0,0 +1,13 @@
all: pre
gprbuild -P test.gpr
run: all
./epoll-test
clean: pre
gprclean -P test.gpr
pre:
mkdir -p build

View File

@ -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;

10
tests/epoll_data/test.c Normal file
View File

@ -0,0 +1,10 @@
#include <sys/epoll.h>
epoll_data_t fd_of_one() {
epoll_data_t rc;
rc.fd = 1;
return rc;
}

15
tests/epoll_data/test.gpr Normal file
View File

@ -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;