mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-17 16:37:43 +01:00
drop incompatible tests
This commit is contained in:
96
patches/server/0274-Drop-incompatible-tests.patch
Normal file
96
patches/server/0274-Drop-incompatible-tests.patch
Normal file
@@ -0,0 +1,96 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Ben Kerllenevich <ben@omega24.dev>
|
||||
Date: Thu, 2 Jun 2022 13:54:19 -0400
|
||||
Subject: [PATCH] Drop incompatible tests
|
||||
|
||||
|
||||
diff --git a/src/test/java/io/papermc/paper/permissions/MinecraftCommandPermissionsTest.java b/src/test/java/io/papermc/paper/permissions/MinecraftCommandPermissionsTest.java
|
||||
deleted file mode 100644
|
||||
index e80f8a32c82f89a2f898db1d869daadee735176f..0000000000000000000000000000000000000000
|
||||
--- a/src/test/java/io/papermc/paper/permissions/MinecraftCommandPermissionsTest.java
|
||||
+++ /dev/null
|
||||
@@ -1,84 +0,0 @@
|
||||
-package io.papermc.paper.permissions;
|
||||
-
|
||||
-import com.mojang.brigadier.tree.CommandNode;
|
||||
-import com.mojang.brigadier.tree.RootCommandNode;
|
||||
-import net.minecraft.commands.CommandSourceStack;
|
||||
-import net.minecraft.commands.Commands;
|
||||
-import net.minecraft.server.Bootstrap;
|
||||
-import org.bukkit.Bukkit;
|
||||
-import org.bukkit.craftbukkit.command.VanillaCommandWrapper;
|
||||
-import org.bukkit.craftbukkit.util.permissions.CraftDefaultPermissions;
|
||||
-import org.bukkit.permissions.Permission;
|
||||
-import org.bukkit.support.AbstractTestingBase;
|
||||
-import org.junit.AfterClass;
|
||||
-import org.junit.BeforeClass;
|
||||
-import org.junit.Test;
|
||||
-
|
||||
-import java.io.PrintStream;
|
||||
-import java.util.HashSet;
|
||||
-import java.util.LinkedHashSet;
|
||||
-import java.util.List;
|
||||
-import java.util.Set;
|
||||
-import java.util.TreeSet;
|
||||
-
|
||||
-import static org.junit.Assert.assertTrue;
|
||||
-
|
||||
-public class MinecraftCommandPermissionsTest extends AbstractTestingBase {
|
||||
-
|
||||
- private static PrintStream old;
|
||||
- @BeforeClass
|
||||
- public static void before() {
|
||||
- old = System.out;
|
||||
- System.setOut(Bootstrap.STDOUT);
|
||||
- }
|
||||
-
|
||||
- @Test
|
||||
- public void test() {
|
||||
- CraftDefaultPermissions.registerCorePermissions();
|
||||
- Set<String> perms = collectMinecraftCommandPerms();
|
||||
-
|
||||
- Commands commands = new Commands(Commands.CommandSelection.DEDICATED);
|
||||
- RootCommandNode<CommandSourceStack> root = commands.getDispatcher().getRoot();
|
||||
- Set<String> missing = new LinkedHashSet<>();
|
||||
- Set<String> foundPerms = new HashSet<>();
|
||||
- for (CommandNode<CommandSourceStack> child : root.getChildren()) {
|
||||
- final String vanillaPerm = VanillaCommandWrapper.getPermission(child);
|
||||
- if (!perms.contains(vanillaPerm)) {
|
||||
- missing.add("Missing permission for " + child.getName() + " (" + vanillaPerm + ") command");
|
||||
- } else {
|
||||
- foundPerms.add(vanillaPerm);
|
||||
- }
|
||||
- }
|
||||
- assertTrue("Commands missing permissions: \n" + String.join("\n", missing), missing.isEmpty());
|
||||
- perms.removeAll(foundPerms);
|
||||
- assertTrue("Extra permissions not associated with a command: \n" + String.join("\n", perms), perms.isEmpty());
|
||||
- }
|
||||
-
|
||||
- private static final List<String> TO_SKIP = List.of(
|
||||
- "minecraft.command.selector"
|
||||
- );
|
||||
-
|
||||
- private static Set<String> collectMinecraftCommandPerms() {
|
||||
- Set<String> perms = new TreeSet<>();
|
||||
- for (Permission perm : Bukkit.getPluginManager().getPermissions()) {
|
||||
- if (perm.getName().startsWith("minecraft.command.")) {
|
||||
- if (TO_SKIP.contains(perm.getName())) {
|
||||
- continue;
|
||||
- }
|
||||
- if (perm.getName().endsWith(".xp")) {
|
||||
- perms.add("minecraft.command.experience"); // for the "experience" command, craftbukkit perm is "minecraft.command.xp"
|
||||
- continue;
|
||||
- }
|
||||
- perms.add(perm.getName());
|
||||
- }
|
||||
- }
|
||||
- return perms;
|
||||
- }
|
||||
-
|
||||
- @AfterClass
|
||||
- public static void after() {
|
||||
- if (old != null) {
|
||||
- System.setOut(old);
|
||||
- }
|
||||
- }
|
||||
-}
|
||||
Reference in New Issue
Block a user