tests.hdl.dsl: add tests for mis-nested Switch/Case and FSM/State statements
This commit is contained in:
		
							parent
							
								
									7443f89200
								
							
						
					
					
						commit
						d09dedfb48
					
				|  | @ -504,6 +504,15 @@ class DSLTestCase(FHDLTestCase): | |||
|                 with m.If(self.s2): | ||||
|                     pass | ||||
| 
 | ||||
|     def test_Case_wrong_nested(self): | ||||
|         m = Module() | ||||
|         with m.Switch(self.s1): | ||||
|             with m.Case(0): | ||||
|                 with self.assertRaisesRegex(SyntaxError, | ||||
|                     r"^Case is not permitted outside of Switch$"): | ||||
|                     with m.Case(1): | ||||
|                         pass | ||||
| 
 | ||||
|     def test_FSM_basic(self): | ||||
|         a = Signal() | ||||
|         b = Signal() | ||||
|  | @ -660,6 +669,23 @@ class DSLTestCase(FHDLTestCase): | |||
|                 with m.If(self.s2): | ||||
|                     pass | ||||
| 
 | ||||
|     def test_State_outside_FSM_wrong(self): | ||||
|         m = Module() | ||||
|         with self.assertRaisesRegex(SyntaxError, | ||||
|             r"^FSM State is not permitted outside of FSM"): | ||||
|             with m.State("FOO"): | ||||
|                 pass | ||||
| 
 | ||||
| 
 | ||||
|     def test_FSM_State_wrong_nested(self): | ||||
|         m = Module() | ||||
|         with m.FSM(): | ||||
|             with m.State("FOO"): | ||||
|                 with self.assertRaisesRegex(SyntaxError, | ||||
|                     r"^FSM State is not permitted outside of FSM"): | ||||
|                     with m.State("BAR"): | ||||
|                         pass | ||||
| 
 | ||||
|     def test_auto_pop_ctrl(self): | ||||
|         m = Module() | ||||
|         with m.If(self.w1): | ||||
|  |  | |||
		Loading…
	
		Reference in a new issue
	
	 Thomas Watson
						Thomas Watson