Added CLIText.fatalError(String) API for tests
In different places (Main, TextBuiltin, CLIGitCommand) we report fatal errors and at same time want to check for fatal errors in the tests. Using common API simplifies the error testing and helps to navigate to the actual error check implementation. Change-Id: Iecde79beb33ea595171f168f46b0b10ab2f339bb Signed-off-by: Andrey Loskutov <loskutov@gmx.de>
This commit is contained in:
parent
24cd8e170d
commit
24468f09e3
|
@ -44,7 +44,6 @@
|
|||
|
||||
import java.io.ByteArrayOutputStream;
|
||||
import java.io.File;
|
||||
import java.text.MessageFormat;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
|
@ -106,8 +105,7 @@ public static List<String> execute(String str, Repository db)
|
|||
try {
|
||||
return IO.readLines(new String(rawExecute(str, db)));
|
||||
} catch (Die e) {
|
||||
return IO.readLines(MessageFormat.format(CLIText.get().fatalError,
|
||||
e.getMessage()));
|
||||
return IO.readLines(CLIText.fatalError(e.getMessage()));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -43,6 +43,7 @@
|
|||
package org.eclipse.jgit.pgm;
|
||||
|
||||
import static org.junit.Assert.assertArrayEquals;
|
||||
import static org.junit.Assert.assertEquals;
|
||||
import static org.junit.Assert.assertFalse;
|
||||
import static org.junit.Assert.assertTrue;
|
||||
|
||||
|
@ -50,6 +51,7 @@
|
|||
|
||||
import org.eclipse.jgit.api.Git;
|
||||
import org.eclipse.jgit.lib.CLIRepositoryTestCase;
|
||||
import org.eclipse.jgit.pgm.internal.CLIText;
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
|
||||
|
@ -71,17 +73,15 @@ private void initialCommitAndTag() throws Exception {
|
|||
|
||||
@Test
|
||||
public void testNoHead() throws Exception {
|
||||
assertArrayEquals(
|
||||
new String[] { "fatal: No names found, cannot describe anything." },
|
||||
executeUnchecked("git describe"));
|
||||
assertEquals(CLIText.fatalError(CLIText.get().noNamesFound),
|
||||
toString(executeUnchecked("git describe")));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testHeadNoTag() throws Exception {
|
||||
git.commit().setMessage("initial commit").call();
|
||||
assertArrayEquals(
|
||||
new String[] { "fatal: No names found, cannot describe anything." },
|
||||
executeUnchecked("git describe"));
|
||||
assertEquals(CLIText.fatalError(CLIText.get().noNamesFound),
|
||||
toString(executeUnchecked("git describe")));
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
|
@ -50,6 +50,7 @@
|
|||
import org.eclipse.jgit.api.Git;
|
||||
import org.eclipse.jgit.lib.CLIRepositoryTestCase;
|
||||
import org.eclipse.jgit.merge.MergeStrategy;
|
||||
import org.eclipse.jgit.pgm.internal.CLIText;
|
||||
import org.eclipse.jgit.revwalk.RevCommit;
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
|
@ -194,7 +195,8 @@ public void testNoFastForward() throws Exception {
|
|||
|
||||
@Test
|
||||
public void testNoFastForwardAndSquash() throws Exception {
|
||||
assertEquals("fatal: You cannot combine --squash with --no-ff.",
|
||||
assertEquals(
|
||||
CLIText.fatalError(CLIText.get().cannotCombineSquashWithNoff),
|
||||
executeUnchecked("git merge master --no-ff --squash")[0]);
|
||||
}
|
||||
|
||||
|
@ -209,7 +211,7 @@ public void testFastForwardOnly() throws Exception {
|
|||
git.add().addFilepattern("file").call();
|
||||
git.commit().setMessage("commit#2").call();
|
||||
|
||||
assertEquals("fatal: Not possible to fast-forward, aborting.",
|
||||
assertEquals(CLIText.fatalError(CLIText.get().ffNotPossibleAborting),
|
||||
executeUnchecked("git merge master --ff-only")[0]);
|
||||
}
|
||||
|
||||
|
|
|
@ -128,7 +128,7 @@ protected void run(final String[] argv) {
|
|||
} catch (Die err) {
|
||||
if (err.isAborted())
|
||||
System.exit(1);
|
||||
System.err.println(MessageFormat.format(CLIText.get().fatalError, err.getMessage()));
|
||||
System.err.println(CLIText.fatalError(err.getMessage()));
|
||||
if (showStackTrace)
|
||||
err.printStackTrace();
|
||||
System.exit(128);
|
||||
|
@ -147,10 +147,10 @@ protected void run(final String[] argv) {
|
|||
}
|
||||
if (!showStackTrace && err.getCause() != null
|
||||
&& err instanceof TransportException)
|
||||
System.err.println(MessageFormat.format(CLIText.get().fatalError, err.getCause().getMessage()));
|
||||
System.err.println(CLIText.fatalError(err.getCause().getMessage()));
|
||||
|
||||
if (err.getClass().getName().startsWith("org.eclipse.jgit.errors.")) { //$NON-NLS-1$
|
||||
System.err.println(MessageFormat.format(CLIText.get().fatalError, err.getMessage()));
|
||||
System.err.println(CLIText.fatalError(err.getMessage()));
|
||||
if (showStackTrace)
|
||||
err.printStackTrace();
|
||||
System.exit(128);
|
||||
|
@ -176,7 +176,7 @@ private void execute(final String[] argv) throws Exception {
|
|||
clp.parseArgument(argv);
|
||||
} catch (CmdLineException err) {
|
||||
if (argv.length > 0 && !help && !version) {
|
||||
writer.println(MessageFormat.format(CLIText.get().fatalError, err.getMessage()));
|
||||
writer.println(CLIText.fatalError(err.getMessage()));
|
||||
writer.flush();
|
||||
System.exit(1);
|
||||
}
|
||||
|
|
|
@ -216,7 +216,7 @@ protected void parseArguments(final String[] args) throws IOException {
|
|||
try {
|
||||
clp.parseArgument(args);
|
||||
} catch (CmdLineException err) {
|
||||
this.errw.println(MessageFormat.format(CLIText.get().fatalError, err.getMessage()));
|
||||
this.errw.println(CLIText.fatalError(err.getMessage()));
|
||||
if (help) {
|
||||
printUsage("", clp); //$NON-NLS-1$
|
||||
}
|
||||
|
|
|
@ -74,6 +74,19 @@ public static String formatLine(String line) {
|
|||
return MessageFormat.format(get().lineFormat, line);
|
||||
}
|
||||
|
||||
/**
|
||||
* Format the given argument as fatal error using the format defined by
|
||||
* {@link #fatalError} ("fatal: " by default).
|
||||
*
|
||||
* @param message
|
||||
* the message to format
|
||||
* @return the formatted line
|
||||
* @since 4.2
|
||||
*/
|
||||
public static String fatalError(String message) {
|
||||
return MessageFormat.format(get().fatalError, message);
|
||||
}
|
||||
|
||||
// @formatter:off
|
||||
/***/ public String alreadyOnBranch;
|
||||
/***/ public String alreadyUpToDate;
|
||||
|
|
Loading…
Reference in New Issue