Skip to content

Commit

Permalink
job: #589 Committing test model after using it for testing and tweaki…
Browse files Browse the repository at this point in the history
…ng it a bit. This model is good for testing strings and for testing multi-tasking/threading.
  • Loading branch information
cortlandstarrett committed Jan 17, 2015
1 parent 8bce89d commit 0b72fd6
Show file tree
Hide file tree
Showing 69 changed files with 185 additions and 6,556 deletions.
6 changes: 0 additions & 6 deletions VandMC_testing/mctest/string_return_test/.cproject
Original file line number Diff line number Diff line change
Expand Up @@ -44,9 +44,6 @@
</tool>
</toolChain>
</folderInfo>
<sourceEntries>
<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="src"/>
</sourceEntries>
</configuration>
</storageModule>
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
Expand Down Expand Up @@ -92,9 +89,6 @@
</tool>
</toolChain>
</folderInfo>
<sourceEntries>
<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="src"/>
</sourceEntries>
</configuration>
</storageModule>
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,15 +1,14 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<launchConfiguration type="org.eclipse.ui.externaltools.ProgramBuilderLaunchConfigurationType">
<?xml version="1.0" encoding="UTF-8" standalone="no"?><launchConfiguration type="org.eclipse.ui.externaltools.ProgramBuilderLaunchConfigurationType">
<stringAttribute key="org.eclipse.debug.core.ATTR_REFRESH_SCOPE" value="${container}"/>
<booleanAttribute key="org.eclipse.debug.core.appendEnvironmentVariables" value="true"/>
<mapAttribute key="org.eclipse.debug.core.environmentVariables">
<mapEntry key="" value="Console"/>
</mapAttribute>
<booleanAttribute key="org.eclipse.debug.ui.ATTR_LAUNCH_IN_BACKGROUND" value="false"/>
<booleanAttribute key="org.eclipse.ui.externaltools.ATTR_BUILDER_ENABLED" value="true"/>
<stringAttribute key="org.eclipse.ui.externaltools.ATTR_LOCATION" value="/media/psf/Home/bpu/bp/eclipse_extensions/BridgePoint/eclipse/plugins/com.mentor.nucleus.bp.mc.c.binary_4.2.0/mc3020/bin/xtumlmc_build.exe"/>
<stringAttribute key="org.eclipse.ui.externaltools.ATTR_LOCATION" value="/media/psf/Home/bpu/bp/eclipse_extensions/BridgePoint/eclipse/plugins/com.mentor.nucleus.bp.mc.c.source_4.2.0/mc3020/bin/xtumlmc_build.exe"/>
<stringAttribute key="org.eclipse.ui.externaltools.ATTR_RUN_BUILD_KINDS" value="full,incremental,"/>
<stringAttribute key="org.eclipse.ui.externaltools.ATTR_TOOL_ARGUMENTS" value=" -home &quot;/media/psf/Home/bpu/bp/eclipse_extensions/BridgePoint/eclipse/plugins/com.mentor.nucleus.bp.mc.c.binary_4.2.0/&quot; -l3b -e -d code_generation -O ../../src/"/>
<stringAttribute key="org.eclipse.ui.externaltools.ATTR_TOOL_ARGUMENTS" value=" -home &quot;/media/psf/Home/bpu/bp/eclipse_extensions/BridgePoint/eclipse/plugins/com.mentor.nucleus.bp.mc.c.source_4.2.0/&quot; -l3s -e -d code_generation -O ../../src/"/>
<booleanAttribute key="org.eclipse.ui.externaltools.ATTR_TRIGGERS_CONFIGURED" value="true"/>
<stringAttribute key="org.eclipse.ui.externaltools.ATTR_WORKING_DIRECTORY" value="${build_project}/gen"/>
</launchConfiguration>
</launchConfiguration>
5 changes: 2 additions & 3 deletions VandMC_testing/mctest/string_return_test/.project
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,12 @@
</projects>
<buildSpec>
<buildCommand>
<name>com.mentor.nucleus.bp.mc.c.binary.export_builder</name>
<name>com.mentor.nucleus.bp.mc.c.source.export_builder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.ui.externaltools.ExternalToolBuilder</name>
<triggers>full,incremental,</triggers>
<arguments>
<dictionary>
<key>LaunchConfigHandle</key>
Expand Down Expand Up @@ -43,10 +42,10 @@
</buildSpec>
<natures>
<nature>com.mentor.nucleus.bp.core.xtumlnature</nature>
<nature>com.mentor.nucleus.bp.mc.c.binary.MCNature</nature>
<nature>org.eclipse.cdt.core.cnature</nature>
<nature>org.eclipse.cdt.core.ccnature</nature>
<nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
<nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>
<nature>com.mentor.nucleus.bp.mc.c.source.MCNature</nature>
</natures>
</projectDescription>
11 changes: 6 additions & 5 deletions VandMC_testing/mctest/string_return_test/gen/domain.mark
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
.invoke TagMaximumStringLength( 250 )
.invoke MarkInitializationFunction( "stringtest", "init" )
.invoke MarkStateTransitionTracingOn( "*" )
.//.invoke MarkActionStatementTracingOn( "*" )
.invoke MarkEmptyHandleDetectionOn( "*" )
.invoke TagMaximumStringLength( 250 )
.invoke MarkInitializationFunction( "stringtest", "init" )
.invoke MarkStateTransitionTracingOn( "*" )
.//.invoke MarkActionStatementTracingOn( "*" )
.invoke MarkEmptyHandleDetectionOn( "*" )
.//
Original file line number Diff line number Diff line change
Expand Up @@ -184,7 +184,7 @@ INSERT INTO S_BRG
'',
0,
"ba5eda7a-def5-0000-0000-000000000000",
'',
'return;',
1,
'');
INSERT INTO S_BPARM
Expand Down Expand Up @@ -414,7 +414,7 @@ INSERT INTO S_BRG
'',
1,
"ba5eda7a-def5-0000-0000-000000000002",
'',
'return 0;',
1,
'');
INSERT INTO S_BPARM
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ if ( s1 == s2 )
count = count - 1;
ss1 = s1;
ss2 = s2;
c = buffer::twist( s1:jstr1, s2:ss2, s3:sum, s4:ss1 );
c = buffer::twist( s1:jstr1, s2:ss2, s3:sum, s4:buffer::justone( one:ss1,two:ss2 ) );
end while;
return c;
else
Expand Down Expand Up @@ -66,6 +66,7 @@ INSERT INTO O_TFR
a = s1 + s2;
b = s3 + s4;
c = a + b;
//LOG::LogInfo( message:buffer::simple() );
return s4;',
1,
'',
Expand Down Expand Up @@ -106,6 +107,46 @@ INSERT INTO O_TPARM
'',
"5e057ea7-3e2d-4745-a862-216a67ff88b2",
'');
INSERT INTO O_TFR
VALUES ("888cc0ef-dfcc-4955-b78b-c4988cd3326c",
"ad7bde67-c984-44e4-9a4b-9656b30a88be",
'simple',
'',
"ba5eda7a-def5-0000-0000-000000000004",
0,
'return "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";',
1,
'',
"ae57f5c4-7345-4cbb-9347-07f390179995");
INSERT INTO O_TFR
VALUES ("7daec356-fdbb-45cb-b22b-dcc549e855b0",
"ad7bde67-c984-44e4-9a4b-9656b30a88be",
'justone',
'',
"ba5eda7a-def5-0000-0000-000000000004",
0,
'return param.one;',
1,
'',
"888cc0ef-dfcc-4955-b78b-c4988cd3326c");
INSERT INTO O_TPARM
VALUES ("fd76d66a-c81c-4f26-b09a-d5b1807c9d0b",
"7daec356-fdbb-45cb-b22b-dcc549e855b0",
'one',
"ba5eda7a-def5-0000-0000-000000000004",
0,
'',
"00000000-0000-0000-0000-000000000000",
'');
INSERT INTO O_TPARM
VALUES ("5f06bd90-152f-4b27-b277-a7eb7b6d08fc",
"7daec356-fdbb-45cb-b22b-dcc549e855b0",
'two',
"ba5eda7a-def5-0000-0000-000000000004",
0,
'',
"fd76d66a-c81c-4f26-b09a-d5b1807c9d0b",
'');
INSERT INTO O_NBATTR
VALUES ("879907b8-a0c3-4d6d-b737-a554bc320f09",
"ad7bde67-c984-44e4-9a4b-9656b30a88be");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -819,6 +819,7 @@ generate spin1( spun:spun2 ) to spin1;
generate spun1( spin:spin1 ) to spun2;

LOG::LogInfo( message:"done with init" );

',
"ba5eda7a-def5-0000-0000-000000000000",
1,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
* Model Compiler Product Information:
* Product:
* System default/colored values:
* MaxStringLen: 250
* MaxStringLen: 32
* MaxObjExtent: 0
* MaxRelExtent: 0
* MaxSelectExtent: 0
Expand Down Expand Up @@ -75,7 +75,7 @@ typedef unsigned char bool;
#define FALSE ( (bool) 0 )
#define TRUE ( (bool) (!FALSE) )

#define ESCHER_SYS_MAX_STRING_LEN 250
#define ESCHER_SYS_MAX_STRING_LEN 32
#define ESCHER_PERSIST_INST_CACHE_DEPTH 128
#define ESCHER_PERSIST_LINK_CACHE_DEPTH 128
#define ESCHER_SYS_MAX_ASSOCIATION_EXTENT 0
Expand Down Expand Up @@ -108,6 +108,7 @@ typedef double r_t;
typedef float r4_t;
typedef double r8_t;
typedef /*size_t*/ u4_t Escher_size_t;
typedef struct { char s[ ESCHER_SYS_MAX_STRING_LEN ]; } xtuml_string;

/*
* These are some of the fundamental types used universally.
Expand Down
6 changes: 3 additions & 3 deletions VandMC_testing/mctest/string_return_test/src/stringtest.c
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ stringtest_INSTR_start()
void
stringtest_init()
{
stringtest_spun * spun2;stringtest_spin * spin1;stringtest_pong * p2;stringtest_ping * p1;stringtest_buffer * b;stringtest_device * d;stringtest_host * h;
stringtest_host * h;stringtest_device * d;stringtest_buffer * b;stringtest_ping * p1;stringtest_pong * p2;stringtest_spin * spin1;stringtest_spun * spun2;
/* LOG::LogInfo( message:starting init ) */
LOG_LogInfo( "starting init" );
/* CREATE OBJECT INSTANCE h OF host */
Expand All @@ -50,9 +50,9 @@ stringtest_init()
/* ASSIGN b.cache = ABCDEFGHIJKLMNOPQRSTUVWXYZ ABCDEFGHIJKLMNOPQRSTUVWXYZ ABCDEFGHIJKLMNOPQRSTUVWXYZ ABCDEFGHIJKLMNOPQRSTUVWXYZ ABCDEFGHIJKLMNOPQRSTUVWXYZ ABCDEFGHIJKLMNOPQRSTUVWXYZ ABCDEFGHIJKLMNOPQRSTUVWXYZ ABCDEFGHIJKLMNOPQRSTUVWXYZ ABCDEFGHIJKLMNOPQRSTUVWXYZ */
Escher_strcpy( b->cache, "ABCDEFGHIJKLMNOPQRSTUVWXYZ ABCDEFGHIJKLMNOPQRSTUVWXYZ ABCDEFGHIJKLMNOPQRSTUVWXYZ ABCDEFGHIJKLMNOPQRSTUVWXYZ ABCDEFGHIJKLMNOPQRSTUVWXYZ ABCDEFGHIJKLMNOPQRSTUVWXYZ ABCDEFGHIJKLMNOPQRSTUVWXYZ ABCDEFGHIJKLMNOPQRSTUVWXYZ ABCDEFGHIJKLMNOPQRSTUVWXYZ" );
/* RELATE h TO b ACROSS R1 */
stringtest_buffer_R1_Link( h, b );
stringtest_host_R1_Link( b, h );
/* RELATE d TO b ACROSS R2 */
stringtest_buffer_R2_Link( d, b );
stringtest_device_R2_Link( b, d );
/* GENERATE host1:get(s:d.lower, d:d) TO h */
{ stringtest_hostevent1 * e = (stringtest_hostevent1 *) Escher_NewxtUMLEvent( h, &stringtest_hostevent1c );
Escher_strcpy( e->p_s, d->lower ); e->p_d = d;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,10 +14,10 @@
/*
* class operation: scmp
*/
c_t *
xtuml_string
stringtest_buffer_op_scmp( c_t p_s1[ESCHER_SYS_MAX_STRING_LEN], c_t p_s2[ESCHER_SYS_MAX_STRING_LEN] )
{
c_t s2[ESCHER_SYS_MAX_STRING_LEN];c_t s1[ESCHER_SYS_MAX_STRING_LEN];c_t sum[ESCHER_SYS_MAX_STRING_LEN];c_t jstr2[ESCHER_SYS_MAX_STRING_LEN];c_t jstr1[ESCHER_SYS_MAX_STRING_LEN];
c_t jstr1[ESCHER_SYS_MAX_STRING_LEN];c_t jstr2[ESCHER_SYS_MAX_STRING_LEN];c_t sum[ESCHER_SYS_MAX_STRING_LEN];c_t s1[ESCHER_SYS_MAX_STRING_LEN];c_t s2[ESCHER_SYS_MAX_STRING_LEN];
/* ASSIGN jstr1 = hello */
Escher_strcpy( jstr1, "hello" );
/* ASSIGN jstr2 = world */
Expand All @@ -30,25 +30,26 @@ stringtest_buffer_op_scmp( c_t p_s1[ESCHER_SYS_MAX_STRING_LEN], c_t p_s2[ESCHER_
Escher_strcpy( s2, p_s2 );
/* IF ( ( s1 == s2 ) ) */
if ( ( Escher_strcmp( s1, s2 ) == 0 ) ) {
i_t count;c_t c[ESCHER_SYS_MAX_STRING_LEN];
c_t c[ESCHER_SYS_MAX_STRING_LEN];i_t count;
/* ASSIGN c = */
Escher_strcpy( c, "" );
/* ASSIGN count = 2000 */
count = 2000;
/* WHILE ( ( count > 0 ) ) */
while ( ( count > 0 ) ) {
c_t ss2[ESCHER_SYS_MAX_STRING_LEN];c_t ss1[ESCHER_SYS_MAX_STRING_LEN];
c_t ss1[ESCHER_SYS_MAX_STRING_LEN];c_t ss2[ESCHER_SYS_MAX_STRING_LEN];
/* ASSIGN count = ( count - 1 ) */
count = ( count - 1 );
/* ASSIGN ss1 = s1 */
Escher_strcpy( ss1, s1 );
/* ASSIGN ss2 = s2 */
Escher_strcpy( ss2, s2 );
/* ASSIGN c = buffer::twist(s1:jstr1, s2:ss2, s3:sum, s4:ss1) */
Escher_strcpy2( c, stringtest_buffer_op_twist(jstr1, ss2, sum, ss1) );
/* ASSIGN c = buffer::twist(s1:jstr1, s2:ss2, s3:sum, s4:) */
Escher_strcpy( c, stringtest_buffer_op_twist(jstr1, ss2, sum, stringtest_buffer_op_justone(ss1, ss2).s).s );
}
/* RETURN c */
{c_t * xtumlOALrv = c;
{xtuml_string xtumlOALrv;
Escher_strcpy( xtumlOALrv.s, c );
return xtumlOALrv;}
}
else {
Expand All @@ -58,7 +59,8 @@ stringtest_buffer_op_scmp( c_t p_s1[ESCHER_SYS_MAX_STRING_LEN], c_t p_s2[ESCHER_
while ( TRUE ) {
}
/* RETURN junk */
{c_t * xtumlOALrv = "junk";
{xtuml_string xtumlOALrv;
Escher_strcpy( xtumlOALrv.s, "junk" );
return xtumlOALrv;}
}

Expand All @@ -67,10 +69,10 @@ stringtest_buffer_op_scmp( c_t p_s1[ESCHER_SYS_MAX_STRING_LEN], c_t p_s2[ESCHER_
/*
* class operation: twist
*/
c_t *
xtuml_string
stringtest_buffer_op_twist( c_t p_s1[ESCHER_SYS_MAX_STRING_LEN], c_t p_s2[ESCHER_SYS_MAX_STRING_LEN], c_t p_s3[ESCHER_SYS_MAX_STRING_LEN], c_t p_s4[ESCHER_SYS_MAX_STRING_LEN] )
{
c_t c[ESCHER_SYS_MAX_STRING_LEN];c_t b[ESCHER_SYS_MAX_STRING_LEN];c_t a[ESCHER_SYS_MAX_STRING_LEN];c_t s4[ESCHER_SYS_MAX_STRING_LEN];c_t s3[ESCHER_SYS_MAX_STRING_LEN];c_t s2[ESCHER_SYS_MAX_STRING_LEN];c_t s1[ESCHER_SYS_MAX_STRING_LEN];
c_t s1[ESCHER_SYS_MAX_STRING_LEN];c_t s2[ESCHER_SYS_MAX_STRING_LEN];c_t s3[ESCHER_SYS_MAX_STRING_LEN];c_t s4[ESCHER_SYS_MAX_STRING_LEN];c_t a[ESCHER_SYS_MAX_STRING_LEN];c_t b[ESCHER_SYS_MAX_STRING_LEN];c_t c[ESCHER_SYS_MAX_STRING_LEN];
/* ASSIGN s1 = PARAM.s1 */
Escher_strcpy( s1, p_s1 );
/* ASSIGN s2 = PARAM.s2 */
Expand All @@ -86,41 +88,40 @@ stringtest_buffer_op_twist( c_t p_s1[ESCHER_SYS_MAX_STRING_LEN], c_t p_s2[ESCHER
/* ASSIGN c = ( a + b ) */
Escher_strcpy( c, Escher_stradd( a, b ) );
/* RETURN s4 */
{c_t * xtumlOALrv = s4;
{xtuml_string xtumlOALrv;
Escher_strcpy( xtumlOALrv.s, s4 );
return xtumlOALrv;}

}


/*
* RELATE host TO buffer ACROSS R1
* class operation: simple
*/
void
stringtest_buffer_R1_Link( stringtest_host * part, stringtest_buffer * form )
xtuml_string
stringtest_buffer_op_simple()
{
if ( (part == 0) || (form == 0) ) {
XTUML_EMPTY_HANDLE_TRACE( "buffer", "stringtest_buffer_R1_Link" );
return;
}
/* Note: buffer->host[R1] not navigated */
/* Note: host->buffer[R1] not navigated */
/* RETURN XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX */
{xtuml_string xtumlOALrv;
Escher_strcpy( xtumlOALrv.s, "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" );
return xtumlOALrv;}

}

/*
* RELATE device TO buffer ACROSS R2
* class operation: justone
*/
void
stringtest_buffer_R2_Link( stringtest_device * part, stringtest_buffer * form )
xtuml_string
stringtest_buffer_op_justone( c_t p_one[ESCHER_SYS_MAX_STRING_LEN], c_t p_two[ESCHER_SYS_MAX_STRING_LEN] )
{
if ( (part == 0) || (form == 0) ) {
XTUML_EMPTY_HANDLE_TRACE( "buffer", "stringtest_buffer_R2_Link" );
return;
}
/* Note: buffer->device[R2] not navigated */
/* Note: device->buffer[R2] not navigated */
/* RETURN PARAM.one */
{xtuml_string xtumlOALrv;
Escher_strcpy( xtumlOALrv.s, p_one );
return xtumlOALrv;}

}



/*----------------------------------------------------------------------------
* Operation action methods implementation for the following class:
*
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,13 +27,11 @@ struct stringtest_buffer {
/* Note: No storage needed for buffer->host[R1] */
/* Note: No storage needed for buffer->device[R2] */
};
c_t * stringtest_buffer_op_scmp( c_t[ESCHER_SYS_MAX_STRING_LEN], c_t[ESCHER_SYS_MAX_STRING_LEN] );
c_t * stringtest_buffer_op_twist( c_t[ESCHER_SYS_MAX_STRING_LEN], c_t[ESCHER_SYS_MAX_STRING_LEN], c_t[ESCHER_SYS_MAX_STRING_LEN], c_t[ESCHER_SYS_MAX_STRING_LEN] );
xtuml_string stringtest_buffer_op_scmp( c_t[ESCHER_SYS_MAX_STRING_LEN], c_t[ESCHER_SYS_MAX_STRING_LEN] );
xtuml_string stringtest_buffer_op_twist( c_t[ESCHER_SYS_MAX_STRING_LEN], c_t[ESCHER_SYS_MAX_STRING_LEN], c_t[ESCHER_SYS_MAX_STRING_LEN], c_t[ESCHER_SYS_MAX_STRING_LEN] );
xtuml_string stringtest_buffer_op_simple( void );
xtuml_string stringtest_buffer_op_justone( c_t[ESCHER_SYS_MAX_STRING_LEN], c_t[ESCHER_SYS_MAX_STRING_LEN] );

void stringtest_buffer_R1_Link( stringtest_host *, stringtest_buffer * );
/* Note: host<-R1->buffer unrelate accessor not needed */
void stringtest_buffer_R2_Link( stringtest_device *, stringtest_buffer * );
/* Note: device<-R2->buffer unrelate accessor not needed */


#define stringtest_buffer_MAX_EXTENT_SIZE 10
Expand Down
Loading

0 comments on commit 0b72fd6

Please sign in to comment.