Evgeniy@12: /* Evgeniy@12: * Copyright 2000-2013 JetBrains s.r.o. Evgeniy@12: * Evgeniy@12: * Licensed under the Apache License, Version 2.0 (the "License"); Evgeniy@12: * you may not use this file except in compliance with the License. Evgeniy@12: * You may obtain a copy of the License at Evgeniy@12: * Evgeniy@12: * http://www.apache.org/licenses/LICENSE-2.0 Evgeniy@12: * Evgeniy@12: * Unless required by applicable law or agreed to in writing, software Evgeniy@12: * distributed under the License is distributed on an "AS IS" BASIS, Evgeniy@12: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. Evgeniy@12: * See the License for the specific language governing permissions and Evgeniy@12: * limitations under the License. Evgeniy@12: */ Evgeniy@12: Evgeniy@12: import jetbrains.buildServer.BaseTestCase; Evgeniy@12: import jetbrains.buildServer.ExecResult; Evgeniy@27: import jetbrains.buildServer.symbols.tools.PdbStrExe; Evgeniy@27: import jetbrains.buildServer.symbols.tools.PdbStrExeCommands; Evgeniy@35: import jetbrains.buildServer.util.FileUtil; Evgeniy@12: import org.testng.annotations.BeforeMethod; Evgeniy@12: import org.testng.annotations.Test; Evgeniy@12: Evgeniy@12: import java.io.File; Evgeniy@12: import java.io.IOException; Evgeniy@12: Evgeniy@12: /** Evgeniy@12: * @author Evgeniy.Koshkin Evgeniy@12: */ Evgeniy@12: public class PdbStrExeTest extends BaseTestCase { Evgeniy@12: Evgeniy@12: private PdbStrExe myTool; Evgeniy@12: private File myNotIndexedPdbFile; Evgeniy@12: private File myIndexedPdbFile; Evgeniy@12: Evgeniy@12: @BeforeMethod Evgeniy@12: public void setUp() throws Exception { Evgeniy@27: myTool = new PdbStrExe(new File("aaa")); Evgeniy@12: File homeDir = createTempDir(); Evgeniy@12: Evgeniy@12: File file = new File(homeDir, "notIndexed.pdb"); Evgeniy@12: FileUtil.copy(new File("c:\\temp\\JetBrains.CommandLine.Symbols.pdb"), file); Evgeniy@12: myNotIndexedPdbFile = file; Evgeniy@12: assertFalse(myNotIndexedPdbFile.length() == 0); Evgeniy@12: Evgeniy@12: file = new File(homeDir, "indexed.pdb"); Evgeniy@12: FileUtil.copy(new File("c:\\temp\\JetBrains.CommandLine.Symbols.Indexed.pdb"), file); Evgeniy@12: myIndexedPdbFile = file; Evgeniy@12: assertFalse(myIndexedPdbFile.length() == 0); Evgeniy@12: } Evgeniy@12: Evgeniy@12: @Test Evgeniy@12: public void testRead() throws Exception { Evgeniy@12: final File tempFile = createTempFile(); Evgeniy@12: assertTrue(tempFile.length() == 0); Evgeniy@27: ExecResult execResult = myTool.doCommand(PdbStrExeCommands.READ, myIndexedPdbFile, tempFile, PdbStrExe.SRCSRV_STREAM_NAME); Evgeniy@12: assertEquals(0, execResult.getExitCode()); Evgeniy@12: assertFalse(tempFile.length() == 0); Evgeniy@12: } Evgeniy@12: Evgeniy@12: @Test Evgeniy@12: public void testWrite() throws IOException { Evgeniy@12: final File tempFile = createTempFile(); Evgeniy@12: assertTrue(tempFile.length() == 0); Evgeniy@27: myTool.doCommand(PdbStrExeCommands.READ, myNotIndexedPdbFile, tempFile, PdbStrExe.SRCSRV_STREAM_NAME); Evgeniy@12: assertTrue(tempFile.length() == 0); Evgeniy@12: Evgeniy@12: File inputStreamFile = new File("c:\\temp\\pdb-patch.txt"); Evgeniy@12: assertFalse(inputStreamFile.length() == 0); Evgeniy@27: myTool.doCommand(PdbStrExeCommands.WRITE, myNotIndexedPdbFile, inputStreamFile, PdbStrExe.SRCSRV_STREAM_NAME); Evgeniy@12: Evgeniy@27: myTool.doCommand(PdbStrExeCommands.READ, myNotIndexedPdbFile, tempFile, PdbStrExe.SRCSRV_STREAM_NAME); Evgeniy@12: assertFalse(tempFile.length() == 0); Evgeniy@12: } Evgeniy@12: }