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);