commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Gilles (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (LANG-1196) Provide way to set random number generator on RandomStringUtils to enable repeatable test execution
Date Sat, 15 Oct 2016 00:16:20 GMT

    [ https://issues.apache.org/jira/browse/LANG-1196?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15576968#comment-15576968
] 

Gilles commented on LANG-1196:
------------------------------

{quote}
{code}
public static void seed(long seed) {
    RANDOM = new Random(seed);
}
{code}
This could cause race conditions
{quote}
I'd think so too.

If you assume that the generator is the JDK's {{Random}} class, the following is probably
slightly better:
{code}
public static void seed(long seed) {
    RANDOM.setSeed(seed);
}
{code}

But it still could cause trouble if multiple threads want to call {{seed(long)}}.

bq. I think we would either have to rewrite with a different design

I believe so.

bq. adding a few more that receive a Random object?

Possible, but the mixed API would be confusing.

bq. new Scenario object

Does it belong in this report?

> Provide way to set random number generator on RandomStringUtils to enable repeatable
test execution
> ---------------------------------------------------------------------------------------------------
>
>                 Key: LANG-1196
>                 URL: https://issues.apache.org/jira/browse/LANG-1196
>             Project: Commons Lang
>          Issue Type: Improvement
>          Components: lang.*
>    Affects Versions: 3.4
>         Environment: java version "1.8.0_66"
> Java(TM) SE Runtime Environment (build 1.8.0_66-b17)
> Java HotSpot(TM) 64-Bit Server VM (build 25.66-b17, mixed mode)
> Linux 4.0.5 #3 SMP Mon Sep 14 12:41:09 BST 2015 x86_64 Intel(R) Core(TM) i7-4710MQ CPU
@ 2.50GHz GenuineIntel GNU/Linux
>            Reporter: Gus Power
>            Priority: Minor
>         Attachments: LANG-1196.patch
>
>
> Hi,
> I'm using [Sham |http://search.maven.org/#artifactdetails%7Corg.shamdata%7Csham%7C0.3%7Cjar]
to generate realistic looking test data for both parameterized tests and user acceptance testing.
We log the seed that is used for each run so that if there is an issue we can recreate exactly
the same test data. I would also like to use some of the commons-lang RandomStringUtils functionality
but notice that the implementation provides no way of setting the random number generator
to be used.
> {code}private static final Random RANDOM = new Random();{code}
> A way to configure this would be really useful. If there is an alternative way to do
this then that would be great. If you think it's a good idea and it requires a patch I'm happy
to supply one.
> Cheers,
> Gus.
>  



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message