[Git][java-team/jruby][experimental] 2 commits: d/tests: improve common prepare function

Jérôme Charaoui (@lavamind) gitlab at salsa.debian.org
Mon Feb 19 15:40:16 GMT 2024



Jérôme Charaoui pushed to branch experimental at Debian Java Maintainers / jruby


Commits:
f555c7f4 by Jérôme Charaoui at 2024-02-19T10:39:52-05:00
d/tests: improve common prepare function

- use AUTOPKGTEST_TMP instead of /tmp to benefit from post-test cleanup
- use gem-version instead of shell globs
- use GEM_PATH instead of GEM_HOME, avoids need to copy stdlib
- use symlinks instead of copying files

- - - - -
013635ab by Jérôme Charaoui at 2024-02-19T10:39:53-05:00
Update changelog

- - - - -


4 changed files:

- debian/changelog
- debian/tests/common.sh
- debian/tests/control
- debian/tests/jgem


Changes:

=====================================
debian/changelog
=====================================
@@ -1,3 +1,16 @@
+jruby (9.4.5.0+ds-1~exp1) UNRELEASED; urgency=medium
+
+  * New upstream version 9.4.5.0+ds
+  * improve rubygems download script
+  * d/gbp.conf: add postimport for rubygems download
+  * d/patches: drop patches applied upstream
+  * d/patches: refresh patches for new upstream version
+  * d/rules: drop get-orig-source target
+  * d/patches: add upstream patch to fix mri-stdlib test
+  * d/tests: improve common prepare function
+
+ -- Jérôme Charaoui <jerome at riseup.net>  Sun, 18 Feb 2024 20:50:26 -0500
+
 jruby (9.4.3.0+ds-1~exp2) experimental; urgency=medium
 
   * d/tests:


=====================================
debian/tests/common.sh
=====================================
@@ -10,27 +10,33 @@ prepare() {
     export CI=1
     export JOBS=2
 
-    # create a writeable GEM_HOME in /tmp
+    # create an additional directory for GEM_PATH
     # with extra gems needed to run the testsuite
-    rm -rf /tmp/jruby_gems
-    mkdir /tmp/jruby_gems
-    cp -a /usr/share/jruby/lib/ruby/gems/shared/* /tmp/jruby_gems
+    export GEM_TEMP="$AUTOPKGTEST_TMP/gem_temp"
+    mkdir -p "${GEM_TEMP}/gems" "${GEM_TEMP}/specifications"
+
+    # add test-required gems from system
+    RUBY_API_VERSION=$(/usr/bin/ruby -e "require 'ruby_debian_dev'; puts RubyDebianDev::RUBY_API_VERSION.values.first")
+    echo "installing system gems into jruby:"
 	for gem in diff-lcs minitest power_assert rake rexml rspec rspec-core rspec-expectations rspec-mocks rspec-support test-unit; do
 		# some gems are copied from libruby*, others from local rubygems
-		if test -e /usr/lib/ruby/gems/*/gems/${gem}-*; then
-			gembase="/usr/lib/ruby/gems/*"
+        gem_version=$(find "/usr/lib/ruby/gems/${RUBY_API_VERSION}/gems" /usr/share/rubygems-integration/all/gems \
+            -maxdepth 1 -type d -regex ".*/${gem}-[0-9\.]+" -printf "%f\n" -quit)
+		if test -e "/usr/lib/ruby/gems/${RUBY_API_VERSION}/gems/${gem_version}"; then
+			gembase="/usr/lib/ruby/gems/${RUBY_API_VERSION}"
 		else
 			gembase=/usr/share/rubygems-integration/all
 		fi
-		echo "installing ${gem} gem into jruby ..."
-		cp -a ${gembase}/gems/${gem}-* /tmp/jruby_gems/gems
-		cp -a ${gembase}/specifications/${gem}-* /tmp/jruby_gems/specifications
+		echo "* ${gem_version}"
+		ln -s "${gembase}/gems/${gem_version}" "${GEM_TEMP}/gems"
+		ln -s "${gembase}/specifications/${gem_version}.gemspec" "${GEM_TEMP}/specifications"
 	done
-    export GEM_HOME=/tmp/jruby_gems
 
     # copy/fixup the rake binary
     cp /usr/bin/rake ./bin
     sed -i '1s|^#!.*|#!/usr/bin/jruby|' ./bin/rake
+
+    export GEM_PATH="/usr/share/jruby/lib/ruby/gems/shared:${GEM_TEMP}"
 }
 
 spec_skip() {


=====================================
debian/tests/control
=====================================
@@ -4,6 +4,7 @@ Restrictions: superficial
 Tests: jgem
 Depends:
  rake,
+ ruby-all-dev,
  ruby-diff-lcs,
  ruby-minitest,
  ruby-power-assert,
@@ -25,6 +26,7 @@ Depends:
  junit4,
  libjakarta-annotation-api-java,
  rake,
+ ruby-all-dev,
  ruby-diff-lcs,
  ruby-minitest,
  ruby-power-assert,
@@ -37,6 +39,7 @@ Tests: spec-compiler
 Depends:
  ant,
  rake,
+ ruby-all-dev,
  ruby-diff-lcs,
  ruby-minitest,
  ruby-power-assert,
@@ -50,6 +53,7 @@ Depends:
  ant,
  build-essential,
  rake,
+ ruby-all-dev,
  ruby-diff-lcs,
  ruby-minitest,
  ruby-power-assert,
@@ -66,6 +70,7 @@ Depends:
  libjakarta-annotation-api-java,
  libjarjar-java,
  rake,
+ ruby-all-dev,
  ruby-diff-lcs,
  ruby-minitest,
  ruby-power-assert,
@@ -79,6 +84,7 @@ Tests: spec-jruby
 Depends:
  ant,
  rake,
+ ruby-all-dev,
  ruby-diff-lcs,
  ruby-minitest,
  ruby-power-assert,
@@ -91,6 +97,7 @@ Tests: spec-ruby
 Depends:
  ant,
  rake,
+ ruby-all-dev,
  ruby-diff-lcs,
  ruby-minitest,
  ruby-power-assert,
@@ -103,6 +110,7 @@ Tests: mri-core
 Depends:
  ant,
  rake,
+ ruby-all-dev,
  ruby-diff-lcs,
  ruby-minitest,
  ruby-power-assert,
@@ -115,6 +123,7 @@ Tests: mri-extra
 Depends:
  ant,
  rake,
+ ruby-all-dev,
  ruby-diff-lcs,
  ruby-minitest,
  ruby-power-assert,
@@ -127,6 +136,7 @@ Tests: mri-stdlib
 Depends:
  ant,
  rake,
+ ruby-all-dev,
  ruby-diff-lcs,
  ruby-minitest,
  ruby-power-assert,


=====================================
debian/tests/jgem
=====================================
@@ -6,6 +6,11 @@ prepare
 
 cd "$AUTOPKGTEST_TMP"
 
+# setup writeable GEM_HOME
+export GEM_HOME="${AUTOPKGTEST_TMP}/gem_home"
+export GEM_PATH="${GEM_PATH}:${AUTOPKGTEST_TMP}/gem_home"
+mkdir "${AUTOPKGTEST_TMP}/gem_home"
+
 # Test jgem functionality
 
 # check if default local gems exist



View it on GitLab: https://salsa.debian.org/java-team/jruby/-/compare/aa5520643c44f638ede556c262ea81bb9d9a1570...013635ab2ae4fd91f1359888d3c1607835daf3c4

-- 
View it on GitLab: https://salsa.debian.org/java-team/jruby/-/compare/aa5520643c44f638ede556c262ea81bb9d9a1570...013635ab2ae4fd91f1359888d3c1607835daf3c4
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/20240219/08a62f53/attachment.htm>


More information about the pkg-java-commits mailing list