build { core init lib/ld lib/libc lib/vfs lib/posix app/sequence server/vfs test/libc_getpwent } create_boot_directory install_config { <config> <parent-provides> <service name="CPU"/> <service name="LOG"/> <service name="PD"/> <service name="RM"/> <service name="ROM"/> </parent-provides> <default-route> <any-service> <parent/> <any-child/> </any-service> </default-route> <default caps="128"/> <start name="fs"> <binary name="vfs"/> <resource name="RAM" quantum="4M"/> <provides> <service name="File_system"/> </provides> <config> <vfs> <log label="log"/> </vfs> <default-policy root="/" writeable="yes"/> </config> </start> <start name="test" caps="1000"> <binary name="sequence"/> <resource name="RAM" quantum="4M"/> <config> <start name="root"> <binary name="test-libc_getpwent"/> <config> <vfs> <fs/> </vfs> <libc stdout="/log" stderr="/log"/> <arg value="test-libc_getpwent"/> <env key="HOME" value="/home-from-getenv"/> </config> </start> <start name="alice"> <binary name="test-libc_getpwent"/> <config> <vfs> <fs/> </vfs> <libc stdout="/log" stderr="/log"> <passwd name="alice" uid="1" home="/home/alice"/> </libc> </config> </start> <start name="bob"> <binary name="test-libc_getpwent"/> <config> <vfs> <fs/> </vfs> <libc stdout="/log" stderr="/log"> <passwd name="bob" uid="2" home="/root"/> </libc> </config> </start> </config> </start> </config> } build_boot_image [build_artifacts] append qemu_args " -nographic " run_genode_until "child .* exited with exit value 0.*\n" 20 grep_output {\[init -\> fs -\> log\] } compare_output_to { [init -> fs -> log] [getpwent] user:root uid:0 home:/ [init -> fs -> log] [getpwent] NULL [init -> fs -> log] [getpwent] NULL [init -> fs -> log] [getpwent_r] user:root uid:0 home:/ [init -> fs -> log] [getpwent_r] NULL [init -> fs -> log] [getpwent_r] NULL [init -> fs -> log] [getpwnam root] user:root uid:0 home:/ [init -> fs -> log] [getpwnam alice] NULL [init -> fs -> log] [getpwnam bob] NULL [init -> fs -> log] [getpwnam_r root] user:root uid:0 home:/ [init -> fs -> log] [getpwnam_r alice] NULL [init -> fs -> log] [getpwnam_r bob] NULL [init -> fs -> log] [getpwuid 0] user:root uid:0 home:/ [init -> fs -> log] [getpwuid 1] NULL [init -> fs -> log] [getpwuid 2] NULL [init -> fs -> log] [getpwuid_r 0] user:root uid:0 home:/ [init -> fs -> log] [getpwuid_r 1] NULL [init -> fs -> log] [getpwuid_r 2] NULL [init -> fs -> log] [getpwent] user:alice uid:1 home:/home/alice [init -> fs -> log] [getpwent] NULL [init -> fs -> log] [getpwent] NULL [init -> fs -> log] [getpwent_r] user:alice uid:1 home:/home/alice [init -> fs -> log] [getpwent_r] NULL [init -> fs -> log] [getpwent_r] NULL [init -> fs -> log] [getpwnam root] NULL [init -> fs -> log] [getpwnam alice] user:alice uid:1 home:/home/alice [init -> fs -> log] [getpwnam bob] NULL [init -> fs -> log] [getpwnam_r root] NULL [init -> fs -> log] [getpwnam_r alice] user:alice uid:1 home:/home/alice [init -> fs -> log] [getpwnam_r bob] NULL [init -> fs -> log] [getpwuid 0] NULL [init -> fs -> log] [getpwuid 1] user:alice uid:1 home:/home/alice [init -> fs -> log] [getpwuid 2] NULL [init -> fs -> log] [getpwuid_r 0] NULL [init -> fs -> log] [getpwuid_r 1] user:alice uid:1 home:/home/alice [init -> fs -> log] [getpwuid_r 2] NULL [init -> fs -> log] [getpwent] user:bob uid:2 home:/root [init -> fs -> log] [getpwent] NULL [init -> fs -> log] [getpwent] NULL [init -> fs -> log] [getpwent_r] user:bob uid:2 home:/root [init -> fs -> log] [getpwent_r] NULL [init -> fs -> log] [getpwent_r] NULL [init -> fs -> log] [getpwnam root] NULL [init -> fs -> log] [getpwnam alice] NULL [init -> fs -> log] [getpwnam bob] user:bob uid:2 home:/root [init -> fs -> log] [getpwnam_r root] NULL [init -> fs -> log] [getpwnam_r alice] NULL [init -> fs -> log] [getpwnam_r bob] user:bob uid:2 home:/root [init -> fs -> log] [getpwuid 0] NULL [init -> fs -> log] [getpwuid 1] NULL [init -> fs -> log] [getpwuid 2] user:bob uid:2 home:/root [init -> fs -> log] [getpwuid_r 0] NULL [init -> fs -> log] [getpwuid_r 1] NULL [init -> fs -> log] [getpwuid_r 2] user:bob uid:2 home:/root }