1255e72915d4cbddceb435e13d81601755714e9fSE Androidmodule linker_test_2 1.0; 2255e72915d4cbddceb435e13d81601755714e9fSE Android 3255e72915d4cbddceb435e13d81601755714e9fSE Androidrequire { 4255e72915d4cbddceb435e13d81601755714e9fSE Android class file { read write }; 5255e72915d4cbddceb435e13d81601755714e9fSE Android class lnk_file { unlink }; 6255e72915d4cbddceb435e13d81601755714e9fSE Android attribute g_b_attr_5; 7255e72915d4cbddceb435e13d81601755714e9fSE Android attribute g_b_attr_6; 8255e72915d4cbddceb435e13d81601755714e9fSE Android attribute g_m1_attr_3; 9255e72915d4cbddceb435e13d81601755714e9fSE Android attribute o3_m1_attr_2; 10255e72915d4cbddceb435e13d81601755714e9fSE Android} 11255e72915d4cbddceb435e13d81601755714e9fSE Android 12255e72915d4cbddceb435e13d81601755714e9fSE Androidtype tag_g_m2; 13255e72915d4cbddceb435e13d81601755714e9fSE Android 14255e72915d4cbddceb435e13d81601755714e9fSE Androidtype g_m2_type_1; 15dedcd596b31e0e4fc15d75b3a8b5e6b61e6c28b3Stephen Smalleyrole g_m2_role_1; 16255e72915d4cbddceb435e13d81601755714e9fSE Androidrole g_m2_role_1 types g_m2_type_1; 17255e72915d4cbddceb435e13d81601755714e9fSE Android 18255e72915d4cbddceb435e13d81601755714e9fSE Androidtype g_m2_type_4, g_b_attr_5; 19255e72915d4cbddceb435e13d81601755714e9fSE Androidtype g_m2_type_5, g_b_attr_6; 20255e72915d4cbddceb435e13d81601755714e9fSE Android 21255e72915d4cbddceb435e13d81601755714e9fSE Android#add types to role declared in base test 22255e72915d4cbddceb435e13d81601755714e9fSE Androidtype g_m2_type_2; 23dedcd596b31e0e4fc15d75b3a8b5e6b61e6c28b3Stephen Smalleyrole g_b_role_3; 24255e72915d4cbddceb435e13d81601755714e9fSE Androidrole g_b_role_3 types g_m2_type_2; 25255e72915d4cbddceb435e13d81601755714e9fSE Android 26255e72915d4cbddceb435e13d81601755714e9fSE Android#optional base role w/ adds in 2 modules 27dedcd596b31e0e4fc15d75b3a8b5e6b61e6c28b3Stephen Smalleyrole o4_b_role_1; 28255e72915d4cbddceb435e13d81601755714e9fSE Androidrole o4_b_role_1 types g_m2_type_1; 29255e72915d4cbddceb435e13d81601755714e9fSE Android 30255e72915d4cbddceb435e13d81601755714e9fSE Android# attr a added to in base optional, declared/added to in module, added to in other module 31255e72915d4cbddceb435e13d81601755714e9fSE Androidtype g_m2_type_3, g_m1_attr_3; 32255e72915d4cbddceb435e13d81601755714e9fSE Android 33255e72915d4cbddceb435e13d81601755714e9fSE Android# attr a added to in base optional, declared/added in module optional, added to in other module 34255e72915d4cbddceb435e13d81601755714e9fSE Androidtype g_m2_type_6, o3_m1_attr_2; 35255e72915d4cbddceb435e13d81601755714e9fSE Android 36255e72915d4cbddceb435e13d81601755714e9fSE Android# cond mapping tests 37255e72915d4cbddceb435e13d81601755714e9fSE Androidbool g_m2_bool_1 true; 38255e72915d4cbddceb435e13d81601755714e9fSE Androidbool g_m2_bool_2 false; 39255e72915d4cbddceb435e13d81601755714e9fSE Androidif (g_m2_bool_1 && g_m2_bool_2) { 40255e72915d4cbddceb435e13d81601755714e9fSE Android allow g_m2_type_1 g_m2_type_2 : lnk_file unlink; 41255e72915d4cbddceb435e13d81601755714e9fSE Android} 42255e72915d4cbddceb435e13d81601755714e9fSE Android 43255e72915d4cbddceb435e13d81601755714e9fSE Androidoptional { 44255e72915d4cbddceb435e13d81601755714e9fSE Android require { 45255e72915d4cbddceb435e13d81601755714e9fSE Android type optional_type; 46255e72915d4cbddceb435e13d81601755714e9fSE Android } 47255e72915d4cbddceb435e13d81601755714e9fSE Android 48255e72915d4cbddceb435e13d81601755714e9fSE Android type tag_o1_m2; 49255e72915d4cbddceb435e13d81601755714e9fSE Android 50255e72915d4cbddceb435e13d81601755714e9fSE Android type o1_m2_type_1; 51dedcd596b31e0e4fc15d75b3a8b5e6b61e6c28b3Stephen Smalley role o1_m2_role_1; 52255e72915d4cbddceb435e13d81601755714e9fSE Android role o1_m2_role_1 types o1_m2_type_1; 53255e72915d4cbddceb435e13d81601755714e9fSE Android} 54255e72915d4cbddceb435e13d81601755714e9fSE Android 55255e72915d4cbddceb435e13d81601755714e9fSE Android 56255e72915d4cbddceb435e13d81601755714e9fSE Androidoptional { 57255e72915d4cbddceb435e13d81601755714e9fSE Android require { 58255e72915d4cbddceb435e13d81601755714e9fSE Android attribute g_m1_attr_4; 59255e72915d4cbddceb435e13d81601755714e9fSE Android attribute o4_m1_attr_1; 60255e72915d4cbddceb435e13d81601755714e9fSE Android } 61255e72915d4cbddceb435e13d81601755714e9fSE Android type tag_o2_m2; 62255e72915d4cbddceb435e13d81601755714e9fSE Android 63255e72915d4cbddceb435e13d81601755714e9fSE Android type o2_m2_type_1, g_m1_attr_4; 64255e72915d4cbddceb435e13d81601755714e9fSE Android type o2_m2_type_2, o4_m1_attr_1; 65255e72915d4cbddceb435e13d81601755714e9fSE Android 66255e72915d4cbddceb435e13d81601755714e9fSE Android} 67