anchor.diff:  %%%===================================================================
   %%% POSIX TESTS MECHANISM
   %%%===================================================================
  +
  +
  +run_posix_tests(Node, RootDirPath, #test_spec{
  +    owner = Owner,
  +    user = User,
  +    env = EnvDesc,
  +    fn = Fun
  +}, Config) ->
  +    OwnerSessId = ?config({session_id, {Owner, ?GET_DOMAIN(Node)}}, Config),
  +    UserSessId = ?config({session_id, {User, ?GET_DOMAIN(Node)}}, Config),
  +
  +    lists:foreach(fun({SessId, Type, DirName}) ->
  +        DirPath = <<RootDirPath/binary, DirName/binary>>,
  +        ?assertMatch({ok, _}, lfm_proxy:mkdir(Node, OwnerSessId, DirPath)),
  +        run_posix_tests(
  +            Node, SessId, DirPath, Fun, Type,
  +            setup_env(Node, OwnerSessId, DirPath, EnvDesc)
  +        )
  +    end, [
  +        {OwnerSessId, owner, <<"/owner_posix">>},
  +        {UserSessId, group, <<"/group_posix">>}
  +    ]).
  +
  +
  +run_posix_tests(Node, SessId, RootPath, Fun, Type, RequiredPermsPerFile) ->
  +    RequiredPosixPermsPerFile = lists:map(fun({Guid, Perms}) ->
  +        {Guid, lists:usort(lists:flatmap(
  +            fun
  +                (?read_object) -> [read];
  +                (?list_container) -> [read];
  +                (?write_object) -> [write];
  +                (?add_object) -> [write, exec];
  +                (?append_data) -> [write];
  +                (?add_subcontainer) -> [write];
  +                (?read_metadata) -> [read];
  +                (?write_metadata) -> [write];
  +                (?execute) -> [exec];
  +                (?traverse_container) -> [exec];
  +                (?delete_object) -> [write, exec];
  +                (?delete_subcontainer) -> [write, exec];
  +                (?read_attributes) -> [];
  +                (?write_attributes) -> [write];
  +                (?delete) -> [owner_if_parent_sticky];
  +                (?read_acl) -> [];
  +                (?write_acl) -> [owner]
  +            end,
  +            Perms
  +        ))}
  +    end, RequiredPermsPerFile),
  +
  +    {ComplementaryPosixPermsPerFile, AllRequiredPosixPerms} = lists:foldl(
  +        fun({FileGuid, FileRequiredPerms}, {BasePermsPerFileAcc, RequiredPermsAcc}) ->
  +            {
  +                BasePermsPerFileAcc#{FileGuid => ?ALL_POSIX_PERMS -- FileRequiredPerms},
  +                [{FileGuid, Perm} || Perm <- FileRequiredPerms] ++ RequiredPermsAcc
  +            }
  +        end,
  +        {#{}, []},
  +        RequiredPosixPermsPerFile
  +    ),
  +
  +    ct:pal("POSIX: ~p", [ComplementaryPosixPermsPerFile]),
  +
  +    try
  +        run_posix_tests(
  +            Node, SessId, RootPath, Fun, ComplementaryPosixPermsPerFile,
  +            AllRequiredPosixPerms, Type
  +        )
  +    catch T:R ->
  +        RequiredPermsPerFileMap = lists:foldl(fun({Guid, RequiredPerms}, Acc) ->
  +            {ok, Path} = lfm_proxy:get_file_path(Node, SessId, Guid),
  +            Acc#{Path => RequiredPerms}
  +        end, #{}, RequiredPosixPermsPerFile),
  +
  +        ct:pal(
  +            "POSIX TESTS FAILURE~n"
  +            "   Type: ~p~n"
  +            "   Root path: ~p~n"
  +            "   Required Perms: ~p~n",
  +            [
  +                Type, RootPath,
  +                RequiredPermsPerFileMap
  +            ]
  +        ),
  +        erlang:T(R)
  +    end.
  +
  +
  +run_posix_tests(Node, SessId, RootPath, Fun, ComplementaryPermsPerFile, AllRequiredPerms, Type) ->
  +    ok.
   
   
   %%%===================================================================
  
positive.code:     ?write_acl,
      ?write_owner
  ]).
  
  
  -define(ALLOW_ACE(__IDENTIFIER, __FLAGS, __MASK), #access_control_entity{
  
negative.code:         fun({FileGuid, FileRequiredPerms}, {BasePermsPerFileAcc, RequiredPermsAcc}) ->
              {
                  BasePermsPerFileAcc#{FileGuid => complementary_perms(FileRequiredPerms)},
                  [{FileGuid, Perm} || Perm <- FileRequiredPerms] ++ RequiredPermsAcc
              }
          end,
          {#{}, []},
  