public class org.apache.zookeeper.server.persistence.TxnLogToolkitTest extends java.lang.Object
{
private static final java.io.File testData;
private final java.io.ByteArrayOutputStream outContent;
private final java.io.ByteArrayOutputStream errContent;
private java.io.File mySnapDir;
public void <init>()
{
java.io.ByteArrayOutputStream v, v;
org.apache.zookeeper.server.persistence.TxnLogToolkitTest v;
v := @this: org.apache.zookeeper.server.persistence.TxnLogToolkitTest;
specialinvoke v.<java.lang.Object: void <init>()>();
v = new java.io.ByteArrayOutputStream;
specialinvoke v.<java.io.ByteArrayOutputStream: void <init>()>();
v.<org.apache.zookeeper.server.persistence.TxnLogToolkitTest: java.io.ByteArrayOutputStream outContent> = v;
v = new java.io.ByteArrayOutputStream;
specialinvoke v.<java.io.ByteArrayOutputStream: void <init>()>();
v.<org.apache.zookeeper.server.persistence.TxnLogToolkitTest: java.io.ByteArrayOutputStream errContent> = v;
return;
}
public void setUp() throws java.io.IOException
{
java.io.PrintStream v, v;
java.io.ByteArrayOutputStream v, v;
org.apache.zookeeper.server.persistence.TxnLogToolkitTest v;
java.io.File v, v, v, v;
v := @this: org.apache.zookeeper.server.persistence.TxnLogToolkitTest;
v = new java.io.PrintStream;
v = v.<org.apache.zookeeper.server.persistence.TxnLogToolkitTest: java.io.ByteArrayOutputStream outContent>;
specialinvoke v.<java.io.PrintStream: void <init>(java.io.OutputStream)>(v);
staticinvoke <java.lang.System: void setOut(java.io.PrintStream)>(v);
v = new java.io.PrintStream;
v = v.<org.apache.zookeeper.server.persistence.TxnLogToolkitTest: java.io.ByteArrayOutputStream errContent>;
specialinvoke v.<java.io.PrintStream: void <init>(java.io.OutputStream)>(v);
staticinvoke <java.lang.System: void setErr(java.io.PrintStream)>(v);
v = new java.io.File;
v = <org.apache.zookeeper.server.persistence.TxnLogToolkitTest: java.io.File testData>;
specialinvoke v.<java.io.File: void <init>(java.io.File,java.lang.String)>(v, "invalidsnap");
v = staticinvoke <org.apache.zookeeper.test.ClientBase: java.io.File createTmpDir()>();
v.<org.apache.zookeeper.server.persistence.TxnLogToolkitTest: java.io.File mySnapDir> = v;
v = v.<org.apache.zookeeper.server.persistence.TxnLogToolkitTest: java.io.File mySnapDir>;
staticinvoke <org.apache.commons.io.FileUtils: void copyDirectory(java.io.File,java.io.File)>(v, v);
return;
}
public void tearDown() throws java.io.IOException
{
java.io.PrintStream v, v;
org.apache.zookeeper.server.persistence.TxnLogToolkitTest v;
java.io.File v, v;
v := @this: org.apache.zookeeper.server.persistence.TxnLogToolkitTest;
v = <java.lang.System: java.io.PrintStream out>;
staticinvoke <java.lang.System: void setOut(java.io.PrintStream)>(v);
v = <java.lang.System: java.io.PrintStream err>;
staticinvoke <java.lang.System: void setErr(java.io.PrintStream)>(v);
v = v.<org.apache.zookeeper.server.persistence.TxnLogToolkitTest: java.io.File mySnapDir>;
virtualinvoke v.<java.io.File: boolean setWritable(boolean)>(1);
v = v.<org.apache.zookeeper.server.persistence.TxnLogToolkitTest: java.io.File mySnapDir>;
staticinvoke <org.apache.commons.io.FileUtils: void deleteDirectory(java.io.File)>(v);
return;
}
public void testDumpMode() throws java.lang.Exception
{
org.apache.zookeeper.server.persistence.TxnLogToolkitTest v;
org.apache.zookeeper.server.persistence.TxnLogToolkit v;
java.lang.String v;
java.io.File v, v, v;
v := @this: org.apache.zookeeper.server.persistence.TxnLogToolkitTest;
v = new java.io.File;
v = new java.io.File;
v = v.<org.apache.zookeeper.server.persistence.TxnLogToolkitTest: java.io.File mySnapDir>;
specialinvoke v.<java.io.File: void <init>(java.io.File,java.lang.String)>(v, "version-2");
specialinvoke v.<java.io.File: void <init>(java.io.File,java.lang.String)>(v, "log.274");
v = new org.apache.zookeeper.server.persistence.TxnLogToolkit;
v = virtualinvoke v.<java.io.File: java.lang.String toString()>();
specialinvoke v.<org.apache.zookeeper.server.persistence.TxnLogToolkit: void <init>(boolean,boolean,java.lang.String,boolean)>(0, 0, v, 1);
virtualinvoke v.<org.apache.zookeeper.server.persistence.TxnLogToolkit: void dump(java.util.Scanner)>(null);
return;
}
public void testInitMissingFile() throws java.io.FileNotFoundException, org.apache.zookeeper.server.persistence.TxnLogToolkit$TxnLogToolkitException
{
org.junit.jupiter.api.function.Executable v;
org.apache.zookeeper.server.persistence.TxnLogToolkitTest v;
v := @this: org.apache.zookeeper.server.persistence.TxnLogToolkitTest;
v = staticinvoke <org.apache.zookeeper.server.persistence.TxnLogToolkitTest$lambda_testInitMissingFile_0__179: org.junit.jupiter.api.function.Executable bootstrap$()>();
staticinvoke <org.junit.jupiter.api.Assertions: java.lang.Throwable assertThrows(java.lang.Class,org.junit.jupiter.api.function.Executable)>(class "Lorg/apache/zookeeper/server/persistence/TxnLogToolkit$TxnLogToolkitException;", v);
return;
}
public void testInitWithRecoveryFileExists()
{
org.junit.jupiter.api.function.Executable v;
org.apache.zookeeper.server.persistence.TxnLogToolkitTest v;
v := @this: org.apache.zookeeper.server.persistence.TxnLogToolkitTest;
v = staticinvoke <org.apache.zookeeper.server.persistence.TxnLogToolkitTest$lambda_testInitWithRecoveryFileExists_1__180: org.junit.jupiter.api.function.Executable bootstrap$(org.apache.zookeeper.server.persistence.TxnLogToolkitTest)>(v);
staticinvoke <org.junit.jupiter.api.Assertions: java.lang.Throwable assertThrows(java.lang.Class,org.junit.jupiter.api.function.Executable)>(class "Lorg/apache/zookeeper/server/persistence/TxnLogToolkit$TxnLogToolkitException;", v);
return;
}
public void testDumpWithCrcError() throws java.lang.Exception
{
java.io.ByteArrayOutputStream v;
org.apache.zookeeper.server.persistence.TxnLogToolkitTest v;
java.io.File v, v, v;
java.util.regex.Matcher v;
org.apache.zookeeper.server.persistence.TxnLogToolkit v;
java.lang.String v, v, v;
java.util.regex.Pattern v;
boolean v;
v := @this: org.apache.zookeeper.server.persistence.TxnLogToolkitTest;
v = new java.io.File;
v = new java.io.File;
v = v.<org.apache.zookeeper.server.persistence.TxnLogToolkitTest: java.io.File mySnapDir>;
specialinvoke v.<java.io.File: void <init>(java.io.File,java.lang.String)>(v, "version-2");
specialinvoke v.<java.io.File: void <init>(java.io.File,java.lang.String)>(v, "log.42");
v = new org.apache.zookeeper.server.persistence.TxnLogToolkit;
v = virtualinvoke v.<java.io.File: java.lang.String toString()>();
specialinvoke v.<org.apache.zookeeper.server.persistence.TxnLogToolkit: void <init>(boolean,boolean,java.lang.String,boolean)>(0, 0, v, 1);
virtualinvoke v.<org.apache.zookeeper.server.persistence.TxnLogToolkit: void dump(java.util.Scanner)>(null);
v = v.<org.apache.zookeeper.server.persistence.TxnLogToolkitTest: java.io.ByteArrayOutputStream outContent>;
v = virtualinvoke v.<java.io.ByteArrayOutputStream: java.lang.String toString()>();
v = staticinvoke <java.util.regex.Pattern: java.util.regex.Pattern compile(java.lang.String,int)>("^CRC ERROR.*session 0x8061fac5ddeb cxid 0x zxid 0x createSession 30000$", 8);
v = virtualinvoke v.<java.util.regex.Pattern: java.util.regex.Matcher matcher(java.lang.CharSequence)>(v);
v = virtualinvoke v.<java.util.regex.Matcher: boolean find()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Output doesn\'t indicate CRC error for the broken session id: \u0001");
staticinvoke <org.junit.jupiter.api.Assertions: void assertTrue(boolean,java.lang.String)>(v, v);
return;
}
public void testRecoveryFixBrokenFile() throws java.lang.Exception
{
java.io.ByteArrayOutputStream v, v, v;
org.apache.zookeeper.server.persistence.TxnLogToolkit v, v;
java.lang.String v, v, v, v;
org.apache.zookeeper.server.persistence.TxnLogToolkitTest v;
java.io.File v, v, v, v, v, v;
org.hamcrest.Matcher v, v, v;
v := @this: org.apache.zookeeper.server.persistence.TxnLogToolkitTest;
v = new java.io.File;
v = new java.io.File;
v = v.<org.apache.zookeeper.server.persistence.TxnLogToolkitTest: java.io.File mySnapDir>;
specialinvoke v.<java.io.File: void <init>(java.io.File,java.lang.String)>(v, "version-2");
specialinvoke v.<java.io.File: void <init>(java.io.File,java.lang.String)>(v, "log.42");
v = new org.apache.zookeeper.server.persistence.TxnLogToolkit;
v = virtualinvoke v.<java.io.File: java.lang.String toString()>();
specialinvoke v.<org.apache.zookeeper.server.persistence.TxnLogToolkit: void <init>(boolean,boolean,java.lang.String,boolean)>(1, 0, v, 1);
virtualinvoke v.<org.apache.zookeeper.server.persistence.TxnLogToolkit: void dump(java.util.Scanner)>(null);
v = v.<org.apache.zookeeper.server.persistence.TxnLogToolkitTest: java.io.ByteArrayOutputStream outContent>;
v = virtualinvoke v.<java.io.ByteArrayOutputStream: java.lang.String toString()>();
v = staticinvoke <org.hamcrest.CoreMatchers: org.hamcrest.Matcher containsString(java.lang.String)>("CRC FIXED");
staticinvoke <org.hamcrest.MatcherAssert: void assertThat(java.lang.Object,org.hamcrest.Matcher)>(v, v);
v = v.<org.apache.zookeeper.server.persistence.TxnLogToolkitTest: java.io.ByteArrayOutputStream outContent>;
virtualinvoke v.<java.io.ByteArrayOutputStream: void reset()>();
v = new java.io.File;
v = new java.io.File;
v = v.<org.apache.zookeeper.server.persistence.TxnLogToolkitTest: java.io.File mySnapDir>;
specialinvoke v.<java.io.File: void <init>(java.io.File,java.lang.String)>(v, "version-2");
specialinvoke v.<java.io.File: void <init>(java.io.File,java.lang.String)>(v, "log.42.fixed");
v = new org.apache.zookeeper.server.persistence.TxnLogToolkit;
v = virtualinvoke v.<java.io.File: java.lang.String toString()>();
specialinvoke v.<org.apache.zookeeper.server.persistence.TxnLogToolkit: void <init>(boolean,boolean,java.lang.String,boolean)>(0, 0, v, 1);
virtualinvoke v.<org.apache.zookeeper.server.persistence.TxnLogToolkit: void dump(java.util.Scanner)>(null);
v = v.<org.apache.zookeeper.server.persistence.TxnLogToolkitTest: java.io.ByteArrayOutputStream outContent>;
v = virtualinvoke v.<java.io.ByteArrayOutputStream: java.lang.String toString()>();
v = staticinvoke <org.hamcrest.CoreMatchers: org.hamcrest.Matcher containsString(java.lang.String)>("CRC ERROR");
v = staticinvoke <org.hamcrest.core.IsNot: org.hamcrest.Matcher not(org.hamcrest.Matcher)>(v);
staticinvoke <org.hamcrest.MatcherAssert: void assertThat(java.lang.Object,org.hamcrest.Matcher)>(v, v);
return;
}
public void testRecoveryInteractiveMode() throws java.lang.Exception
{
java.io.ByteArrayOutputStream v, v, v;
java.util.Scanner v;
org.apache.zookeeper.server.persistence.TxnLogToolkit v, v;
java.lang.String v, v, v, v;
org.apache.zookeeper.server.persistence.TxnLogToolkitTest v;
java.io.File v, v, v, v, v, v;
org.hamcrest.Matcher v, v, v;
v := @this: org.apache.zookeeper.server.persistence.TxnLogToolkitTest;
v = new java.io.File;
v = new java.io.File;
v = v.<org.apache.zookeeper.server.persistence.TxnLogToolkitTest: java.io.File mySnapDir>;
specialinvoke v.<java.io.File: void <init>(java.io.File,java.lang.String)>(v, "version-2");
specialinvoke v.<java.io.File: void <init>(java.io.File,java.lang.String)>(v, "log.42");
v = new org.apache.zookeeper.server.persistence.TxnLogToolkit;
v = virtualinvoke v.<java.io.File: java.lang.String toString()>();
specialinvoke v.<org.apache.zookeeper.server.persistence.TxnLogToolkit: void <init>(boolean,boolean,java.lang.String,boolean)>(1, 0, v, 0);
v = new java.util.Scanner;
specialinvoke v.<java.util.Scanner: void <init>(java.lang.String)>("y\n");
virtualinvoke v.<org.apache.zookeeper.server.persistence.TxnLogToolkit: void dump(java.util.Scanner)>(v);
v = v.<org.apache.zookeeper.server.persistence.TxnLogToolkitTest: java.io.ByteArrayOutputStream outContent>;
v = virtualinvoke v.<java.io.ByteArrayOutputStream: java.lang.String toString()>();
v = staticinvoke <org.hamcrest.CoreMatchers: org.hamcrest.Matcher containsString(java.lang.String)>("CRC ERROR");
staticinvoke <org.hamcrest.MatcherAssert: void assertThat(java.lang.Object,org.hamcrest.Matcher)>(v, v);
v = v.<org.apache.zookeeper.server.persistence.TxnLogToolkitTest: java.io.ByteArrayOutputStream outContent>;
virtualinvoke v.<java.io.ByteArrayOutputStream: void reset()>();
v = new java.io.File;
v = new java.io.File;
v = v.<org.apache.zookeeper.server.persistence.TxnLogToolkitTest: java.io.File mySnapDir>;
specialinvoke v.<java.io.File: void <init>(java.io.File,java.lang.String)>(v, "version-2");
specialinvoke v.<java.io.File: void <init>(java.io.File,java.lang.String)>(v, "log.42.fixed");
v = new org.apache.zookeeper.server.persistence.TxnLogToolkit;
v = virtualinvoke v.<java.io.File: java.lang.String toString()>();
specialinvoke v.<org.apache.zookeeper.server.persistence.TxnLogToolkit: void <init>(boolean,boolean,java.lang.String,boolean)>(0, 0, v, 1);
virtualinvoke v.<org.apache.zookeeper.server.persistence.TxnLogToolkit: void dump(java.util.Scanner)>(null);
v = v.<org.apache.zookeeper.server.persistence.TxnLogToolkitTest: java.io.ByteArrayOutputStream outContent>;
v = virtualinvoke v.<java.io.ByteArrayOutputStream: java.lang.String toString()>();
v = staticinvoke <org.hamcrest.CoreMatchers: org.hamcrest.Matcher containsString(java.lang.String)>("CRC ERROR");
v = staticinvoke <org.hamcrest.core.IsNot: org.hamcrest.Matcher not(org.hamcrest.Matcher)>(v);
staticinvoke <org.hamcrest.MatcherAssert: void assertThat(java.lang.Object,org.hamcrest.Matcher)>(v, v);
return;
}
static void <clinit>()
{
java.lang.String v;
java.io.File v;
v = new java.io.File;
v = staticinvoke <java.lang.System: java.lang.String getProperty(java.lang.String,java.lang.String)>("test.data.dir", "src/test/resources/data");
specialinvoke v.<java.io.File: void <init>(java.lang.String)>(v);
<org.apache.zookeeper.server.persistence.TxnLogToolkitTest: java.io.File testData> = v;
return;
}
}