diff --git a/org.epic.debug/src/org/epic/debug/ui/ProjectAndFileBlock.java b/org.epic.debug/src/org/epic/debug/ui/ProjectAndFileBlock.java index fad64c2b..76a17648 100644 --- a/org.epic.debug/src/org/epic/debug/ui/ProjectAndFileBlock.java +++ b/org.epic.debug/src/org/epic/debug/ui/ProjectAndFileBlock.java @@ -134,14 +134,13 @@ public boolean isValid(ILaunchConfiguration config) { setErrorMessage("Startup File is not specified"); return false; } - String[] files = getPerlFiles(); - for (int i = 0; i < files.length; i++) { - if (files[i].equals(name)) { - return true; - } + + if (! existsFile(name)) { + setErrorMessage("File does not exist or match to the project"); + return false; } - setErrorMessage("File does not exist or match to the project"); - return false; + + return true; } private void createScriptFileEditor(Composite parent) { @@ -191,6 +190,18 @@ private String[] getPerlFiles() { } return ((PerlProjectVisitor) visitor).getList(); } + + private boolean existsFile(String filename) { + String projectName = getSelectedProject(); + + if (projectName == null || projectName.length() == 0) { + return false; + } + + IWorkspaceRoot workspaceRoot = PerlDebugPlugin.getWorkspace().getRoot(); + IProject project = workspaceRoot.getProject(projectName); + return project.getFile(filename).exists(); + } protected void newProjectSelected() { diff --git a/org.epic.perleditor-test/src/org/epic/core/model/TestSourceFile.java b/org.epic.perleditor-test/src/org/epic/core/model/TestSourceFile.java index 07ef159b..5c99b413 100644 --- a/org.epic.perleditor-test/src/org/epic/core/model/TestSourceFile.java +++ b/org.epic.perleditor-test/src/org/epic/core/model/TestSourceFile.java @@ -54,10 +54,10 @@ private void _testFile(String inFile, String outFile) throws IOException buf.append(sub.getName()); buf.append(':'); buf.append(sub.getBlockLevel()); - buf.append('\n'); + buf.append(String.format("%n")); } buf.append('}'); - buf.append('\n'); + buf.append(String.format("%n")); } /* diff --git a/org.epic.perleditor-test/src/org/epic/perleditor/editors/TestPerlPartitioner.java b/org.epic.perleditor-test/src/org/epic/perleditor/editors/TestPerlPartitioner.java index e90a12ef..7e337580 100644 --- a/org.epic.perleditor-test/src/org/epic/perleditor/editors/TestPerlPartitioner.java +++ b/org.epic.perleditor-test/src/org/epic/perleditor/editors/TestPerlPartitioner.java @@ -6,9 +6,10 @@ public class TestPerlPartitioner extends BaseTestCase { + // this test expects unix newlines public void testSyntax() throws Exception { - Document doc = new Document(readFile("workspace/EPICTest/syntax.pl")); + Document doc = new Document(readFile("workspace/EPICTest/syntax.pl").replace("\r","")); PerlPartitioner partitioner = new PerlPartitioner(new Log(), doc); ITypedRegion[] partitioning = @@ -30,7 +31,7 @@ public void testSyntax() throws Exception buf.append('\n'); } - String expected = readFile("test.in/TestPerlPartitioner-expected.txt"); + String expected = readFile("test.in/TestPerlPartitioner-expected.txt").replace("\r",""); assertEquals(expected, buf.toString()); //System.err.println(buf); } diff --git a/org.epic.perleditor-test/src/org/epic/perleditor/editors/util/PerlValidatorStub.java b/org.epic.perleditor-test/src/org/epic/perleditor/editors/util/PerlValidatorStub.java index eae45e80..9918d7ac 100644 --- a/org.epic.perleditor-test/src/org/epic/perleditor/editors/util/PerlValidatorStub.java +++ b/org.epic.perleditor-test/src/org/epic/perleditor/editors/util/PerlValidatorStub.java @@ -32,7 +32,7 @@ protected void brokenPipe(IOException e) throws IOException { if (e.getMessage().indexOf("Broken pipe") == 0 || - e.getMessage().indexOf("Die Pipe wurde beendet") == 0) + e.getMessage().indexOf("Die Pipe ") == 0) { PerlValidatorStub.gotBrokenPipe = true; } diff --git a/org.epic.perleditor-test/test.properties b/org.epic.perleditor-test/test.properties index 58507c65..14b19d33 100644 --- a/org.epic.perleditor-test/test.properties +++ b/org.epic.perleditor-test/test.properties @@ -2,7 +2,7 @@ # See README.txt. # Path to the Perl interpreter -org.epic.perleditor-test.perl = /usr/bin/perl +org.epic.perleditor-test.perl = perl # TestPerlMultiLexer is very machine-specific, disable it to avoid false alarms org.epic.perleditor-test.TestPerlMultiLexer.enabled = false \ No newline at end of file