269 lines
9.2 KiB
Diff
269 lines
9.2 KiB
Diff
From 3a32ce8695f891d8051cccd5273758d3cd9ce54c Mon Sep 17 00:00:00 2001
|
|
From: =?UTF-8?q?Fridrich=20=C5=A0trba?= <fridrich.strba@bluewin.ch>
|
|
Date: Wed, 4 Oct 2023 08:32:33 +0200
|
|
Subject: [PATCH 7/7] Test that we don't bomb on <relativePath/>
|
|
|
|
---
|
|
test/data/install_pom/empty_relpath.pom | 182 ++++++++++++++++++
|
|
.../install_pom/test_empty_relpath-want.xml | 39 ++++
|
|
test/install_pom_test.py | 7 +
|
|
3 files changed, 228 insertions(+)
|
|
create mode 100644 test/data/install_pom/empty_relpath.pom
|
|
create mode 100644 test/data/install_pom/test_empty_relpath-want.xml
|
|
|
|
diff --git a/test/data/install_pom/empty_relpath.pom b/test/data/install_pom/empty_relpath.pom
|
|
new file mode 100644
|
|
index 00000000..785b9710
|
|
--- /dev/null
|
|
+++ b/test/data/install_pom/empty_relpath.pom
|
|
@@ -0,0 +1,182 @@
|
|
+<?xml version="1.0" encoding="UTF-8"?>
|
|
+<!--
|
|
+ Licensed to the Apache Software Foundation (ASF) under one
|
|
+ or more contributor license agreements. See the NOTICE file
|
|
+ distributed with this work for additional information
|
|
+ regarding copyright ownership. The ASF 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
|
|
+
|
|
+ http://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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
|
+ <modelVersion>4.0.0</modelVersion>
|
|
+
|
|
+ <parent>
|
|
+ <groupId>org.apache.maven.shared</groupId>
|
|
+ <artifactId>maven-shared-components</artifactId>
|
|
+ <version>39</version>
|
|
+ <relativePath />
|
|
+ </parent>
|
|
+
|
|
+ <artifactId>maven-filtering</artifactId>
|
|
+ <version>3.3.1</version>
|
|
+
|
|
+ <name>Apache Maven Filtering</name>
|
|
+ <description>A component to assist in filtering of resource files with properties from a Maven project.</description>
|
|
+
|
|
+ <contributors>
|
|
+ <contributor>
|
|
+ <name>Graham Leggett</name>
|
|
+ </contributor>
|
|
+ </contributors>
|
|
+
|
|
+ <scm>
|
|
+ <connection>scm:git:https://gitbox.apache.org/repos/asf/maven-filtering.git</connection>
|
|
+ <developerConnection>scm:git:https://gitbox.apache.org/repos/asf/maven-filtering.git</developerConnection>
|
|
+ <tag>maven-filtering-3.3.1</tag>
|
|
+ <url>https://github.com/apache/maven-filtering/tree/${project.scm.tag}</url>
|
|
+ </scm>
|
|
+ <issueManagement>
|
|
+ <system>JIRA</system>
|
|
+ <url>https://issues.apache.org/jira/issues/?jql=project%20%3D%20MSHARED%20AND%20component%20%3D%20maven-filtering</url>
|
|
+ </issueManagement>
|
|
+ <ciManagement>
|
|
+ <system>Jenkins</system>
|
|
+ <url>https://ci-maven.apache.org/job/Maven/job/maven-box/job/maven-filtering/</url>
|
|
+ </ciManagement>
|
|
+ <distributionManagement>
|
|
+ <site>
|
|
+ <id>apache.website</id>
|
|
+ <url>scm:svn:https://svn.apache.org/repos/asf/maven/website/components/${maven.site.path}</url>
|
|
+ </site>
|
|
+ </distributionManagement>
|
|
+
|
|
+ <properties>
|
|
+ <javaVersion>8</javaVersion>
|
|
+ <mavenVersion>3.2.5</mavenVersion>
|
|
+ <slf4jVersion>1.7.36</slf4jVersion>
|
|
+ <plexusBuildApiVersion>0.0.7</plexusBuildApiVersion>
|
|
+ <project.build.outputTimestamp>2023-03-21T10:53:39Z</project.build.outputTimestamp>
|
|
+ </properties>
|
|
+
|
|
+ <dependencies>
|
|
+ <dependency>
|
|
+ <groupId>javax.inject</groupId>
|
|
+ <artifactId>javax.inject</artifactId>
|
|
+ <version>1</version>
|
|
+ </dependency>
|
|
+ <dependency>
|
|
+ <groupId>org.slf4j</groupId>
|
|
+ <artifactId>slf4j-api</artifactId>
|
|
+ <version>${slf4jVersion}</version>
|
|
+ </dependency>
|
|
+ <dependency>
|
|
+ <groupId>org.sonatype.plexus</groupId>
|
|
+ <artifactId>plexus-build-api</artifactId>
|
|
+ <version>${plexusBuildApiVersion}</version>
|
|
+ </dependency>
|
|
+ <dependency>
|
|
+ <groupId>org.apache.maven</groupId>
|
|
+ <artifactId>maven-core</artifactId>
|
|
+ <version>${mavenVersion}</version>
|
|
+ <scope>provided</scope>
|
|
+ </dependency>
|
|
+ <dependency>
|
|
+ <groupId>org.apache.maven</groupId>
|
|
+ <artifactId>maven-model</artifactId>
|
|
+ <version>${mavenVersion}</version>
|
|
+ <scope>provided</scope>
|
|
+ </dependency>
|
|
+ <dependency>
|
|
+ <groupId>org.apache.maven</groupId>
|
|
+ <artifactId>maven-settings</artifactId>
|
|
+ <version>${mavenVersion}</version>
|
|
+ <scope>provided</scope>
|
|
+ </dependency>
|
|
+ <dependency>
|
|
+ <groupId>org.codehaus.plexus</groupId>
|
|
+ <artifactId>plexus-utils</artifactId>
|
|
+ <version>3.5.1</version>
|
|
+ </dependency>
|
|
+ <dependency>
|
|
+ <groupId>org.codehaus.plexus</groupId>
|
|
+ <artifactId>plexus-interpolation</artifactId>
|
|
+ <version>1.26</version>
|
|
+ </dependency>
|
|
+ <dependency>
|
|
+ <groupId>commons-io</groupId>
|
|
+ <artifactId>commons-io</artifactId>
|
|
+ <version>2.11.0</version>
|
|
+ </dependency>
|
|
+
|
|
+ <dependency>
|
|
+ <groupId>org.mockito</groupId>
|
|
+ <artifactId>mockito-core</artifactId>
|
|
+ <version>4.7.0</version>
|
|
+ <scope>test</scope>
|
|
+ </dependency>
|
|
+ <dependency>
|
|
+ <groupId>junit</groupId>
|
|
+ <artifactId>junit</artifactId>
|
|
+ <version>4.13.2</version>
|
|
+ <scope>test</scope>
|
|
+ </dependency>
|
|
+ <dependency>
|
|
+ <groupId>org.hamcrest</groupId>
|
|
+ <artifactId>hamcrest-core</artifactId>
|
|
+ <version>2.2</version>
|
|
+ <scope>test</scope>
|
|
+ </dependency>
|
|
+ <dependency>
|
|
+ <groupId>org.slf4j</groupId>
|
|
+ <artifactId>slf4j-simple</artifactId>
|
|
+ <version>${slf4jVersion}</version>
|
|
+ <scope>test</scope>
|
|
+ </dependency>
|
|
+ <dependency>
|
|
+ <groupId>org.sonatype.plexus</groupId>
|
|
+ <artifactId>plexus-build-api</artifactId>
|
|
+ <version>${plexusBuildApiVersion}</version>
|
|
+ <classifier>tests</classifier>
|
|
+ <scope>test</scope>
|
|
+ </dependency>
|
|
+ <dependency>
|
|
+ <groupId>org.eclipse.sisu</groupId>
|
|
+ <artifactId>org.eclipse.sisu.plexus</artifactId>
|
|
+ <scope>test</scope>
|
|
+ </dependency>
|
|
+ <dependency>
|
|
+ <groupId>org.eclipse.sisu</groupId>
|
|
+ <artifactId>org.eclipse.sisu.inject</artifactId>
|
|
+ <scope>test</scope>
|
|
+ </dependency>
|
|
+
|
|
+ </dependencies>
|
|
+
|
|
+ <build>
|
|
+ <plugins>
|
|
+ <plugin>
|
|
+ <groupId>org.apache.rat</groupId>
|
|
+ <artifactId>apache-rat-plugin</artifactId>
|
|
+ <configuration>
|
|
+ <excludes combine.children="append">
|
|
+ <exclude>src/test/units-files/**</exclude>
|
|
+ </excludes>
|
|
+ </configuration>
|
|
+ </plugin>
|
|
+ <plugin>
|
|
+ <groupId>org.eclipse.sisu</groupId>
|
|
+ <artifactId>sisu-maven-plugin</artifactId>
|
|
+ </plugin>
|
|
+ </plugins>
|
|
+ </build>
|
|
+</project>
|
|
diff --git a/test/data/install_pom/test_empty_relpath-want.xml b/test/data/install_pom/test_empty_relpath-want.xml
|
|
new file mode 100644
|
|
index 00000000..03bd1115
|
|
--- /dev/null
|
|
+++ b/test/data/install_pom/test_empty_relpath-want.xml
|
|
@@ -0,0 +1,39 @@
|
|
+<?xml version='1.0' encoding='UTF-8'?>
|
|
+<project xmlns="http://maven.apache.org/POM/4.0.0">
|
|
+ <modelVersion>4.0.0</modelVersion>
|
|
+ <groupId>org.apache.maven.shared</groupId>
|
|
+ <artifactId>maven-filtering</artifactId>
|
|
+ <version>3.3.1</version>
|
|
+ <dependencies>
|
|
+ <dependency>
|
|
+ <groupId>javax.inject</groupId>
|
|
+ <artifactId>javax.inject</artifactId>
|
|
+ <version>1</version>
|
|
+ </dependency>
|
|
+ <dependency>
|
|
+ <groupId>org.slf4j</groupId>
|
|
+ <artifactId>slf4j-api</artifactId>
|
|
+ <version>1.7.36</version>
|
|
+ </dependency>
|
|
+ <dependency>
|
|
+ <groupId>org.sonatype.plexus</groupId>
|
|
+ <artifactId>plexus-build-api</artifactId>
|
|
+ <version>0.0.7</version>
|
|
+ </dependency>
|
|
+ <dependency>
|
|
+ <groupId>org.codehaus.plexus</groupId>
|
|
+ <artifactId>plexus-utils</artifactId>
|
|
+ <version>3.5.1</version>
|
|
+ </dependency>
|
|
+ <dependency>
|
|
+ <groupId>org.codehaus.plexus</groupId>
|
|
+ <artifactId>plexus-interpolation</artifactId>
|
|
+ <version>1.26</version>
|
|
+ </dependency>
|
|
+ <dependency>
|
|
+ <groupId>commons-io</groupId>
|
|
+ <artifactId>commons-io</artifactId>
|
|
+ <version>2.11.0</version>
|
|
+ </dependency>
|
|
+ </dependencies>
|
|
+</project>
|
|
\ No newline at end of file
|
|
diff --git a/test/install_pom_test.py b/test/install_pom_test.py
|
|
index db79c001..a39f3aa4 100644
|
|
--- a/test/install_pom_test.py
|
|
+++ b/test/install_pom_test.py
|
|
@@ -103,6 +103,13 @@ class TestInstallPom(unittest.TestCase):
|
|
result)
|
|
self.assertEqual(report, '', report)
|
|
|
|
+ @install_pom('empty_relpath.pom')
|
|
+ def test_empty_relpath(self, stdout, stderr, return_value, result):
|
|
+ self.assertEqual(return_value, 0, stderr)
|
|
+ report = self.check_result(inspect.currentframe().f_code.co_name,
|
|
+ result)
|
|
+ self.assertEqual(report, '', report)
|
|
+
|
|
@install_pom(os.path.join('xmvn', 'xmvn-tools', 'xmvn-install', 'pom.xml'))
|
|
def test_parent_chain(self, stdout, stderr, return_value, result):
|
|
self.assertEqual(return_value, 0, stderr)
|
|
--
|
|
2.42.0
|
|
|