Import from Fedora

This commit is contained in:
Johnny Hughes 2025-01-15 13:02:19 -06:00
commit ddaca29a89
13 changed files with 327 additions and 0 deletions

1
.fmf/version Normal file
View File

@ -0,0 +1 @@
1

11
.gitignore vendored Normal file
View File

@ -0,0 +1,11 @@
/3.2.1.tar.gz
/3.3.2.tar.gz
/disruptor-3.3.2.pom
/disruptor-3.3.4.pom
/3.3.4.tar.gz
/disruptor-3.3.6.tar.gz
/disruptor-3.3.6.pom
/disruptor-3.4.2.pom
/disruptor-3.4.2.tar.gz
/disruptor-3.4.4.tar.gz
/disruptor-3.4.4.pom

1
ci.fmf Normal file
View File

@ -0,0 +1 @@
resultsdb-testcase: separate

View File

@ -0,0 +1,21 @@
--- disruptor-3.3.2/src/test/java/com/lmax/disruptor/BatchEventProcessorTest.java 2015-02-25 10:09:57.000000000 +0100
+++ disruptor-3.3.2/src/test/java/com/lmax/disruptor/BatchEventProcessorTest.java.jmock 2015-06-03 15:52:43.997446568 +0200
@@ -23,6 +23,7 @@
import org.jmock.api.Action;
import org.jmock.api.Invocation;
import org.jmock.integration.junit4.JMock;
+import org.jmock.lib.concurrent.Synchroniser;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -35,7 +36,9 @@
@RunWith(JMock.class)
public final class BatchEventProcessorTest
{
- private final Mockery context = new Mockery();
+ private final Mockery context = new Mockery() {{
+ setThreadingPolicy(new Synchroniser());
+ }};
private final Sequence lifecycleSequence = context.sequence("lifecycleSequence");
private final CountDownLatch latch = new CountDownLatch(1);

192
disruptor.spec Normal file
View File

@ -0,0 +1,192 @@
%bcond_with bootstrap
Name: disruptor
Version: 3.4.4
Release: 26%{?dist}
Summary: Concurrent Programming Framework
License: Apache-2.0
URL: https://lmax-exchange.github.io/disruptor/
BuildArch: noarch
ExclusiveArch: %{java_arches} noarch
Source0: https://github.com/LMAX-Exchange/disruptor/archive/%{version}/%{name}-%{version}.tar.gz
Source1: https://repo1.maven.org/maven2/com/lmax/%{name}/%{version}/%{name}-%{version}.pom
%if %{with bootstrap}
BuildRequires: javapackages-bootstrap
%else
BuildRequires: maven-local
BuildRequires: mvn(junit:junit)
BuildRequires: mvn(org.apache.felix:maven-bundle-plugin)
%endif
%description
A High Performance Inter-Thread Messaging Library.
%package javadoc
Summary: API documentation for %{name}
%description javadoc
API documentation for %{name}.
%prep
%autosetup -p1
# Cleanup
find . -name "*.class" -print -delete
find . -name "*.jar" -type f -print -delete
cp -p %{SOURCE1} pom.xml
# Add OSGi support
%pom_xpath_inject "pom:project" "<packaging>bundle</packaging>"
%pom_add_plugin org.apache.felix:maven-bundle-plugin:2.3.7 . '
<extensions>true</extensions>
<configuration>
<instructions>
<Bundle-DocURL>%{url}</Bundle-DocURL>
<Bundle-Name>${project.name}</Bundle-Name>
<Bundle-Vendor>LMAX Disruptor Development Team</Bundle-Vendor>
</instructions>
</configuration>
<executions>
<execution>
<id>bundle-manifest</id>
<phase>process-classes</phase>
<goals>
<goal>manifest</goal>
</goals>
</execution>
</executions>'
# fail to compile cause: incompatible hamcrest apis
rm -r src/test/java/com/lmax/disruptor/RingBufferTest.java \
src/test/java/com/lmax/disruptor/RingBufferEventMatcher.java
# Failed to stop thread: Thread[com.lmax.disruptor.BatchEventProcessor@1d057a39,5,main]
rm -r src/test/java/com/lmax/disruptor/dsl/DisruptorTest.java
# Test fails due to incompatible jmock version
#rm -f src/test/java/com/lmax/disruptor/EventPollerTest.java
%mvn_file :%{name} %{name}
%build
%mvn_build -- -Dproject.build.sourceEncoding=UTF-8 -Dmaven.compiler.source=1.8 -Dmaven.compiler.target=1.8
%install
%mvn_install
%files -f .mfiles
%doc README.md
%license LICENCE.txt
%files javadoc -f .mfiles-javadoc
%license LICENCE.txt
%changelog
* Fri Nov 29 2024 Mikolaj Izdebski <mizdebsk@redhat.com> - 3.4.4-24
- Update javapackages test plan to f42
* Wed Jul 17 2024 Fedora Release Engineering <releng@fedoraproject.org> - 3.4.4-12
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
* Tue Feb 27 2024 Jiri Vanek <jvanek@redhat.com> - 3.4.4-11
- Rebuilt for java-21-openjdk as system jdk
* Fri Feb 23 2024 Jiri Vanek <jvanek@redhat.com> - 3.4.4-10
- bump of release for for java-21-openjdk as system jdk
* Wed Jan 24 2024 Fedora Release Engineering <releng@fedoraproject.org> - 3.4.4-9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Fri Jan 19 2024 Fedora Release Engineering <releng@fedoraproject.org> - 3.4.4-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Fri Sep 01 2023 Mikolaj Izdebski <mizdebsk@redhat.com> - 3.4.4-7
- Convert License tag to SPDX format
* Wed Jul 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 3.4.4-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Thu Jan 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 3.4.4-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Thu Jul 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 3.4.4-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Sat Feb 05 2022 Jiri Vanek <jvanek@redhat.com> - 3.4.4-3
- Rebuilt for java-17-openjdk as system jdk
* Thu Jan 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 3.4.4-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Mon Dec 13 2021 Sérgio Basto <sergio@serjux.com> - 3.4.4-1
- Update disruptor to 3.4.4 (#1953941)
* Wed Jul 21 2021 Fedora Release Engineering <releng@fedoraproject.org> - 3.4.2-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Mon Jun 28 2021 Mikolaj Izdebski <mizdebsk@redhat.com> - 3.4.2-5
- Remove unneeded buildrequires on jmock and hamcrest
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 3.4.2-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Mon Jul 27 2020 Fedora Release Engineering <releng@fedoraproject.org> - 3.4.2-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Fri Jul 10 2020 Jiri Vanek <jvanek@redhat.com> - 3.4.2-2
- Rebuilt for JDK-11, see https://fedoraproject.org/wiki/Changes/Java11
* Tue May 12 2020 Alexander Scheel <ascheel@redhat.com> - 3.4.2-1
- Rebase to disruptor upstream release v3.4.2
* Tue Jan 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 3.3.6-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Wed Jul 24 2019 Fedora Release Engineering <releng@fedoraproject.org> - 3.3.6-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Thu Jan 31 2019 Fedora Release Engineering <releng@fedoraproject.org> - 3.3.6-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Thu Jul 12 2018 Fedora Release Engineering <releng@fedoraproject.org> - 3.3.6-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 3.3.6-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 3.3.6-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 3.3.6-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
* Fri Nov 11 2016 gil cattaneo <puntogil@libero.it> 3.3.6-1
- update to 3.3.6
* Thu Jun 23 2016 gil cattaneo <puntogil@libero.it> 3.3.4-1
- update to 3.3.4
* Wed Feb 03 2016 Fedora Release Engineering <releng@fedoraproject.org> - 3.3.2-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.3.2-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
* Wed Jun 03 2015 gil cattaneo <puntogil@libero.it> 3.3.2-2
- build fix for jmock 2.8.1
* Wed Jun 3 2015 Mikolaj Izdebski <mizdebsk@redhat.com> - 3.3.2-1
- Update to upstream version 3.3.2
* Sun Feb 01 2015 gil cattaneo <puntogil@libero.it> 3.2.1-3
- introduce license macro
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.2.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
* Mon Apr 21 2014 gil cattaneo <puntogil@libero.it> 3.2.1-1
- update to 3.2.1
* Wed Aug 14 2013 gil cattaneo <puntogil@libero.it> 3.2.0-1
- initial rpm

8
gating.yaml Normal file
View File

@ -0,0 +1,8 @@
--- !Policy
product_versions:
- rhel-9
decision_contexts:
- osci_compose_gate
rules:
- !PassingTestCaseRule {test_case_name: osci.brew-build./plans/smoke.functional}
- !PassingTestCaseRule {test_case_name: osci.brew-build./plans/javapackages.functional}

7
plans/javapackages.fmf Normal file
View File

@ -0,0 +1,7 @@
summary: Run javapackages-specific tests
discover:
how: fmf
url: https://src.fedoraproject.org/tests/javapackages
ref: c9s
execute:
how: tmt

5
plans/smoke.fmf Normal file
View File

@ -0,0 +1,5 @@
summary: Basic smoke test
discover:
how: fmf
execute:
how: tmt

2
sources Normal file
View File

@ -0,0 +1,2 @@
SHA512 (disruptor-3.4.4.tar.gz) = 871d474ecbc4e09d33b0d099232f2abdf88b755141e00406e4a721e5bd6c5edc99c6c446277e054bd603ae9b158bdb6b438aa6e8532194dca9bce953b748bfde
SHA512 (disruptor-3.4.4.pom) = 32c4ce4267c8dac44803949e68298fabfc399e1ff170a630b531aca2d87b8ec8fdb9a3f379005c512e94c9cfaa25f15bc421023d211c6c6d8ceb3eee1b61ce0d

View File

@ -0,0 +1,51 @@
import com.lmax.disruptor.dsl.Disruptor;
import com.lmax.disruptor.EventFactory;
import com.lmax.disruptor.RingBuffer;
import com.lmax.disruptor.util.DaemonThreadFactory;
import java.nio.ByteBuffer;
class LongEvent
{
private long value;
public void set(long value)
{
this.value = value;
}
}
class LongEventFactory implements EventFactory<LongEvent>
{
public LongEvent newInstance()
{
return new LongEvent();
}
}
public class Smoke
{
public static void main(String[] args) throws Exception
{
System.out.println("SMOKE TEST START");
int bufferSize = 1024;
Disruptor<LongEvent> disruptor =
new Disruptor<>(LongEvent::new, bufferSize, DaemonThreadFactory.INSTANCE);
disruptor.handleEventsWith((event, sequence, endOfBatch) ->
System.out.println("Event: " + event));
disruptor.start();
RingBuffer<LongEvent> ringBuffer = disruptor.getRingBuffer();
ByteBuffer bb = ByteBuffer.allocate(8);
for (long l = 0; l < 10; l++)
{
bb.putLong(0, l);
ringBuffer.publishEvent((event, sequence, buffer) -> event.set(buffer.getLong(0)), bb);
Thread.sleep(100);
}
System.out.println("SMOKE TEST COMPLETE");
}
}

View File

@ -0,0 +1,6 @@
summary: disruptor smoke test
description: |
Test basic functionality of disruptor.
require:
- disruptor
- java-21-openjdk-devel

18
tests/Sanity/smoke/runtest.sh Executable file
View File

@ -0,0 +1,18 @@
#!/bin/bash
# Author: Mikolaj Izdebski <mizdebsk@redhat.com>
. /usr/share/beakerlib/beakerlib.sh
rlJournalStart
rlPhaseStartTest "log events"
rlAssertRpm disruptor
java_home=/usr/lib/jvm/java-21-openjdk/bin
jar=/usr/share/java/disruptor.jar
rlRun "${java_home}/javac -cp ${jar} -d bin Smoke.java"
rlRun -s "${java_home}/java -cp ${jar}:bin Smoke"
rlAssertGrep "Event: LongEvent" $rlRun_LOG
rlAssertGrep "SMOKE TEST COMPLETE" $rlRun_LOG
rlPhaseEnd
rlJournalEnd
rlJournalPrintText

4
tests/main.fmf Normal file
View File

@ -0,0 +1,4 @@
contact: Mikolaj Izdebski <mizdebsk@redhat.com>
framework: beakerlib
test: ./runtest.sh
tier: 0