build "core init test/xml_generator"

create_boot_directory

install_config {
	<config>
		<parent-provides>
			<service name="ROM"/>
			<service name="LOG"/>
			<service name="CPU"/>
			<service name="RAM"/>
			<service name="RM"/>
			<service name="PD"/>
		</parent-provides>
		<default-route>
			<any-service> <any-child/> <parent/> </any-service>
		</default-route>
		<start name="test-xml_generator">
			<resource name="RAM" quantum="1M"/>
		</start>
	</config>
}

build_boot_image "core ld.lib.so init test-xml_generator"

append qemu_args "-nographic -m 64"

run_genode_until "--- XML generator test finished ---.*\n" 30

grep_output {^\[init -> test-xml_generator}

compare_output_to {
	[init -> test-xml_generator] --- XML generator test started ---
	[init -> test-xml_generator] result:
	[init -> test-xml_generator] 
	[init -> test-xml_generator] <config xpos="27" ypos="34">
	[init -> test-xml_generator] 	<box width="320" height="240"/>
	[init -> test-xml_generator] 	<label name="a test">
	[init -> test-xml_generator] 		<sub_label/>
	[init -> test-xml_generator] 		<another_sub_label>
	[init -> test-xml_generator] 			<sub_sub_label/>
	[init -> test-xml_generator] 		</another_sub_label>
	[init -> test-xml_generator] 	</label>
	[init -> test-xml_generator] 	<bool true="true" false="false"/>
	[init -> test-xml_generator] 	<signed int="-1" long="-2" longlong="-3"/>
	[init -> test-xml_generator] 	<unsigned int="1" long="2" longlong="3"/>
	[init -> test-xml_generator] </config>
	[init -> test-xml_generator] 
	[init -> test-xml_generator] used 307 bytes
	[init -> test-xml_generator] buffer exceeded (expected error)
	[init -> test-xml_generator] --- XML generator test finished ---
}