Subject: | Tests failures (because of hash randomization?) |
Sometimes test.pl fails:
PERL_DL_NONLAZY=1 "/opt/perl-5.27.1/bin/perl5.27.1" "-Iblib/lib" "-Iblib/arch" test.pl
1..4
ok 1 - An object of class 'Plucene::Plugin::WeightedQueryParser' isa 'Plucene::Plugin::WeightedQueryParser'
ok 2 - foo:bar parsed OK
not ok 3 - test:hello bar parsed OK
# Failed test 'test:hello bar parsed OK'
# at test.pl line 26.
# got: 'test:hello (bar:bar^5 foo:bar^10)'
# expected: 'test:hello (foo:bar^10 bar:bar^5)'
not ok 4 - hi "phrase query" parsed OK
# Failed test 'hi "phrase query" parsed OK'
# at test.pl line 26.
# got: '(bar:hi^5 foo:hi^10) (bar:"phrase query"^5 foo:"phrase query"^10)'
# expected: '(foo:hi^10 bar:hi^5) (foo:"phrase query"^10 bar:"phrase query"^5)'
# Looks like you failed 2 tests of 4.
make: *** [test_dynamic] Error 2
The different order between got & expected indicates that there's a hash randomization problem. Indeed, if I set the PERL_HASH_SEED=0 env variable, then tests pass.