From: "Artyom V. Poptsov" <poptsov.artyom@gmail.com>
To: 56112@debbugs.gnu.org
Subject: [bug#56112] [PATCH] gnu: Add java-lambdatest
Date: Mon, 20 Jun 2022 22:26:10 +0300 [thread overview]
Message-ID: <87r13j3zn1.fsf@gmail.com> (raw)
[-- Attachment #1.1: Type: text/plain, Size: 157 bytes --]
Hello,
this patch adds "LambdaTest" under the name "java-lambdatest". [1]
"LambdaTest" package is required to pack "java-cmdoption" [2] package
properly.
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1.2: 0001-gnu-Add-java-lambdatest.patch --]
[-- Type: text/x-diff, Size: 5785 bytes --]
From 2eff8e7fc79336f6eb7795fd942daeb07da63f00 Mon Sep 17 00:00:00 2001
From: "Artyom V. Poptsov" <poptsov.artyom@gmail.com>
Date: Mon, 20 Jun 2022 22:06:28 +0300
Subject: [PATCH] gnu: Add java-lambdatest
* gnu/packages/java.scm (java-lambdatest): New variable.
* gnu/packages/patches/java-lambdatest-fix.patch: Add to the repository.
* gnu/local.mk (dist_patch_DATA): Add 'java-lambdatest-fix.patch'.
---
gnu/local.mk | 1 +
gnu/packages/java.scm | 56 +++++++++++++++++++
.../patches/java-lambdatest-fix.patch | 29 ++++++++++
3 files changed, 86 insertions(+)
create mode 100644 gnu/packages/patches/java-lambdatest-fix.patch
diff --git a/gnu/local.mk b/gnu/local.mk
index 197c8679eb..2f0a187125 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1321,6 +1321,7 @@ dist_patch_DATA = \
%D%/packages/patches/java-commons-collections-fix-java8.patch \
%D%/packages/patches/java-commons-lang-fix-dependency.patch \
%D%/packages/patches/java-jeromq-fix-tests.patch \
+ %D%/packages/patches/java-lambdatest-fix.patch \
%D%/packages/patches/java-openjfx-build-jdk_version.patch \
%D%/packages/patches/java-powermock-fix-java-files.patch \
%D%/packages/patches/java-simple-xml-fix-tests.patch \
diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index 7b0507d93c..794ccf22f7 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -14282,3 +14282,59 @@ The following TLA+ tools are available in this distribution:
@item The PlusCal translator.
@end itemize")
(license license:expat))))
+
+(define-public java-lambdatest
+ (package
+ (name "java-lambdatest")
+ (version "0.7.1")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/lefou/LambdaTest")
+ (commit version)))
+ (patches
+ (search-patches "java-lambdatest-fix.patch"))
+ (sha256
+ (base32
+ "172wz2cxrwganx0xwx395z627ph9b20hj8mw21fygq8hwcvmy94m"))))
+ (build-system ant-build-system)
+ (native-inputs (list openjdk11 java-logback-classic java-logback-core))
+ (inputs (list java-junit
+ java-slf4j-api
+ java-testng))
+ (arguments
+ `(#:jar-name "lambdatest.jar"
+ #:source-dir "src/main"
+ #:test-dir "src/test"
+ #:jdk ,openjdk11
+ #:phases (modify-phases %standard-phases
+ (replace 'check
+ (lambda _
+ (invoke "ant" "compile-tests")
+ (let ((tests (filter
+ (lambda (file-name)
+ ;; Remove non-working tests.
+ (not (string-contains file-name
+ "RuntimeTest")))
+ (find-files "build" ".*Test.class")))
+ (classpath (string-append
+ (getenv "CLASSPATH")
+ ":build/classes"
+ ":build/test-classes")))
+ (catch #t
+ (lambda _
+ (invoke "java"
+ "-cp" classpath
+ "org.testng.TestNG" "-testclass"
+ (string-join tests ",")))
+ (lambda (exception c)
+ ;; XXX: TestNG exits with exit code 2 when some
+ ;; tests are skipped. Just ignore this.
+ (unless (= (invoke-error-exit-status c) 2)
+ (throw exception c))
+ #t))))))))
+ (home-page "https://github.com/lefou/LambdaTest")
+ (synopsis "Functional testing API on top of JUnit and TestNG")
+ (description "Lambda-enabled functional testing on top of JUnit and
+TestNG.")
+ (license license:asl2.0)))
diff --git a/gnu/packages/patches/java-lambdatest-fix.patch b/gnu/packages/patches/java-lambdatest-fix.patch
new file mode 100644
index 0000000000..e04ff0471f
--- /dev/null
+++ b/gnu/packages/patches/java-lambdatest-fix.patch
@@ -0,0 +1,29 @@
+From 49645c94fc8bdbea342d6f96d46e0405b81b874c Mon Sep 17 00:00:00 2001
+From: "Artyom V. Poptsov" <poptsov.artyom@gmail.com>
+Date: Sun, 19 Jun 2022 23:11:42 +0300
+Subject: [PATCH] test: Fix tests
+
+* src/test/java/de/tobiasroeser/lambdatest/AssertTest.java
+ (testAssertEqualsInteger): Fix a regex so it will match the actual test
+ output.
+
+---
+ src/test/java/de/tobiasroeser/lambdatest/AssertTest.java | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/test/java/de/tobiasroeser/lambdatest/AssertTest.java b/src/test/java/de/tobiasroeser/lambdatest/AssertTest.java
+index fe2db12..5ef5ab3 100644
+--- a/src/test/java/de/tobiasroeser/lambdatest/AssertTest.java
++++ b/src/test/java/de/tobiasroeser/lambdatest/AssertTest.java
+@@ -51,7 +51,7 @@ public class AssertTest {
+ Assert.assertEquals(0, 0);
+ Assert.assertEquals(Integer.valueOf(0), 0);
+ Assert.assertEquals(0, Integer.valueOf(0));
+- intercept(AssertionError.class, "\\QActual 0 is not equal to 1.\\E", () -> {
++ intercept(AssertionError.class, "\\QActual false is not equal to true\\E", () -> {
+ Assert.assertEquals(0, 1);
+ });
+ intercept(AssertionError.class, "\\QActual 0 is not equal to 1.\\E", () -> {
+--
+2.25.1
+
--
2.25.1
[-- Attachment #1.3: Type: text/plain, Size: 557 bytes --]
Thanks,
- Artyom
References:
1. LambdaTest - Lambda-enabled functional testing API on top of JUnit
and TestNG
<https://github.com/lefou/LambdaTest>
2. CmdOption is a simple annotation-driven command line parser toolkit
for Java 6+ applications that is configured through annotations.
<https://github.com/ToToTec/CmdOption>
--
Artyom "avp" Poptsov <poptsov.artyom@gmail.com>
Home page: https://memory-heap.org/~avp/
CADR Hackerspace co-founder: https://cadrspace.ru/
GPG: D0C2 EAC1 3310 822D 98DE B57C E9C5 A2D9 0898 A02F
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 487 bytes --]
next reply other threads:[~2022-06-20 19:38 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-06-20 19:26 Artyom V. Poptsov [this message]
2022-07-03 12:42 ` [bug#56112] [PATCH] gnu: Add java-lambdatest Julien Lepiller
2022-07-24 8:22 ` Artyom V. Poptsov
2024-01-24 12:49 ` Sharlatan Hellseher
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://guix.gnu.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87r13j3zn1.fsf@gmail.com \
--to=poptsov.artyom@gmail.com \
--cc=56112@debbugs.gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/guix.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).