Skip to content

Commit

Permalink
Merge pull request #544 from nasa/issue-541-sm-tests
Browse files Browse the repository at this point in the history
Add unit tests for state machine semantics
  • Loading branch information
bocchino authored Dec 5, 2024
2 parents 995653e + 846aa09 commit a9ddfba
Show file tree
Hide file tree
Showing 9 changed files with 49 additions and 4 deletions.
11 changes: 11 additions & 0 deletions compiler/tools/fpp-depend/test/def_state_machine.fpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
locate type A at "A.fpp"
locate type G at "G.fpp"
locate constant s at "s.fpp"

state machine M {

action a: A
guard g: G
signal s: string size s

}
3 changes: 3 additions & 0 deletions compiler/tools/fpp-depend/test/def_state_machine.ref.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[ local path prefix ]/compiler/tools/fpp-depend/test/A.fpp
[ local path prefix ]/compiler/tools/fpp-depend/test/G.fpp
[ local path prefix ]/compiler/tools/fpp-depend/test/s.fpp
1 change: 1 addition & 0 deletions compiler/tools/fpp-depend/test/tests.sh
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ def_component_instance
def_constant
def_enum
def_port
def_state_machine
def_struct
direct
enum_constant
Expand Down
8 changes: 4 additions & 4 deletions compiler/tools/fpp-depend/test/update-ref
Original file line number Diff line number Diff line change
Expand Up @@ -44,22 +44,22 @@ direct() {

filenames() {
update '-g filenames_generated_output.ref.txt -u filenames_ut_output.ref.txt' \
filenames
../../fpp-filenames/test/ok filenames
}

filenames_auto() {
update '-a -g filenames_auto_generated_output.ref.txt -u filenames_auto_ut_output.ref.txt' \
filenames
../../fpp-filenames/test/ok filenames
}

filenames_include() {
update '-g filenames_include_generated_output.ref.txt -u filenames_include_ut_output.ref.txt' \
filenames_include
../../fpp-filenames/test/include filenames_include
}

filenames_include_auto() {
update '-a -g filenames_include_auto_generated_output.ref.txt -u filenames_include_auto_ut_output.ref.txt' \
filenames_include
../../fpp-filenames/test/include filenames_include
}

framework() {
Expand Down
5 changes: 5 additions & 0 deletions compiler/tools/fpp-locate-uses/test/defs.fpp
Original file line number Diff line number Diff line change
Expand Up @@ -83,3 +83,8 @@ constant record_id = 0
constant container_id = 0
constant container_priority = 0
constant product_recv_priority = 0

type ActionType
type GuardType
type SignalType
constant SignalConstant = 10
4 changes: 4 additions & 0 deletions compiler/tools/fpp-locate-uses/test/stdin.ref.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ locate component C1 at "defs.fpp"
locate component M.C1 at "defs.fpp"
locate constant C1.a at "defs.fpp"
locate constant M.a at "defs.fpp"
locate constant SignalConstant at "defs.fpp"
locate constant a at "defs.fpp"
locate constant base_id_def at "defs.fpp"
locate constant container_id at "defs.fpp"
Expand Down Expand Up @@ -34,16 +35,19 @@ locate state machine S at "defs.fpp"
locate topology M.T1 at "defs.fpp"
locate topology T1 at "defs.fpp"
locate type A at "defs.fpp"
locate type ActionType at "defs.fpp"
locate type C1.A at "defs.fpp"
locate type C1.E at "defs.fpp"
locate type C1.S at "defs.fpp"
locate type C1.T at "defs.fpp"
locate type E at "defs.fpp"
locate type GuardType at "defs.fpp"
locate type M.A at "defs.fpp"
locate type M.E at "defs.fpp"
locate type M.S at "defs.fpp"
locate type M.T at "defs.fpp"
locate type Phases at "defs.fpp"
locate type RecordType at "defs.fpp"
locate type S at "defs.fpp"
locate type SignalType at "defs.fpp"
locate type T at "defs.fpp"
4 changes: 4 additions & 0 deletions compiler/tools/fpp-locate-uses/test/uses.ref.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ locate component C1 at "defs.fpp"
locate component M.C1 at "defs.fpp"
locate constant C1.a at "defs.fpp"
locate constant M.a at "defs.fpp"
locate constant SignalConstant at "defs.fpp"
locate constant a at "defs.fpp"
locate constant base_id_def at "defs.fpp"
locate constant container_id at "defs.fpp"
Expand Down Expand Up @@ -34,16 +35,19 @@ locate state machine S at "defs.fpp"
locate topology M.T1 at "defs.fpp"
locate topology T1 at "defs.fpp"
locate type A at "defs.fpp"
locate type ActionType at "defs.fpp"
locate type C1.A at "defs.fpp"
locate type C1.E at "defs.fpp"
locate type C1.S at "defs.fpp"
locate type C1.T at "defs.fpp"
locate type E at "defs.fpp"
locate type GuardType at "defs.fpp"
locate type M.A at "defs.fpp"
locate type M.E at "defs.fpp"
locate type M.S at "defs.fpp"
locate type M.T at "defs.fpp"
locate type Phases at "defs.fpp"
locate type RecordType at "defs.fpp"
locate type S at "defs.fpp"
locate type SignalType at "defs.fpp"
locate type T at "defs.fpp"
13 changes: 13 additions & 0 deletions compiler/tools/fpp-locate-uses/test/uses/uses.fpp
Original file line number Diff line number Diff line change
Expand Up @@ -74,3 +74,16 @@ module M {
}

}

state machine SM {

action a: ActionType
guard g: GuardType
signal s1: SignalType
signal s2: string size SignalConstant

initial enter S

state S

}
4 changes: 4 additions & 0 deletions compiler/tools/fpp-locate-uses/test/uses_dir.ref.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ locate component C1 at "../defs.fpp"
locate component M.C1 at "../defs.fpp"
locate constant C1.a at "../defs.fpp"
locate constant M.a at "../defs.fpp"
locate constant SignalConstant at "../defs.fpp"
locate constant a at "../defs.fpp"
locate constant base_id_def at "../defs.fpp"
locate constant container_id at "../defs.fpp"
Expand Down Expand Up @@ -34,16 +35,19 @@ locate state machine S at "../defs.fpp"
locate topology M.T1 at "../defs.fpp"
locate topology T1 at "../defs.fpp"
locate type A at "../defs.fpp"
locate type ActionType at "../defs.fpp"
locate type C1.A at "../defs.fpp"
locate type C1.E at "../defs.fpp"
locate type C1.S at "../defs.fpp"
locate type C1.T at "../defs.fpp"
locate type E at "../defs.fpp"
locate type GuardType at "../defs.fpp"
locate type M.A at "../defs.fpp"
locate type M.E at "../defs.fpp"
locate type M.S at "../defs.fpp"
locate type M.T at "../defs.fpp"
locate type Phases at "../defs.fpp"
locate type RecordType at "../defs.fpp"
locate type S at "../defs.fpp"
locate type SignalType at "../defs.fpp"
locate type T at "../defs.fpp"

0 comments on commit a9ddfba

Please sign in to comment.