Skip to content

Commit

Permalink
fix json output and add some integration tests
Browse files Browse the repository at this point in the history
  • Loading branch information
Jérôme FERET committed Mar 27, 2024
1 parent c730282 commit 735f53f
Show file tree
Hide file tree
Showing 6 changed files with 44 additions and 35 deletions.
4 changes: 2 additions & 2 deletions core/siteGraphs/signature.ml
Original file line number Diff line number Diff line change
Expand Up @@ -90,15 +90,15 @@ let one_to_json =
:: acc)
links []))
signature.links );
( "counter_info",
( "counters_info",
JsonUtil.of_option
(fun c -> `Assoc [ "min", JsonUtil.of_option (fun x -> `Int x) c.counter_info_min; "max", JsonUtil.of_option (fun x -> `Int x) c.counter_info_max; "default", `Int c.counter_default_value;])
signature.counters_info );
])

let one_of_json : Yojson.Basic.t -> bool array array site_sig NamedDecls.t =
NamedDecls.of_json (function
| `Assoc [ ("internal_state", a); ("links", b); ("counter_info", c) ] ->
| `Assoc [ ("internal_state", a); ("links", b); ("counters_info", c) ] ->
{
internal_state =
NamedDecls.of_json
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
%def: "outputFileName" "data.csv"


%agent: A(c{=0/+=7} c__inverted{=0/+=7})
%agent: A(c{=0/+=7} c__inverted{-=0/=7/+=7})
%agent: B()

%var:/*0*/ 'B' |B()|
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
_____(1)
A(c{=0} c__inverted{=0})+
A(c{=0} c__inverted{=7})+
_____(1)
A(c{>=0/+=1} c__inverted{>=1/+=-1})
_____(1)
Expand All @@ -8,10 +8,10 @@ _____(1)
A(c{>=8})
Environment:

%agent: A(c{=0/+=7} c__inverted{=0/+=7})
%agent: A(c{=0/+=7} c__inverted{-=0/=7/+=7})

%plot: [T]
A(c{=0} c__inverted{=0})+ @ 1
A(c{=0} c__inverted{=7})+ @ 1
A(c{>=0/+=1} c__inverted{>=1/+=-1}) @ 1

/*0*/%mod: (|A(c__inverted{=8})| = 1) do $PRINTF ""; $PRINTF "Counter c__inverted of agent A reached maximum"; $STOP "counter_perturbation.ka"; repeat [false]
Expand All @@ -22,7 +22,21 @@ Environment:
__counter_agent/*ν 1*/.a = A/*ν 0*/.c,
__counter_agent/*ν 1*/.b = ⊥, __counter_agent/*ν 2*/,
__counter_agent/*ν 2*/.a = A/*ν 0*/.c__inverted,
__counter_agent/*ν 2*/.b = ⊥
__counter_agent/*ν 3*/,
__counter_agent/*ν 3*/.a = __counter_agent/*ν 2*/.b,
__counter_agent/*ν 4*/,
__counter_agent/*ν 4*/.a = __counter_agent/*ν 3*/.b,
__counter_agent/*ν 5*/,
__counter_agent/*ν 5*/.a = __counter_agent/*ν 4*/.b,
__counter_agent/*ν 6*/,
__counter_agent/*ν 6*/.a = __counter_agent/*ν 5*/.b,
__counter_agent/*ν 7*/,
__counter_agent/*ν 7*/.a = __counter_agent/*ν 6*/.b,
__counter_agent/*ν 8*/,
__counter_agent/*ν 8*/.a = __counter_agent/*ν 7*/.b,
__counter_agent/*ν 9*/,
__counter_agent/*ν 9*/.a = __counter_agent/*ν 8*/.b,
__counter_agent/*ν 9*/.b = ⊥
@1
1: (ast: 2) 0: /*cc1*/ A/*1*/(c{=0} c__inverted{=1})
-- __counter_agent/*4*//*0*/.a = A/*1*//*0*/.c,
Expand Down
2 changes: 1 addition & 1 deletion tests/integration/compiler/site_mismatch/output/LOG.ref
Original file line number Diff line number Diff line change
Expand Up @@ -73,4 +73,4 @@ every agent may occur in the model
------------------------------------------------------------

Some exceptions have been raised
error: file_name: core/KaSa_rep/frontend/prepreprocess.ml; message: line 719, File "crash.ka", line 4, characters 5-69:: missaligned rule: the rule is ignored; exception:Exit
error: file_name: core/KaSa_rep/frontend/prepreprocess.ml; message: line 752, File "crash.ka", line 4, characters 5-69:: missaligned rule: the rule is ignored; exception:Exit
24 changes: 22 additions & 2 deletions tests/integration/simulation/counters_create/output/error.log.ref
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ Environment:
%plot: [T]
%plot: B

'tick' A(c[2] c__inverted[3])+, __counter_agent(a[2] b[.])+, __counter_agent(a[3] b[.])+ @ 1
'tick' A(c[2] c__inverted[3])+, __counter_agent(a[2] b[.])+, __counter_agent(a[3] b[4])+, __counter_agent(a[4] b[5])+, __counter_agent(a[5] b[6])+, __counter_agent(a[6] b[7])+, __counter_agent(a[7] b[8])+, __counter_agent(a[8] b[9])+, __counter_agent(a[9] b[10])+, __counter_agent(a[10] b[11])+, __counter_agent(a[11] b[12])+, __counter_agent(a[12] b[13])+, __counter_agent(a[13] b[.])+ @ 1
A(c[1/2] c__inverted[3/4]), __counter_agent(a[1/1]), __counter_agent(a[3] b[4])-, __counter_agent(a[4/4]), B()+, __counter_agent(a[2] b[1])+ @ 1

/*0*/%mod: (|A(c__inverted[1]), __counter_agent(a[1] b[2]), __counter_agent(a[2] b[3]), __counter_agent(a[3] b[4]), __counter_agent(a[4] b[5]), __counter_agent(a[5] b[6]), __counter_agent(a[6] b[7]), __counter_agent(a[7] b[8]), __counter_agent(a[8] b[9]), __counter_agent(a[9] b[10]), __counter_agent(a[10] b[11]), __counter_agent(a[11] b[12]), __counter_agent(a[12])| = 1) do $PRINTF ""; $PRINTF "Counter c__inverted of agent A reached maximum"; $STOP "counter_perturbation.ka"; repeat [false]
Expand All @@ -20,7 +20,27 @@ Environment:
__counter_agent/*ν 1*/.a = A/*ν 0*/.c,
__counter_agent/*ν 1*/.b = ⊥, __counter_agent/*ν 2*/,
__counter_agent/*ν 2*/.a = A/*ν 0*/.c__inverted,
__counter_agent/*ν 2*/.b = ⊥
__counter_agent/*ν 3*/,
__counter_agent/*ν 3*/.a = __counter_agent/*ν 2*/.b,
__counter_agent/*ν 4*/,
__counter_agent/*ν 4*/.a = __counter_agent/*ν 3*/.b,
__counter_agent/*ν 5*/,
__counter_agent/*ν 5*/.a = __counter_agent/*ν 4*/.b,
__counter_agent/*ν 6*/,
__counter_agent/*ν 6*/.a = __counter_agent/*ν 5*/.b,
__counter_agent/*ν 7*/,
__counter_agent/*ν 7*/.a = __counter_agent/*ν 6*/.b,
__counter_agent/*ν 8*/,
__counter_agent/*ν 8*/.a = __counter_agent/*ν 7*/.b,
__counter_agent/*ν 9*/,
__counter_agent/*ν 9*/.a = __counter_agent/*ν 8*/.b,
__counter_agent/*ν 10*/,
__counter_agent/*ν 10*/.a = __counter_agent/*ν 9*/.b,
__counter_agent/*ν 11*/,
__counter_agent/*ν 11*/.a = __counter_agent/*ν 10*/.b,
__counter_agent/*ν 12*/,
__counter_agent/*ν 12*/.a = __counter_agent/*ν 11*/.b,
__counter_agent/*ν 12*/.b = ⊥
@1
1: (ast: 2)
0: /*cc2*/ A/*2*/(c[1] c__inverted[2]),
Expand Down
25 changes: 0 additions & 25 deletions tests/integration/simulation/counters_create/output/inputs.ka.ref

This file was deleted.

0 comments on commit 735f53f

Please sign in to comment.