Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Testing PR on personal fork to see if caching works for PR 1734 #4

Open
wants to merge 3 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
41 changes: 41 additions & 0 deletions .github/workflows/icu_ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,47 @@ jobs:
# Regex note: (?! ... ) is a negative lookahead. Succeed if the pattern is not present.
set +o pipefail && make doc 2>&1 | tee doxygen.log && ( ! grep -P 'warning:(?! .* file .?Doxyfile)' doxygen.log )

# Java7 ICU4J build and unit test
java7-icu4j-build-and-test:
runs-on: ubuntu-latest
steps:
- name: Checkout and setup
uses: actions/checkout@v2
with:
lfs: true
- name: Checkout lfs objects
run: git lfs pull
- uses: actions/setup-java@v1
with:
java-version: '8'
- name: Cache for Java 7 tarball
id: cache-java7
uses: actions/cache@v2
with:
path: java7-tarball
key: ${{ runner.os }}-java7-tarball
- name: Download Java 7
if: steps.cache-java7.outputs.cache-hit != 'true'
run: |
mkdir -p java7-tarball
download_url="https://download.java.net/openjdk/jdk7u75/ri/openjdk-7u75-b13-linux-x64-18_dec_2014.tar.gz"
wget -O java7-tarball/java_package.tar.gz $download_url
pushd java7-tarball ; gunzip java_package.tar.gz ; tar xvf java_package.tar; popd
- name: Configure Ant build to use Java 7 JRE
run: |
echo "java7.bootclasspath" > $RUNNER_TEMP/draft ; ls java7-tarball/java-se-7u75-ri/jre/lib/*.jar|paste -sd ":" - >> $RUNNER_TEMP/draft
cat $RUNNER_TEMP/draft | paste -sd "=" - > icu4j/build-local.properties
- name: ICU4J
run: |
cd icu4j;
ant init;
ant check;
- name: List failures (if any)
run: |
[ -d icu4j/out/junit-results ] && cd icu4j && cat `find out/junit-results -name "*.txt" -exec grep -l FAILED {} \;`;
if: ${{ failure() }}


# ICU4J build and unit test under Java11
java11-icu4j-build-and-test:
runs-on: ubuntu-latest
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,6 @@
import java.nio.charset.StandardCharsets;
import java.text.CharacterIterator;
import java.text.StringCharacterIterator;
import java.util.Iterator;
import java.util.stream.Stream;

import org.junit.Test;
import org.junit.runner.RunWith;
Expand Down Expand Up @@ -66,52 +64,54 @@ private void runTestFromFile(String filename, int script) {
errln("Could not open test data file " + filename);
return;
}
Stream<String> lines = (new BufferedReader(new InputStreamReader(is, StandardCharsets.UTF_8))).lines();
Iterator<String> iterator = lines.iterator();
BufferedReader br = (new BufferedReader(new InputStreamReader(is, StandardCharsets.UTF_8)));
int caseNum = 0;
String expected = "";
String actual = "";
LSTMBreakEngine engine = null;
while (iterator.hasNext()) {
String line = iterator.next();
String fields[] = line.split("\t");
if (fields[0].equals("Model:")) {
engine = createEngineFromTestData(fields[1], script);
} else if (fields[0].equals("Input:")) {
caseNum++;
int length = fields[1].length();
CharacterIterator input = new StringCharacterIterator(fields[1]);
DictionaryBreakEngine.DequeI foundBreaks = new DictionaryBreakEngine.DequeI();
int ret = engine.findBreaks(input, 0, length, foundBreaks);
StringBuilder sb = new StringBuilder();
sb.append('{');
for (int i = 0; i < foundBreaks.size(); i++) {
sb.append(foundBreaks.elementAt(i)).append(", ");
}
sb.append(length).append('}');
actual = sb.toString();
} else if (fields[0].equals("Output:")) {
StringBuilder sb = new StringBuilder();
int sep;
int start = 0;
int curr = 0;
sb.append('{');
while ((sep = fields[1].indexOf('|', start)) >= 0) {
int len = sep - start;
if (len > 0) {
if (curr > 0) {
sb.append(", ");
String line;
try {
while ((line = br.readLine()) != null) {
String fields[] = line.split("\t");
if (fields[0].equals("Model:")) {
engine = createEngineFromTestData(fields[1], script);
} else if (fields[0].equals("Input:")) {
caseNum++;
int length = fields[1].length();
CharacterIterator input = new StringCharacterIterator(fields[1]);
DictionaryBreakEngine.DequeI foundBreaks = new DictionaryBreakEngine.DequeI();
int ret = engine.findBreaks(input, 0, length, foundBreaks);
StringBuilder sb = new StringBuilder();
sb.append('{');
for (int i = 0; i < foundBreaks.size(); i++) {
sb.append(foundBreaks.elementAt(i)).append(", ");
}
sb.append(length).append('}');
actual = sb.toString();
} else if (fields[0].equals("Output:")) {
StringBuilder sb = new StringBuilder();
int sep;
int start = 0;
int curr = 0;
sb.append('{');
while ((sep = fields[1].indexOf('|', start)) >= 0) {
int len = sep - start;
if (len > 0) {
if (curr > 0) {
sb.append(", ");
}
curr += len;
sb.append(curr);
}
curr += len;
sb.append(curr);
start = sep + 1;
}
start = sep + 1;
sb.append('}');
expected = sb.toString();
assertEquals(line + " Test Case#" + caseNum , expected, actual);
}
sb.append('}');
expected = sb.toString();

assertEquals(line + " Test Case#" + caseNum , expected, actual);
}
} catch (IOException e) {
errln("Exception while reading lines of test data file " + filename + e.toString());
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,6 @@
import java.nio.charset.StandardCharsets;
import java.text.CharacterIterator;
import java.text.StringCharacterIterator;
import java.util.Iterator;
import java.util.stream.Stream;

import org.junit.Test;
import org.junit.runner.RunWith;
Expand Down Expand Up @@ -56,63 +54,65 @@ private void runTestFromFile(String filename, int script) {
errln("Could not open test data file " + filename);
return;
}
Stream<String> lines = (new BufferedReader(new InputStreamReader(is, StandardCharsets.UTF_8))).lines();
Iterator<String> iterator = lines.iterator();
BufferedReader br = new BufferedReader(new InputStreamReader(is, StandardCharsets.UTF_8));
int caseNum = 0;
String expected = "";
String actual = "";
LSTMBreakEngine engine = null;
while (iterator.hasNext()) {
String line = iterator.next();
String fields[] = line.split("\t");
if (fields[0].equals("Model:")) {
String actualModelName = LSTMBreakEngine.createData(script).fName;
if (!actualModelName.equals(fields[1])) {
errln("The name of the built in model " + actualModelName +
" does not match the model (" + fields[1] + ") expected for this test");
return;
}
} else if (fields[0].equals("Input:")) {
caseNum++;
int length = fields[1].length();
String input = "prefix " + fields[1] + " suffix";
bi.setText(input);
System.out.println("Input = " + input);
StringBuilder sb = new StringBuilder();
sb.append('{');
for (int bp = bi.first(); bp != BreakIterator.DONE; bp = bi.next()) {
sb.append(bp);
if (bp != input.length()) {
sb.append(", ");
String line;
try {
while ((line = br.readLine()) != null) {
String fields[] = line.split("\t");
if (fields[0].equals("Model:")) {
String actualModelName = LSTMBreakEngine.createData(script).fName;
if (!actualModelName.equals(fields[1])) {
errln("The name of the built in model " + actualModelName +
" does not match the model (" + fields[1] + ") expected for this test");
return;
}
}
sb.append('}');
actual = sb.toString();
} else if (fields[0].equals("Output:")) {
StringBuilder sb = new StringBuilder();
int sep;
int start = 0;
int curr = 0;
sb.append("{0, ");
String input = "prefix| |" + fields[1] + "| |suffix";
while ((sep = input.indexOf('|', start)) >= 0) {
int len = sep - start;
if (len > 0) {
if (curr > 0) {
} else if (fields[0].equals("Input:")) {
caseNum++;
int length = fields[1].length();
String input = "prefix " + fields[1] + " suffix";
bi.setText(input);
System.out.println("Input = " + input);
StringBuilder sb = new StringBuilder();
sb.append('{');
for (int bp = bi.first(); bp != BreakIterator.DONE; bp = bi.next()) {
sb.append(bp);
if (bp != input.length()) {
sb.append(", ");
}
curr += len;
sb.append(curr);
}
start = sep + 1;
sb.append('}');
actual = sb.toString();
} else if (fields[0].equals("Output:")) {
StringBuilder sb = new StringBuilder();
int sep;
int start = 0;
int curr = 0;
sb.append("{0, ");
String input = "prefix| |" + fields[1] + "| |suffix";
while ((sep = input.indexOf('|', start)) >= 0) {
int len = sep - start;
if (len > 0) {
if (curr > 0) {
sb.append(", ");
}
curr += len;
sb.append(curr);
}
start = sep + 1;
}
sb.append(", ").append(curr + input.length() - start);
sb.append('}');
expected = sb.toString();
assertEquals(input + " Test Case#" + caseNum , expected, actual);
actual = "";
}
sb.append(", ").append(curr + input.length() - start);
sb.append('}');
expected = sb.toString();

assertEquals(input + " Test Case#" + caseNum , expected, actual);
actual = "";
}
} catch (IOException e) {
errln("Exception while reading lines of test data file " + filename + e.toString());
}
}
}