diff --git a/patches/server/0274-Drop-incompatible-tests.patch b/patches/server/0274-Drop-incompatible-tests.patch new file mode 100644 index 000000000..df85e09e3 --- /dev/null +++ b/patches/server/0274-Drop-incompatible-tests.patch @@ -0,0 +1,96 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Ben Kerllenevich +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 perms = collectMinecraftCommandPerms(); +- +- Commands commands = new Commands(Commands.CommandSelection.DEDICATED); +- RootCommandNode root = commands.getDispatcher().getRoot(); +- Set missing = new LinkedHashSet<>(); +- Set foundPerms = new HashSet<>(); +- for (CommandNode 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 TO_SKIP = List.of( +- "minecraft.command.selector" +- ); +- +- private static Set collectMinecraftCommandPerms() { +- Set 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); +- } +- } +-}