tests/qapi-schema: Cover empty union base
The new test case shows off qapi.py choking on an empty union base. Signed-off-by: Markus Armbruster <armbru@redhat.com> Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com> Reviewed-by: Eric Blake <eblake@redhat.com> Message-Id: <1489582656-31133-9-git-send-email-armbru@redhat.com>
This commit is contained in:
		
							parent
							
								
									bd7f974796
								
							
						
					
					
						commit
						707fb2d381
					
				| 
						 | 
				
			
			@ -476,6 +476,7 @@ qapi-schema += unclosed-list.json
 | 
			
		|||
qapi-schema += unclosed-object.json
 | 
			
		||||
qapi-schema += unclosed-string.json
 | 
			
		||||
qapi-schema += unicode-str.json
 | 
			
		||||
qapi-schema += union-base-empty.json
 | 
			
		||||
qapi-schema += union-base-no-discriminator.json
 | 
			
		||||
qapi-schema += union-branch-case.json
 | 
			
		||||
qapi-schema += union-clash-branches.json
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -0,0 +1,10 @@
 | 
			
		|||
Traceback (most recent call last):
 | 
			
		||||
  File "tests/qapi-schema/test-qapi.py", line 56, in <module>
 | 
			
		||||
    schema = QAPISchema(sys.argv[1])
 | 
			
		||||
  File "scripts/qapi.py", line 1487, in __init__
 | 
			
		||||
    self.exprs = check_exprs(parser.exprs)
 | 
			
		||||
  File "scripts/qapi.py", line 921, in check_exprs
 | 
			
		||||
    check_union(expr, info)
 | 
			
		||||
  File "scripts/qapi.py", line 738, in check_union
 | 
			
		||||
    assert base_members
 | 
			
		||||
AssertionError
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1 @@
 | 
			
		|||
1
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,9 @@
 | 
			
		|||
# Flat union with empty base and therefore without discriminator
 | 
			
		||||
 | 
			
		||||
{ 'struct': 'Empty', 'data': { } }
 | 
			
		||||
 | 
			
		||||
{ 'union': 'TestUnion',
 | 
			
		||||
  'base': 'Empty',
 | 
			
		||||
  'discriminator': 'type',
 | 
			
		||||
  'data': { 'value1': 'int',
 | 
			
		||||
            'value2': 'str' } }
 | 
			
		||||
		Loading…
	
		Reference in New Issue