apache / apache/lucene

smokeTestRelease.py's regex for TestBackwardsCompatibility is brittle, breaks if user uses ant's ANT_ARGS [LUCENE-6235]

Open
#7,297 1 comment 0 reactions 0 assignees View on GitHub
legacy-jira-priority:Major type:bug
Dominant language
Java
Stars
3.6k
Forks
1.4k
Avg merge
2d 11h
Merged PRs (30d)
88

Description

smokeTestRelease.py has always exec'ed "ant" on source releases to smoke check the build - but the changes intorduced in #6925 also do a regex over the output of the ant call to run TestBackwardsCompatibility.

This regex doesn't play nicely however if the user has ANT_ARGS configured to use an alternative logger - in particular i (and i'm guessing i'm not alone among the general ant using populace) have this in my shell...

```
$ env | grep ANT
ANT_HOME=/opt/ant/default/
ANT_ARGS=-logger org.apache.tools.ant.listener.AnsiColorLogger
```

The AnsiColorLogger, and the control characters it outputs to color the output lines, seems to break the regex matching for TestBackwardsCompatibility's output.

Workarround (seems to be - still testing) for smoke testers to force their environment to specify the DefaultLogger...

```
$ ANT_ARGS='-logger org.apache.tools.ant.DefaultLogger' python3.2 dev-tools/scripts/smokeTestRelease.py http://people.apache.org/\~anshum/staging_area/lucene-solr-5.0.0-RC2-rev1658469
```

---
Migrated from [LUCENE-6235](https://issues.apache.org/jira/browse/LUCENE-6235) by Chris M. Hostetter (@hossman)
Linked issues:
- #7296

Contributor guide

Open the contributing guide

Research direction

Start in dev-tools/scripts/smokeTestRelease.py and inspect the regex that parses the ant output for TestBackwardsCompatibility. Reproduce the smoke test with ANT_ARGS set to the AnsiColorLogger value shown, then compare it with the DefaultLogger workaround. Done means the script can identify and run TestBackwardsCompatibility despite the alternative logger output.

Written by the indexing model from the issue text.

Assessment

Tech stack
java, python
Domain
build-system, release, testing
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.