Skip to content
项目
群组
代码片段
帮助
正在加载...
帮助
为 GitLab 提交贡献
登录/注册
切换导航
H
h2database
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分枝图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
计划
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
分枝图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
Administrator
h2database
Commits
3065d6bd
提交
3065d6bd
authored
13 年前
作者:
Thomas Mueller
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
To test recovery, append ;RECOVER_TEST=64 to the database URL.
上级
7b61f73c
隐藏空白字符变更
内嵌
并排
正在显示
5 个修改的文件
包含
31 行增加
和
18 行删除
+31
-18
TestAll.java
h2/src/test/org/h2/test/TestAll.java
+2
-2
TestBase.java
h2/src/test/org/h2/test/TestBase.java
+1
-1
TestTempTableCrash.java
h2/src/test/org/h2/test/todo/TestTempTableCrash.java
+1
-1
TestRecovery.java
h2/src/test/org/h2/test/unit/TestRecovery.java
+16
-0
TestReopen.java
h2/src/test/org/h2/test/unit/TestReopen.java
+11
-14
没有找到文件。
h2/src/test/org/h2/test/TestAll.java
浏览文件 @
3065d6bd
...
...
@@ -11,6 +11,7 @@ import java.util.Properties;
import
org.h2.Driver
;
import
org.h2.engine.Constants
;
import
org.h2.store.fs.FileSystemDisk
;
import
org.h2.store.fs.RecordingFileSystem
;
import
org.h2.test.bench.TestPerformance
;
import
org.h2.test.db.TestAlter
;
import
org.h2.test.db.TestAlterSchemaRename
;
...
...
@@ -161,7 +162,6 @@ import org.h2.test.unit.TestValue;
import
org.h2.test.unit.TestValueHashMap
;
import
org.h2.test.unit.TestValueMemory
;
import
org.h2.test.utils.OutputCatcher
;
import
org.h2.test.utils.RecordingFileSystem
;
import
org.h2.test.utils.SelfDestructor
;
import
org.h2.tools.DeleteDbFiles
;
import
org.h2.tools.Server
;
...
...
@@ -380,7 +380,7 @@ kill -9 `jps -l | grep "org.h2.test." | cut -d " " -f 1`
System
.
setProperty
(
"h2.lobInDatabase"
,
"true"
);
System
.
setProperty
(
"h2.analyzeAuto"
,
"100"
);
System
.
setProperty
(
"h2.pageSize"
,
"64"
);
// System.setProperty("reopenShift", "9
");
System
.
setProperty
(
"h2.reopenShift"
,
"0
"
);
RecordingFileSystem
.
register
();
test
.
record
=
true
;
TestReopen
reopen
=
new
TestReopen
();
...
...
This diff is collapsed.
Click to expand it.
h2/src/test/org/h2/test/TestBase.java
浏览文件 @
3065d6bd
...
...
@@ -33,8 +33,8 @@ import org.h2.message.DbException;
import
org.h2.message.TraceSystem
;
import
org.h2.store.FileLock
;
import
org.h2.store.fs.FileSystemSplit
;
import
org.h2.store.fs.RecordingFileSystem
;
import
org.h2.test.utils.ProxyCodeGenerator
;
import
org.h2.test.utils.RecordingFileSystem
;
import
org.h2.test.utils.ResultVerifier
;
import
org.h2.tools.DeleteDbFiles
;
import
org.h2.util.IOUtils
;
...
...
This diff is collapsed.
Click to expand it.
h2/src/test/org/h2/test/todo/TestTempTableCrash.java
浏览文件 @
3065d6bd
...
...
@@ -10,8 +10,8 @@ import java.sql.Connection;
import
java.sql.DriverManager
;
import
java.sql.Statement
;
import
java.util.Random
;
import
org.h2.store.fs.RecordingFileSystem
;
import
org.h2.test.unit.TestReopen
;
import
org.h2.test.utils.RecordingFileSystem
;
import
org.h2.tools.DeleteDbFiles
;
/**
...
...
This diff is collapsed.
Click to expand it.
h2/src/test/org/h2/test/unit/TestRecovery.java
浏览文件 @
3065d6bd
...
...
@@ -36,6 +36,7 @@ public class TestRecovery extends TestBase {
}
public
void
test
()
throws
Exception
{
testRecoverTestMode
();
testRecoverClob
();
testRecoverFulltext
();
testRedoTransactions
();
...
...
@@ -45,6 +46,21 @@ public class TestRecovery extends TestBase {
testRunScript
();
}
private
void
testRecoverTestMode
()
throws
Exception
{
if
(
config
.
memory
)
{
return
;
}
String
recoverTestLog
=
getBaseDir
()
+
"/recovery.h2.db.log"
;
IOUtils
.
delete
(
recoverTestLog
);
deleteDb
(
"recovery"
);
Connection
conn
=
getConnection
(
"recovery;RECOVER_TEST=1"
);
Statement
stat
=
conn
.
createStatement
();
stat
.
execute
(
"create table test(id int, name varchar)"
);
stat
.
execute
(
"drop all objects delete files"
);
conn
.
close
();
assertTrue
(
IOUtils
.
exists
(
recoverTestLog
));
}
private
void
testRecoverClob
()
throws
Exception
{
DeleteDbFiles
.
execute
(
getBaseDir
(),
"recovery"
,
true
);
Connection
conn
=
getConnection
(
"recovery"
);
...
...
This diff is collapsed.
Click to expand it.
h2/src/test/org/h2/test/unit/TestReopen.java
浏览文件 @
3065d6bd
...
...
@@ -15,13 +15,14 @@ import org.h2.engine.Constants;
import
org.h2.engine.Database
;
import
org.h2.engine.Session
;
import
org.h2.message.DbException
;
import
org.h2.store.fs.Recorder
;
import
org.h2.store.fs.RecordingFileSystem
;
import
org.h2.test.TestBase
;
import
org.h2.test.utils.Recorder
;
import
org.h2.test.utils.RecordingFileSystem
;
import
org.h2.tools.Recover
;
import
org.h2.util.IOUtils
;
import
org.h2.util.New
;
import
org.h2.util.Profiler
;
import
org.h2.util.Utils
;
/**
* A test that calls another test, and after each write operation to the
...
...
@@ -29,11 +30,12 @@ import org.h2.util.Profiler;
*/
public
class
TestReopen
extends
TestBase
implements
Recorder
{
private
static
final
int
MAX_FILE_SIZE
=
8
*
1024
*
1024
;
// TODO this is largely a copy of org.h2.util.RecoverTester
private
String
testDatabase
=
"memFS:"
+
TestBase
.
BASE_TEST_DIR
+
"/reopen"
;
private
long
lastCheck
;
private
int
writeCount
=
Integer
.
parseInt
(
System
.
getProperty
(
"reopenOffset"
,
"0"
)
);
private
int
testEvery
=
1
<<
Integer
.
parseInt
(
System
.
getProperty
(
"reopenShift"
,
"8"
))
;
private
int
writeCount
=
Utils
.
getProperty
(
"h2.reopenOffset"
,
0
)
;
private
int
testEvery
=
1
<<
Utils
.
getProperty
(
"h2.reopenShift"
,
6
);
private
long
maxFileSize
=
Utils
.
getProperty
(
"h2.reopenMaxFileSize"
,
Integer
.
MAX_VALUE
)
*
1024L
*
1024
;
private
int
verifyCount
;
private
HashSet
<
String
>
knownErrors
=
New
.
hashSet
();
private
volatile
boolean
testing
;
...
...
@@ -83,20 +85,15 @@ public class TestReopen extends TestBase implements Recorder {
private
synchronized
void
logDb
(
String
fileName
)
{
writeCount
++;
if
((
writeCount
&
1023
)
==
0
)
{
long
now
=
System
.
currentTimeMillis
();
if
(
now
>
lastCheck
+
5000
)
{
System
.
out
.
println
(
"+ write #"
+
writeCount
+
" verify #"
+
verifyCount
);
lastCheck
=
now
;
}
}
if
((
writeCount
&
(
testEvery
-
1
))
!=
0
)
{
return
;
}
if
(
IOUtils
.
length
(
fileName
)
>
MAX_FILE_SIZE
)
{
if
(
IOUtils
.
length
(
fileName
)
>
maxFileSize
)
{
// System.out.println(fileName + " " + IOUtils.length(fileName));
return
;
}
System
.
out
.
println
(
"+ write #"
+
writeCount
+
" verify #"
+
verifyCount
);
try
{
IOUtils
.
copy
(
fileName
,
testDatabase
+
Constants
.
SUFFIX_PAGE_FILE
);
verifyCount
++;
...
...
This diff is collapsed.
Click to expand it.
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论