You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by ji...@apache.org on 2019/09/23 11:26:43 UTC
[incubator-iotdb] 01/01: merge IncompleteFileTestUtil into
TsFileGeneratorForTest
This is an automated email from the ASF dual-hosted git repository.
jiangtian pushed a commit to branch fix_65
in repository https://gitbox.apache.org/repos/asf/incubator-iotdb.git
commit 650e8789868f2b7fe6b15d5f4e848509c479ef92
Author: jt <jt...@163.com>
AuthorDate: Mon Sep 23 19:15:41 2019 +0800
merge IncompleteFileTestUtil into TsFileGeneratorForTest
---
.../tsfile/read/TsFileRestorableReaderTest.java | 5 +-
.../iotdb/tsfile/utils/IncompleteFileTestUtil.java | 61 ----------------------
.../iotdb/tsfile/utils/TsFileGeneratorForTest.java | 21 ++++++++
.../write/writer/RestorableTsFileIOWriterTest.java | 4 +-
4 files changed, 25 insertions(+), 66 deletions(-)
diff --git a/tsfile/src/test/java/org/apache/iotdb/tsfile/read/TsFileRestorableReaderTest.java b/tsfile/src/test/java/org/apache/iotdb/tsfile/read/TsFileRestorableReaderTest.java
index ac95527..5ab53f7 100644
--- a/tsfile/src/test/java/org/apache/iotdb/tsfile/read/TsFileRestorableReaderTest.java
+++ b/tsfile/src/test/java/org/apache/iotdb/tsfile/read/TsFileRestorableReaderTest.java
@@ -27,7 +27,6 @@ import java.io.IOException;
import org.apache.iotdb.tsfile.common.conf.TSFileConfig;
import org.apache.iotdb.tsfile.fileSystem.TSFileFactory;
import org.apache.iotdb.tsfile.utils.TsFileGeneratorForTest;
-import org.apache.iotdb.tsfile.utils.IncompleteFileTestUtil;
import org.junit.Test;
public class TsFileRestorableReaderTest {
@@ -38,7 +37,7 @@ public class TsFileRestorableReaderTest {
public void testToReadDamagedFileAndRepair() throws IOException {
File file = TSFileFactory.INSTANCE.getFile(FILE_PATH);
- IncompleteFileTestUtil.writeFileWithOneIncompleteChunkHeader(file);
+ TsFileGeneratorForTest.writeFileWithOneIncompleteChunkHeader(file);
TsFileSequenceReader reader = new TsFileRestorableReader(FILE_PATH, true);
String tailMagic = reader.readTailMagic();
@@ -53,7 +52,7 @@ public class TsFileRestorableReaderTest {
public void testToReadDamagedFileNoRepair() throws IOException {
File file = TSFileFactory.INSTANCE.getFile(FILE_PATH);
- IncompleteFileTestUtil.writeFileWithOneIncompleteChunkHeader(file);
+ TsFileGeneratorForTest.writeFileWithOneIncompleteChunkHeader(file);
// This should throw an Illegal Argument Exception
TsFileSequenceReader reader = new TsFileRestorableReader(FILE_PATH, false);
}
diff --git a/tsfile/src/test/java/org/apache/iotdb/tsfile/utils/IncompleteFileTestUtil.java b/tsfile/src/test/java/org/apache/iotdb/tsfile/utils/IncompleteFileTestUtil.java
deleted file mode 100644
index 00c923f..0000000
--- a/tsfile/src/test/java/org/apache/iotdb/tsfile/utils/IncompleteFileTestUtil.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.iotdb.tsfile.utils;
-
-import org.apache.iotdb.tsfile.file.header.ChunkHeader;
-import org.apache.iotdb.tsfile.file.metadata.enums.CompressionType;
-import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
-import org.apache.iotdb.tsfile.file.metadata.enums.TSEncoding;
-import org.apache.iotdb.tsfile.write.TsFileWriter;
-
-import java.io.File;
-import java.io.IOException;
-import java.nio.ByteBuffer;
-
-/**
- * Util to write Incomplete files which can be used for tests.
- */
-public class IncompleteFileTestUtil {
-
- /**
- * Should not be initialized.
- */
- private IncompleteFileTestUtil() {
- throw new UnsupportedOperationException();
- }
-
- /**
- * Writes a File with one incomplete chunk header
- * @param file File to write
- * @throws IOException is thrown when encountering IO issues
- */
- public static void writeFileWithOneIncompleteChunkHeader(File file) throws IOException {
- TsFileWriter writer = new TsFileWriter(file);
-
- ChunkHeader header = new ChunkHeader("s1", 100, TSDataType.FLOAT, CompressionType.SNAPPY,
- TSEncoding.PLAIN, 5);
- ByteBuffer buffer = ByteBuffer.allocate(header.getSerializedSize());
- header.serializeTo(buffer);
- buffer.flip();
- byte[] data = new byte[3];
- buffer.get(data, 0, 3);
- writer.getIOWriter().getIOWriterOut().write(data);
- writer.getIOWriter().close();
- }
-}
diff --git a/tsfile/src/test/java/org/apache/iotdb/tsfile/utils/TsFileGeneratorForTest.java b/tsfile/src/test/java/org/apache/iotdb/tsfile/utils/TsFileGeneratorForTest.java
index 01f5118..76f2893 100755
--- a/tsfile/src/test/java/org/apache/iotdb/tsfile/utils/TsFileGeneratorForTest.java
+++ b/tsfile/src/test/java/org/apache/iotdb/tsfile/utils/TsFileGeneratorForTest.java
@@ -21,6 +21,7 @@ package org.apache.iotdb.tsfile.utils;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
+import java.nio.ByteBuffer;
import java.util.Collections;
import java.util.Scanner;
@@ -31,6 +32,7 @@ import org.apache.iotdb.tsfile.common.conf.TSFileDescriptor;
import org.apache.iotdb.tsfile.common.constant.JsonFormatConstant;
import org.apache.iotdb.tsfile.encoding.encoder.Encoder;
import org.apache.iotdb.tsfile.exception.write.WriteProcessException;
+import org.apache.iotdb.tsfile.file.header.ChunkHeader;
import org.apache.iotdb.tsfile.file.metadata.enums.CompressionType;
import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
import org.apache.iotdb.tsfile.file.metadata.enums.TSEncoding;
@@ -236,4 +238,23 @@ public class TsFileGeneratorForTest {
return schemaBuilder.build();
}
+
+ /**
+ * Writes a File with one incomplete chunk header
+ * @param file File to write
+ * @throws IOException is thrown when encountering IO issues
+ */
+ public static void writeFileWithOneIncompleteChunkHeader(File file) throws IOException {
+ TsFileWriter writer = new TsFileWriter(file);
+
+ ChunkHeader header = new ChunkHeader("s1", 100, TSDataType.FLOAT, CompressionType.SNAPPY,
+ TSEncoding.PLAIN, 5);
+ ByteBuffer buffer = ByteBuffer.allocate(header.getSerializedSize());
+ header.serializeTo(buffer);
+ buffer.flip();
+ byte[] data = new byte[3];
+ buffer.get(data, 0, 3);
+ writer.getIOWriter().getIOWriterOut().write(data);
+ writer.getIOWriter().close();
+ }
}
diff --git a/tsfile/src/test/java/org/apache/iotdb/tsfile/write/writer/RestorableTsFileIOWriterTest.java b/tsfile/src/test/java/org/apache/iotdb/tsfile/write/writer/RestorableTsFileIOWriterTest.java
index 22b390c..012ab3f 100644
--- a/tsfile/src/test/java/org/apache/iotdb/tsfile/write/writer/RestorableTsFileIOWriterTest.java
+++ b/tsfile/src/test/java/org/apache/iotdb/tsfile/write/writer/RestorableTsFileIOWriterTest.java
@@ -38,7 +38,7 @@ import org.apache.iotdb.tsfile.read.common.Path;
import org.apache.iotdb.tsfile.read.common.RowRecord;
import org.apache.iotdb.tsfile.read.expression.QueryExpression;
import org.apache.iotdb.tsfile.read.query.dataset.QueryDataSet;
-import org.apache.iotdb.tsfile.utils.IncompleteFileTestUtil;
+import org.apache.iotdb.tsfile.utils.TsFileGeneratorForTest;
import org.apache.iotdb.tsfile.write.TsFileWriter;
import org.apache.iotdb.tsfile.write.record.TSRecord;
import org.apache.iotdb.tsfile.write.record.datapoint.FloatDataPoint;
@@ -102,7 +102,7 @@ public class RestorableTsFileIOWriterTest {
public void testOnlyOneIncompleteChunkHeader() throws Exception {
File file = TSFileFactory.INSTANCE.getFile(FILE_NAME);
- IncompleteFileTestUtil.writeFileWithOneIncompleteChunkHeader(file);
+ TsFileGeneratorForTest.writeFileWithOneIncompleteChunkHeader(file);
RestorableTsFileIOWriter rWriter = new RestorableTsFileIOWriter(file);
TsFileWriter writer = new TsFileWriter(rWriter);