List<DynamicTest> () { List<NamedFailure> failures = new ArrayList<>(); Set<String> unknownActions = getUnknownActions(); for (Keymap keymap : KeymapManagerEx.getInstanceEx().getAllKeymaps()) { Collection<String> ids = keymap.getActionIdList(); Set<String> uniqueIds = new HashSet<>(ids); if (ids.size() != uniqueIds.size()) { failures.add(new NamedFailure("duplicated ids in keymap " + keymap.getName(), "Action ids id keymap: " + ids)); } for (String cid : uniqueIds) { if (unknownActions.contains(cid)) continue; AnAction action = ActionManager.getInstance().getAction(cid); if (action == null) { failures.add(new NamedFailure("unknown action in keymap " + keymap.getName() + ": " + cid, "Fix them or add them to the unknown actions list")); } } } for (String id : unknownActions) { AnAction action = ActionManager.getInstance().getAction(id); if (action != null) { failures.add(new NamedFailure("reappeared action: " + id, "The following actions have reappeared, remove them from unknown action list.")); } } return DynamicTests.asDynamicTests(failures, "problems in action keymaps"); }