Skip to content

Commit

Permalink
Merge pull request #292 from jwillemsen/jwi-bitset
Browse files Browse the repository at this point in the history
Initial test for bitset
  • Loading branch information
jwillemsen authored Jul 18, 2023
2 parents c126dfb + 3c78f38 commit 8de83d5
Show file tree
Hide file tree
Showing 7 changed files with 161 additions and 0 deletions.
2 changes: 2 additions & 0 deletions bin/taox11_tests.lst
Original file line number Diff line number Diff line change
Expand Up @@ -74,6 +74,8 @@ tests/hello/run_cross_tao_server.pl:
tests/hello/run_test.pl:
tests/hello_regen/run_test.pl:
tests/idl_test/run_test.pl: !CORBA_E_MICRO
tests/idl4/bitset/run_test.pl:
tests/idl4/bitset/run_illegal_idl3_test.pl:
tests/idl4/bitmask/run_test.pl:
tests/idl4/bitmask/run_illegal_idl3_test.pl:
tests/idl4/explicit_ints/run_test.pl:
Expand Down
2 changes: 2 additions & 0 deletions ridlbe/base/writerbase.rb
Original file line number Diff line number Diff line change
Expand Up @@ -530,6 +530,8 @@ def visit_enum(node); end

def visit_enumerator(node); end

def visit_bitset(node); end

def visit_bitmask(node); end

def visit_bitvalue(node); end
Expand Down
16 changes: 16 additions & 0 deletions tests/idl4/bitset/client.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
/**
* @file client.cpp
* @author Johnny Willemsen
*
* @brief CORBA C++11 client application
*
* @copyright Copyright (c) Remedy IT Expertise BV
*/

#include "testC.h"

int main (int /*argc*/, char* /*argv*/[])
{
// Just compilation test
return 0;
}
69 changes: 69 additions & 0 deletions tests/idl4/bitset/run_illegal_idl3_test.pl
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
#---------------------------------------------------------------------
# @file run_illegal_idl3_test.pl
# @author Mark Drijver
#
# @copyright Copyright (c) Remedy IT Expertise BV
#---------------------------------------------------------------------
eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}'
& eval 'exec perl -S $0 $argv:q'
if 0;

print "IDL test\n";

use lib "$ENV{ACE_ROOT}/bin";
use PerlACE::TestTarget;
use File::Spec;

my $status =0;
my $server = PerlACE::TestTarget::create_target(2) || die "Create target 2 failed\n";

# The location of the ridl utility
my $ridl = "$ENV{X11_BASE_ROOT}/bin/ridlc";

unless (-e $ridl) {
die "ERROR: Cannot find " . $ridl;
}

opendir(DIRH, ".") or die "Could not open dir. $!";
@files = grep(/\.idl$/,readdir(DIRH));
foreach (sort(@files)){
print "Testing ", $_, ": ";
my $input_file = $_;

#Redirect the screen output to the null device.
open (OLDOUT, ">&STDOUT");
# open (STDOUT, ">" . File::Spec->devnull());
open (STDOUT, ">" . output);
open (OLDERR, ">&STDERR");
open (STDERR, ">&STDOUT");

# Compile the IDL
system ("$ridl", "$input_file");

#Redirect the null device output back to the screen
open (STDOUT, ">&OLDOUT");
open (STDERR, ">&OLDERR");

$found = 0;
open FILE, "<output";
while (my $line = <FILE>)
{
#print $line;
if ($line =~ "IDL::Parse")
{
$found = 1;
close FILE;
last;
}
}
#print "\nFound: " . $found;
if ($found>0) {
print "parsing failed as expected.\n";
} else {
print STDERR "ERROR: Unable to detect expected ridlc error.\n";
$status = 1;
}

}

exit $status;
31 changes: 31 additions & 0 deletions tests/idl4/bitset/run_test.pl
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
#---------------------------------------------------------------------
# @file run_test.pl
# @author Marcel Smit
#
# @copyright Copyright (c) Remedy IT Expertise BV
#---------------------------------------------------------------------
eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}'
& eval 'exec perl -S $0 $argv:q'
if 0;

# -*- perl -*-

use lib "$ENV{ACE_ROOT}/bin";
use PerlACE::TestTarget;

my $target = PerlACE::TestTarget::create_target(2) || die "Create target 2 failed\n";

$status = 0;

$SV = $target->CreateProcess ("client");

$server = $SV->SpawnWaitKill ($target->ProcessStartWaitInterval());

if ($server != 0) {
print STDERR "ERROR: const returned $server\n";
$status = 1;
}

$target->GetStderrLog();

exit $status;
21 changes: 21 additions & 0 deletions tests/idl4/bitset/test.idl
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
/**
* @file test.idl
* @author Johnny Willemsen
*
* @copyright Copyright (c) Remedy IT Expertise BV
*/

bitset MyBitset {
bitfield<3> a;
bitfield<12, short> d;
};

bitset MyBitset2 : MyBitset {
bitfield<3> c;
bitfield<3>;
};

bitset MyBitset3 : MyBitset2 {
bitfield<3, int8> e;
bitfield<3, int8>;
};
20 changes: 20 additions & 0 deletions tests/idl4/bitset/test.mpc
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
// -*- MPC -*-

project(*bitset_gen_idl): ridl_ostream_defaults {
IDL_Files {
test.idl
idlflags += --idl-version=4
}
custom_only = 1
}

project(*bitset_client): taox11_client {
after += *bitset_gen_idl
Source_Files {
client.cpp
}
Source_Files {
testC.cpp
}
}

0 comments on commit 8de83d5

Please sign in to comment.