926a1807b4
Instead use Mockito to implement the throwing behaviour on the buffers in those tests. Sadly Mockito cannot spy or mock our Buffer implementation classes, and does not allow mocking an interface while spying on an implementation, so we have to do a more complicated dance with our mocking.
439 lines
15 KiB
XML
439 lines
15 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<!--
|
|
~ Copyright 2012 The Netty Project
|
|
~
|
|
~ The Netty Project licenses this file to you under the Apache License,
|
|
~ version 2.0 (the "License"); you may not use this file except in compliance
|
|
~ with the License. You may obtain a copy of the License at:
|
|
~
|
|
~ https://www.apache.org/licenses/LICENSE-2.0
|
|
~
|
|
~ Unless required by applicable law or agreed to in writing, software
|
|
~ distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
|
~ WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
|
~ License for the specific language governing permissions and limitations
|
|
~ under the License.
|
|
-->
|
|
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
|
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/maven-v4_0_0.xsd">
|
|
<modelVersion>4.0.0</modelVersion>
|
|
<parent>
|
|
<groupId>org.sonatype.oss</groupId>
|
|
<artifactId>oss-parent</artifactId>
|
|
<version>9</version>
|
|
</parent>
|
|
|
|
<groupId>io.netty.incubator</groupId>
|
|
<artifactId>netty-incubator-buffer</artifactId>
|
|
<version>0.0.1.Final-SNAPSHOT</version>
|
|
<name>Netty/Incubator/Buffer</name>
|
|
<packaging>jar</packaging>
|
|
<url>https://netty.io/</url>
|
|
<description>
|
|
Netty is an asynchronous event-driven network application framework for
|
|
rapid development of maintainable high performance protocol servers and
|
|
clients.
|
|
</description>
|
|
|
|
<organization>
|
|
<name>The Netty Project</name>
|
|
<url>https://netty.io/</url>
|
|
</organization>
|
|
|
|
<licenses>
|
|
<license>
|
|
<name>Apache License, Version 2.0</name>
|
|
<url>https://www.apache.org/licenses/LICENSE-2.0</url>
|
|
</license>
|
|
</licenses>
|
|
<inceptionYear>2020</inceptionYear>
|
|
|
|
<scm>
|
|
<url>https://github.com/netty/netty-incubator-codec-quic</url>
|
|
<connection>scm:git:git://github.com:chrisvest/netty-incubator-buffer-api.git</connection>
|
|
<developerConnection>scm:git:ssh://git@github.com:chrisvest/netty-incubator-buffer-api.git</developerConnection>
|
|
<tag>HEAD</tag>
|
|
</scm>
|
|
|
|
<developers>
|
|
<developer>
|
|
<id>netty.io</id>
|
|
<name>The Netty Project Contributors</name>
|
|
<email>netty@googlegroups.com</email>
|
|
<url>https://netty.io/</url>
|
|
<organization>The Netty Project</organization>
|
|
<organizationUrl>https://netty.io/</organizationUrl>
|
|
</developer>
|
|
</developers>
|
|
|
|
<properties>
|
|
<javaModuleName>io.netty.incubator.buffer</javaModuleName>
|
|
<netty.version>5.0.0.Final-SNAPSHOT</netty.version>
|
|
<netty.build.version>29</netty.build.version>
|
|
<java.version>17</java.version>
|
|
<junit.version>5.7.0</junit.version>
|
|
<surefire.version>3.0.0-M5</surefire.version>
|
|
<skipTests>false</skipTests>
|
|
<argLine.common>
|
|
-XX:+HeapDumpOnOutOfMemoryError
|
|
-Xmx2g
|
|
-Dio.netty.tryReflectionSetAccessible=true
|
|
--add-opens java.base/java.nio=io.netty.common
|
|
--add-modules jdk.incubator.foreign
|
|
</argLine.common>
|
|
</properties>
|
|
|
|
<build>
|
|
<extensions>
|
|
<extension>
|
|
<groupId>kr.motd.maven</groupId>
|
|
<artifactId>os-maven-plugin</artifactId>
|
|
<version>1.6.2</version>
|
|
</extension>
|
|
</extensions>
|
|
<plugins>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-dependency-plugin</artifactId>
|
|
<version>3.1.2</version>
|
|
<executions>
|
|
<execution>
|
|
<goals>
|
|
<goal>properties</goal>
|
|
</goals>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
<plugin>
|
|
<artifactId>maven-compiler-plugin</artifactId>
|
|
<version>3.8.1</version>
|
|
<configuration>
|
|
<compilerVersion>${java.version}</compilerVersion>
|
|
<fork>true</fork>
|
|
<source>${java.version}</source>
|
|
<target>${java.version}</target>
|
|
<release>${java.version}</release>
|
|
<debug>true</debug>
|
|
<optimize>true</optimize>
|
|
<showDeprecation>true</showDeprecation>
|
|
<showWarnings>true</showWarnings>
|
|
<compilerArgument>-Xlint:-options</compilerArgument>
|
|
<meminitial>256m</meminitial>
|
|
<maxmem>1024m</maxmem>
|
|
<compilerArgs>
|
|
<arg>--add-modules</arg>
|
|
<arg>jdk.incubator.foreign</arg>
|
|
</compilerArgs>
|
|
</configuration>
|
|
</plugin>
|
|
<plugin>
|
|
<artifactId>maven-checkstyle-plugin</artifactId>
|
|
<version>3.1.2</version>
|
|
<executions>
|
|
<execution>
|
|
<id>check-style</id>
|
|
<goals>
|
|
<goal>check</goal>
|
|
</goals>
|
|
<phase>validate</phase>
|
|
<configuration>
|
|
<consoleOutput>true</consoleOutput>
|
|
<logViolationsToConsole>true</logViolationsToConsole>
|
|
<failsOnError>true</failsOnError>
|
|
<failOnViolation>true</failOnViolation>
|
|
<configLocation>io/netty/checkstyle.xml</configLocation>
|
|
<sourceDirectories>
|
|
<sourceDirectory>${project.build.sourceDirectory}</sourceDirectory>
|
|
<sourceDirectory>${project.build.testSourceDirectory}</sourceDirectory>
|
|
</sourceDirectories>
|
|
</configuration>
|
|
<inherited>false</inherited>
|
|
</execution>
|
|
</executions>
|
|
<dependencies>
|
|
<dependency>
|
|
<groupId>com.puppycrawl.tools</groupId>
|
|
<artifactId>checkstyle</artifactId>
|
|
<version>8.41</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.netty</groupId>
|
|
<artifactId>netty-build-common</artifactId>
|
|
<version>${netty.build.version}</version>
|
|
</dependency>
|
|
</dependencies>
|
|
</plugin>
|
|
<plugin>
|
|
<artifactId>maven-surefire-plugin</artifactId>
|
|
<version>${surefire.version}</version>
|
|
<configuration>
|
|
<includes>
|
|
<include>**/*Test*.java</include>
|
|
</includes>
|
|
<argLine>${argLine.common}</argLine>
|
|
<!-- Ensure the whole stacktrace is preserved when an exception is thrown. See https://issues.apache.org/jira/browse/SUREFIRE-1457 -->
|
|
<trimStackTrace>false</trimStackTrace>
|
|
<forkedProcessExitTimeoutInSeconds>600</forkedProcessExitTimeoutInSeconds>
|
|
<!-- Not reusing forks lets us be more frugal with memory. We have a lot of tests, and they need a lot of metadata -->
|
|
<reuseForks>false</reuseForks>
|
|
<systemProperties>
|
|
<sample>nosample</sample>
|
|
</systemProperties>
|
|
</configuration>
|
|
<dependencies>
|
|
<!-- Declare the surefire dynamic dependencies explicitly, to speed up the docker build. -->
|
|
<dependency>
|
|
<groupId>org.codehaus.plexus</groupId>
|
|
<artifactId>plexus-utils</artifactId>
|
|
<version>1.1</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.maven.surefire</groupId>
|
|
<artifactId>surefire-junit-platform</artifactId>
|
|
<version>${surefire.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.junit.jupiter</groupId>
|
|
<artifactId>junit-jupiter-engine</artifactId>
|
|
<version>5.3.2</version>
|
|
<type>pom</type>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.junit.jupiter</groupId>
|
|
<artifactId>junit-jupiter-params</artifactId>
|
|
<version>5.3.2</version>
|
|
<type>pom</type>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.mockito</groupId>
|
|
<artifactId>mockito-core</artifactId>
|
|
<version>2.28.2</version>
|
|
<type>pom</type>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.hamcrest</groupId>
|
|
<artifactId>hamcrest-library</artifactId>
|
|
<version>1.3</version>
|
|
<type>pom</type>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>junit</groupId>
|
|
<artifactId>junit</artifactId>
|
|
<version>4.13</version>
|
|
<type>pom</type>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.powermock</groupId>
|
|
<artifactId>powermock-reflect</artifactId>
|
|
<version>2.0.5</version>
|
|
<type>pom</type>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.assertj</groupId>
|
|
<artifactId>assertj-core</artifactId>
|
|
<version>3.9.1</version>
|
|
<type>pom</type>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.easytesting</groupId>
|
|
<artifactId>fest-assert</artifactId>
|
|
<version>1.4</version>
|
|
<type>pom</type>
|
|
</dependency>
|
|
</dependencies>
|
|
</plugin>
|
|
<!-- always produce osgi bundles -->
|
|
<plugin>
|
|
<groupId>org.apache.felix</groupId>
|
|
<artifactId>maven-bundle-plugin</artifactId>
|
|
<version>5.1.1</version>
|
|
<executions>
|
|
<execution>
|
|
<id>generate-manifest</id>
|
|
<phase>process-classes</phase>
|
|
<goals>
|
|
<goal>manifest</goal>
|
|
</goals>
|
|
<configuration>
|
|
<supportedProjectTypes>
|
|
<supportedProjectType>jar</supportedProjectType>
|
|
<supportedProjectType>bundle</supportedProjectType>
|
|
</supportedProjectTypes>
|
|
<instructions>
|
|
<Export-Package>${project.groupId}.*</Export-Package>
|
|
<!-- enforce JVM vendor package as optional -->
|
|
<Import-Package>sun.misc.*;resolution:=optional,sun.nio.ch;resolution:=optional,sun.security.*;resolution:=optional</Import-Package>
|
|
<!-- override "internal" private package convention -->
|
|
<Private-Package>!*</Private-Package>
|
|
</instructions>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
<plugin>
|
|
<artifactId>maven-source-plugin</artifactId>
|
|
<version>3.2.0</version>
|
|
<!-- Eclipse-related OSGi manifests
|
|
See https://github.com/netty/netty/issues/3886
|
|
More information: https://rajakannappan.blogspot.ie/2010/03/automating-eclipse-source-bundle.html -->
|
|
<configuration>
|
|
<archive>
|
|
<manifestEntries>
|
|
<Bundle-ManifestVersion>2</Bundle-ManifestVersion>
|
|
<Bundle-Name>${project.name}</Bundle-Name>
|
|
<Bundle-SymbolicName>${project.groupId}.${project.artifactId}.source</Bundle-SymbolicName>
|
|
<Bundle-Vendor>${project.organization.name}</Bundle-Vendor>
|
|
<Bundle-Version>${parsedVersion.osgiVersion}</Bundle-Version>
|
|
<Eclipse-SourceBundle>${project.groupId}.${project.artifactId};version="${parsedVersion.osgiVersion}";roots:="."</Eclipse-SourceBundle>
|
|
</manifestEntries>
|
|
</archive>
|
|
</configuration>
|
|
|
|
<executions>
|
|
<execution>
|
|
<id>attach-sources</id>
|
|
<phase>prepare-package</phase>
|
|
<goals>
|
|
<goal>jar-no-fork</goal>
|
|
</goals>
|
|
</execution>
|
|
<execution>
|
|
<id>attach-test-sources</id>
|
|
<phase>prepare-package</phase>
|
|
<goals>
|
|
<goal>test-jar-no-fork</goal>
|
|
</goals>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
<plugin>
|
|
<artifactId>maven-javadoc-plugin</artifactId>
|
|
<version>2.10.4</version>
|
|
<configuration>
|
|
<detectOfflineLinks>false</detectOfflineLinks>
|
|
<breakiterator>true</breakiterator>
|
|
<version>false</version>
|
|
<author>false</author>
|
|
<keywords>true</keywords>
|
|
</configuration>
|
|
</plugin>
|
|
<plugin>
|
|
<artifactId>maven-deploy-plugin</artifactId>
|
|
<version>2.8.2</version>
|
|
<configuration>
|
|
<retryFailedDeploymentCount>10</retryFailedDeploymentCount>
|
|
</configuration>
|
|
</plugin>
|
|
<plugin>
|
|
<artifactId>maven-release-plugin</artifactId>
|
|
<version>2.5.3</version>
|
|
<configuration>
|
|
<useReleaseProfile>false</useReleaseProfile>
|
|
<arguments>-P restricted-release,sonatype-oss-release,full</arguments>
|
|
<autoVersionSubmodules>true</autoVersionSubmodules>
|
|
<allowTimestampedSnapshots>false</allowTimestampedSnapshots>
|
|
<tagNameFormat>${project.artifactId}-@{project.version}</tagNameFormat>
|
|
</configuration>
|
|
<dependencies>
|
|
<dependency>
|
|
<groupId>org.apache.maven.scm</groupId>
|
|
<artifactId>maven-scm-api</artifactId>
|
|
<version>1.9.4</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.maven.scm</groupId>
|
|
<artifactId>maven-scm-provider-gitexe</artifactId>
|
|
<version>1.9.4</version>
|
|
</dependency>
|
|
</dependencies>
|
|
</plugin>
|
|
</plugins>
|
|
</build>
|
|
|
|
<dependencies>
|
|
<dependency>
|
|
<groupId>io.netty</groupId>
|
|
<artifactId>netty-common</artifactId>
|
|
<version>${netty.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.netty</groupId>
|
|
<artifactId>netty-buffer</artifactId>
|
|
<version>${netty.version}</version>
|
|
</dependency>
|
|
|
|
<!-- Common test dependencies -->
|
|
<dependency>
|
|
<groupId>org.junit.jupiter</groupId>
|
|
<artifactId>junit-jupiter-api</artifactId>
|
|
<version>${junit.version}</version>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.junit.jupiter</groupId>
|
|
<artifactId>junit-jupiter-engine</artifactId>
|
|
<version>${junit.version}</version>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.junit.jupiter</groupId>
|
|
<artifactId>junit-jupiter-params</artifactId>
|
|
<version>${junit.version}</version>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.junit.vintage</groupId>
|
|
<artifactId>junit-vintage-engine</artifactId>
|
|
<version>${junit.version}</version>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>junit</groupId>
|
|
<artifactId>junit</artifactId>
|
|
<version>4.13.1</version>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.assertj</groupId>
|
|
<artifactId>assertj-core</artifactId>
|
|
<version>3.18.0</version>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.mockito</groupId>
|
|
<artifactId>mockito-core</artifactId>
|
|
<version>3.9.0</version>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.netty</groupId>
|
|
<artifactId>netty-build-common</artifactId>
|
|
<version>${netty.build.version}</version>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.netty</groupId>
|
|
<artifactId>netty-handler</artifactId>
|
|
<version>${netty.version}</version>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.netty</groupId>
|
|
<artifactId>netty-codec-http</artifactId>
|
|
<version>${netty.version}</version>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.openjdk.jmh</groupId>
|
|
<artifactId>jmh-core</artifactId>
|
|
<version>1.26</version>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.openjdk.jmh</groupId>
|
|
<artifactId>jmh-generator-annprocess</artifactId>
|
|
<version>1.26</version>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
</dependencies>
|
|
</project> |