[Git][java-team/kitchensink-clojure][master] 5 commits: Fix FTBFS by running tests in a specific order (Closes: #872935).

Cyril Brulebois gitlab at salsa.debian.org
Thu Feb 7 11:34:16 GMT 2019


Cyril Brulebois pushed to branch master at Debian Java Maintainers / kitchensink-clojure


Commits:
95edcea6 by Cyril Brulebois at 2018-12-30T22:26:16Z
Fix FTBFS by running tests in a specific order (Closes: #872935).

Instead of blindly sorting the results of the find command and trusting
it to be right, encode a suitable sequence of tests. Also make sure to
error out when tests are added or removed, to make sure this sequence
get refreshed when needed.

- - - - -
90d33229 by Cyril Brulebois at 2018-12-30T22:26:16Z
Update Vcs-{Browser,Git} to point to salsa (alioth's replacement).

- - - - -
988e6c67 by Cyril Brulebois at 2019-02-01T14:56:32Z
Backport fix from upstream for Clojure 1.9 warnings (dropping the CHANGELOG.md hunk).

- - - - -
c78dd5ad by Cyril Brulebois at 2019-02-01T14:57:49Z
Fix missing debian/pom.xml in Git repository.

- - - - -
c1077101 by Cyril Brulebois at 2019-02-07T11:31:58Z
releasing version 2.3.0-2

- - - - -


7 changed files:

- debian/changelog
- debian/control
- + debian/patches/0001-maint-Fix-Clojure-1.9-warnings.patch
- + debian/patches/series
- + debian/pom.xml
- debian/rules
- src/puppetlabs/kitchensink/core.clj


Changes:

=====================================
debian/changelog
=====================================
@@ -1,3 +1,18 @@
+kitchensink-clojure (2.3.0-2) unstable; urgency=medium
+
+  * Team upload.
+  * Fix FTBFS by running tests in a specific order. Instead of blindly
+    sorting the results of the find command and trusting it to be right,
+    encode a suitable sequence of tests (Closes: #872935). Also make sure
+    to error out when tests are added or removed, to make sure this
+    sequence get refreshed when needed.
+  * Update Vcs-{Browser,Git} to point to salsa (alioth's replacement).
+  * Backport fix from upstream for Clojure 1.9 warnings (dropping the
+    CHANGELOG.md hunk).
+  * Fix missing debian/pom.xml in Git repository.
+
+ -- Cyril Brulebois <kibi at debian.org>  Thu, 07 Feb 2019 12:31:39 +0100
+
 kitchensink-clojure (2.3.0-1) unstable; urgency=medium
 
   * Initial release (Closes: #855739)


=====================================
debian/control
=====================================
@@ -19,8 +19,8 @@ Build-Depends: clojure (>= 1.8),
                markdown,
                maven-repo-helper (>= 1.5~)
 Standards-Version: 4.0.0
-Vcs-Git: https://anonscm.debian.org/git/pkg-java/kitchensink-clojure.git
-Vcs-Browser: https://anonscm.debian.org/git/pkg-java/kitchensink-clojure.git
+Vcs-Git: https://salsa.debian.org/java-team/kitchensink-clojure.git
+Vcs-Browser: https://salsa.debian.org/java-team/kitchensink-clojure
 Homepage: https://github.com/puppetlabs/clj-kitchensink
 
 Package: libkitchensink-clojure


=====================================
debian/patches/0001-maint-Fix-Clojure-1.9-warnings.patch
=====================================
@@ -0,0 +1,29 @@
+From 648486306882013f383baf45df680d970d382a4a Mon Sep 17 00:00:00 2001
+From: Russell Mull <russell.mull at puppetlabs.com>
+Date: Tue, 26 Sep 2017 13:59:08 -0700
+Subject: [PATCH] (maint) Fix Clojure 1.9 warnings
+
+In verison 1.9, clojure gets the boolean? and uuid? predicates in clojure.core.
+Exclude these from kitchensink.core to avoid duplicate definition warnings.
+---
+ CHANGELOG.md                        | 7 +++++++
+ src/puppetlabs/kitchensink/core.clj | 1 +
+ 2 files changed, 8 insertions(+)
+---
+Note: CHANGELOG.md part skipped in this patch.
+
+diff --git a/src/puppetlabs/kitchensink/core.clj b/src/puppetlabs/kitchensink/core.clj
+index d3d9f68..2ce0f11 100644
+--- a/src/puppetlabs/kitchensink/core.clj
++++ b/src/puppetlabs/kitchensink/core.clj
+@@ -5,6 +5,7 @@
+ ;; altogether. But who has time for that?
+ 
+ (ns puppetlabs.kitchensink.core
++  (:refer-clojure :exclude [boolean? uuid?])
+   (:import [org.ini4j Ini Config BasicProfileSection]
+            [javax.naming.ldap LdapName]
+            [java.io StringWriter Reader File])
+-- 
+2.11.0
+


=====================================
debian/patches/series
=====================================
@@ -0,0 +1 @@
+0001-maint-Fix-Clojure-1.9-warnings.patch


=====================================
debian/pom.xml
=====================================
@@ -0,0 +1,381 @@
+<?xml version="1.0" encoding="UTF-8"?><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>
+  <groupId>puppetlabs</groupId>
+  <artifactId>kitchensink</artifactId>
+  <packaging>jar</packaging>
+  <version>2.3.0</version>
+  <name>kitchensink</name>
+  <description>Clojure utility functions</description>
+  <licenses>
+    <license>
+      <name>Apache License, Version 2.0</name>
+      <url>http://www.apache.org/licenses/LICENSE-2.0.html</url>
+    </license>
+  </licenses>
+  <scm>
+    <tag>274e50f32bb6efdb11e2b241d26002fcf4f946a2
+</tag>
+    <url/>
+  </scm>
+  <build>
+    <sourceDirectory>src</sourceDirectory>
+    <testSourceDirectory>test</testSourceDirectory>
+    <resources>
+      <resource>
+        <directory>resources</directory>
+      </resource>
+    </resources>
+    <testResources>
+      <testResource>
+        <directory>resources</directory>
+      </testResource>
+    </testResources>
+    <directory>target</directory>
+    <outputDirectory>target/classes</outputDirectory>
+    <plugins/>
+  </build>
+  <repositories>
+    <repository>
+      <id>central</id>
+      <url>https://repo1.maven.org/maven2/</url>
+      <snapshots>
+        <enabled>false</enabled>
+      </snapshots>
+      <releases>
+        <enabled>true</enabled>
+      </releases>
+    </repository>
+    <repository>
+      <id>clojars</id>
+      <url>https://clojars.org/repo/</url>
+      <snapshots>
+        <enabled>true</enabled>
+      </snapshots>
+      <releases>
+        <enabled>true</enabled>
+      </releases>
+    </repository>
+  </repositories>
+  <dependencyManagement>
+    <dependencies>
+      <dependency>
+        <groupId>org.clojure</groupId>
+        <artifactId>clojure</artifactId>
+        <version>1.8.0</version>
+      </dependency>
+      <dependency>
+        <groupId>org.clojure</groupId>
+        <artifactId>tools.logging</artifactId>
+        <version>0.2.6</version>
+      </dependency>
+      <dependency>
+        <groupId>org.clojure</groupId>
+        <artifactId>tools.cli</artifactId>
+        <version>0.3.3</version>
+      </dependency>
+      <dependency>
+        <groupId>org.clojure</groupId>
+        <artifactId>tools.nrepl</artifactId>
+        <version>0.2.6</version>
+      </dependency>
+      <dependency>
+        <groupId>org.clojure</groupId>
+        <artifactId>tools.macro</artifactId>
+        <version>0.1.2</version>
+      </dependency>
+      <dependency>
+        <groupId>org.clojure</groupId>
+        <artifactId>java.jmx</artifactId>
+        <version>0.3.1</version>
+      </dependency>
+      <dependency>
+        <groupId>org.clojure</groupId>
+        <artifactId>core.async</artifactId>
+        <version>0.2.391</version>
+      </dependency>
+      <dependency>
+        <groupId>org.clojure</groupId>
+        <artifactId>tools.reader</artifactId>
+        <version>1.0.0-beta2</version>
+      </dependency>
+      <dependency>
+        <groupId>org.clojure</groupId>
+        <artifactId>tools.namespace</artifactId>
+        <version>0.2.10</version>
+      </dependency>
+      <dependency>
+        <groupId>org.slf4j</groupId>
+        <artifactId>log4j-over-slf4j</artifactId>
+        <version>1.7.20</version>
+      </dependency>
+      <dependency>
+        <groupId>org.slf4j</groupId>
+        <artifactId>slf4j-api</artifactId>
+        <version>1.7.20</version>
+      </dependency>
+      <dependency>
+        <groupId>ch.qos.logback</groupId>
+        <artifactId>logback-classic</artifactId>
+        <version>1.1.7</version>
+      </dependency>
+      <dependency>
+        <groupId>ch.qos.logback</groupId>
+        <artifactId>logback-core</artifactId>
+        <version>1.1.7</version>
+      </dependency>
+      <dependency>
+        <groupId>ch.qos.logback</groupId>
+        <artifactId>logback-access</artifactId>
+        <version>1.1.7</version>
+      </dependency>
+      <dependency>
+        <groupId>org.codehaus.janino</groupId>
+        <artifactId>janino</artifactId>
+        <version>2.7.8</version>
+      </dependency>
+      <dependency>
+        <groupId>com.fasterxml.jackson.core</groupId>
+        <artifactId>jackson-core</artifactId>
+        <version>2.7.3</version>
+      </dependency>
+      <dependency>
+        <groupId>org.apache.commons</groupId>
+        <artifactId>commons-exec</artifactId>
+        <version>1.3</version>
+      </dependency>
+      <dependency>
+        <groupId>commons-codec</groupId>
+        <artifactId>commons-codec</artifactId>
+        <version>1.9</version>
+      </dependency>
+      <dependency>
+        <groupId>commons-lang</groupId>
+        <artifactId>commons-lang</artifactId>
+        <version>2.6</version>
+      </dependency>
+      <dependency>
+        <groupId>commons-io</groupId>
+        <artifactId>commons-io</artifactId>
+        <version>2.4</version>
+      </dependency>
+      <dependency>
+        <groupId>joda-time</groupId>
+        <artifactId>joda-time</artifactId>
+        <version>2.8.2</version>
+      </dependency>
+      <dependency>
+        <groupId>clj-time</groupId>
+        <artifactId>clj-time</artifactId>
+        <version>0.11.0</version>
+      </dependency>
+      <dependency>
+        <groupId>clj-yaml</groupId>
+        <artifactId>clj-yaml</artifactId>
+        <version>0.4.0</version>
+      </dependency>
+      <dependency>
+        <groupId>me.raynes</groupId>
+        <artifactId>fs</artifactId>
+        <version>1.4.6</version>
+      </dependency>
+      <dependency>
+        <groupId>slingshot</groupId>
+        <artifactId>slingshot</artifactId>
+        <version>0.12.2</version>
+      </dependency>
+      <dependency>
+        <groupId>cheshire</groupId>
+        <artifactId>cheshire</artifactId>
+        <version>5.6.1</version>
+      </dependency>
+      <dependency>
+        <groupId>compojure</groupId>
+        <artifactId>compojure</artifactId>
+        <version>1.1.8</version>
+      </dependency>
+      <dependency>
+        <groupId>ring</groupId>
+        <artifactId>ring-servlet</artifactId>
+        <version>1.4.0</version>
+      </dependency>
+      <dependency>
+        <groupId>ring</groupId>
+        <artifactId>ring-core</artifactId>
+        <version>1.4.0</version>
+      </dependency>
+      <dependency>
+        <groupId>ring</groupId>
+        <artifactId>ring-codec</artifactId>
+        <version>1.0.0</version>
+      </dependency>
+      <dependency>
+        <groupId>ring-basic-authentication</groupId>
+        <artifactId>ring-basic-authentication</artifactId>
+        <version>1.0.5</version>
+      </dependency>
+      <dependency>
+        <groupId>ring-mock</groupId>
+        <artifactId>ring-mock</artifactId>
+        <version>0.1.5</version>
+      </dependency>
+      <dependency>
+        <groupId>beckon</groupId>
+        <artifactId>beckon</artifactId>
+        <version>0.1.1</version>
+      </dependency>
+      <dependency>
+        <groupId>hiccup</groupId>
+        <artifactId>hiccup</artifactId>
+        <version>1.0.5</version>
+      </dependency>
+      <dependency>
+        <groupId>liberator</groupId>
+        <artifactId>liberator</artifactId>
+        <version>0.12.0</version>
+      </dependency>
+      <dependency>
+        <groupId>prismatic</groupId>
+        <artifactId>plumbing</artifactId>
+        <version>0.4.2</version>
+      </dependency>
+      <dependency>
+        <groupId>prismatic</groupId>
+        <artifactId>schema</artifactId>
+        <version>1.1.1</version>
+      </dependency>
+      <dependency>
+        <groupId>puppetlabs</groupId>
+        <artifactId>http-client</artifactId>
+        <version>0.5.0</version>
+      </dependency>
+      <dependency>
+        <groupId>puppetlabs</groupId>
+        <artifactId>typesafe-config</artifactId>
+        <version>0.1.5</version>
+      </dependency>
+      <dependency>
+        <groupId>puppetlabs</groupId>
+        <artifactId>ssl-utils</artifactId>
+        <version>0.8.1</version>
+      </dependency>
+      <dependency>
+        <groupId>puppetlabs</groupId>
+        <artifactId>kitchensink</artifactId>
+        <version>1.4.0</version>
+      </dependency>
+      <dependency>
+        <groupId>puppetlabs</groupId>
+        <artifactId>kitchensink</artifactId>
+        <version>1.4.0</version>
+        <classifier>test</classifier>
+      </dependency>
+      <dependency>
+        <groupId>puppetlabs</groupId>
+        <artifactId>trapperkeeper</artifactId>
+        <version>1.5.2</version>
+      </dependency>
+      <dependency>
+        <groupId>puppetlabs</groupId>
+        <artifactId>trapperkeeper</artifactId>
+        <version>1.5.2</version>
+        <classifier>test</classifier>
+      </dependency>
+      <dependency>
+        <groupId>puppetlabs</groupId>
+        <artifactId>trapperkeeper-webserver-jetty9</artifactId>
+        <version>1.5.11</version>
+      </dependency>
+      <dependency>
+        <groupId>puppetlabs</groupId>
+        <artifactId>trapperkeeper-webserver-jetty9</artifactId>
+        <version>1.5.11</version>
+        <classifier>test</classifier>
+      </dependency>
+      <dependency>
+        <groupId>puppetlabs</groupId>
+        <artifactId>trapperkeeper-authorization</artifactId>
+        <version>0.7.0</version>
+      </dependency>
+      <dependency>
+        <groupId>puppetlabs</groupId>
+        <artifactId>trapperkeeper-scheduler</artifactId>
+        <version>0.0.1</version>
+      </dependency>
+      <dependency>
+        <groupId>puppetlabs</groupId>
+        <artifactId>trapperkeeper-status</artifactId>
+        <version>0.3.5</version>
+      </dependency>
+      <dependency>
+        <groupId>puppetlabs</groupId>
+        <artifactId>ring-middleware</artifactId>
+        <version>1.0.0</version>
+      </dependency>
+      <dependency>
+        <groupId>puppetlabs</groupId>
+        <artifactId>dujour-version-check</artifactId>
+        <version>0.1.2</version>
+      </dependency>
+      <dependency>
+        <groupId>puppetlabs</groupId>
+        <artifactId>comidi</artifactId>
+        <version>0.3.1</version>
+      </dependency>
+      <dependency>
+        <groupId>puppetlabs</groupId>
+        <artifactId>i18n</artifactId>
+        <version>0.4.3</version>
+      </dependency>
+    </dependencies>
+  </dependencyManagement>
+  <dependencies>
+    <dependency>
+      <groupId>org.clojure</groupId>
+      <artifactId>clojure</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.clojure</groupId>
+      <artifactId>tools.logging</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.clojure</groupId>
+      <artifactId>tools.cli</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>clj-time</groupId>
+      <artifactId>clj-time</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>me.raynes</groupId>
+      <artifactId>fs</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>slingshot</groupId>
+      <artifactId>slingshot</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>cheshire</groupId>
+      <artifactId>cheshire</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.ini4j</groupId>
+      <artifactId>ini4j</artifactId>
+      <version>0.5.2</version>
+    </dependency>
+    <dependency>
+      <groupId>org.tcrawley</groupId>
+      <artifactId>dynapath</artifactId>
+      <version>0.2.5</version>
+    </dependency>
+    <dependency>
+      <groupId>digest</groupId>
+      <artifactId>digest</artifactId>
+      <version>1.4.3</version>
+    </dependency>
+  </dependencies>
+</project>
+
+<!-- This file was autogenerated by Leiningen.
+  Please do not edit it directly; instead edit project.clj and regenerate it.
+  It should not be considered canonical data. For more information see
+  https://github.com/technomancy/leiningen -->


=====================================
debian/rules
=====================================
@@ -26,10 +26,21 @@ override_jh_clean:
 override_jh_classpath:
 	jh_classpath $(PRODUCED_JAR)
 
+# Tests can't run in a random order (#872935):
+override_dh_auto_test: ORDERED_TESTS=puppetlabs/kitchensink/classpath_test.clj puppetlabs/kitchensink/core_test.clj puppetlabs/kitchensink/json_test.clj
+override_dh_auto_test: EXPECTED=$(shell echo "$(ORDERED_TESTS)" | sed 's/ /\n/g' | sort | xargs)
+override_dh_auto_test: FOUND=$(shell cd test && find -name '*_test.clj' | sed 's,^[.]/,,' | sort | xargs)
 override_dh_auto_test:
-	dh_auto_test
-	(cd test && find . -name "*_test.clj" | \
-		xargs --verbose clojure -cp $(CURDIR)/$(PRODUCED_JAR):$(CLASSPATH))
+	# Make sure to detect when tests appear or disappear:
+	@if [ "$(FOUND)" != "$(EXPECTED)" ]; then \
+		echo "E: sanity check failed, available tests don't match known tests:"; \
+		echo "    - found:    $(FOUND)"; \
+		echo "    - expected: $(EXPECTED)"; \
+		echo "=> Please update ORDERED_TESTS in debian/rules accordingly"; \
+		exit 1; \
+	fi
+	# Run tests:
+	(cd test && clojure -cp $(CURDIR)/$(PRODUCED_JAR):$(CLASSPATH):$(TEST_CLASSPATH) $(ORDERED_TESTS))
 
 get-orig-source:
 	uscan --download-version $(DEB_VERSION_UPSTREAM) --force-download --rename


=====================================
src/puppetlabs/kitchensink/core.clj
=====================================
@@ -5,6 +5,7 @@
 ;; altogether. But who has time for that?
 
 (ns puppetlabs.kitchensink.core
+  (:refer-clojure :exclude [boolean? uuid?])
   (:import [org.ini4j Ini Config BasicProfileSection]
            [javax.naming.ldap LdapName]
            [java.io StringWriter Reader File])



View it on GitLab: https://salsa.debian.org/java-team/kitchensink-clojure/compare/c129d07a3a34d996540e561f53ec9ee132fd834a...c1077101004a453b6c3dbe8720828ff9e8773449

-- 
View it on GitLab: https://salsa.debian.org/java-team/kitchensink-clojure/compare/c129d07a3a34d996540e561f53ec9ee132fd834a...c1077101004a453b6c3dbe8720828ff9e8773449
You're receiving this email because of your account on salsa.debian.org.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/pkg-java-commits/attachments/20190207/bb6001a3/attachment.html>


More information about the pkg-java-commits mailing list