mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-07-23 17:05:26 +02:00
Bug 562164 - Add JUnit tests for IMemoryImporter and IMemoryExporter
Prepare to extract IMemoryExporter implementations Change-Id: Ib1c2cfd15979628c45a7685ef490ef565af8eb48 Signed-off-by: Alexander Fedorov <alexander.fedorov@arsysop.ru>
This commit is contained in:
parent
a92105a031
commit
5947786365
5 changed files with 17 additions and 17 deletions
|
@ -41,10 +41,10 @@ public abstract class FileImport<I extends AutoCloseable> implements ICoreRunnab
|
|||
protected final WriteMemory write;
|
||||
protected final Consumer<BigInteger> scroll;
|
||||
|
||||
private final File inputFile;
|
||||
private final File file;
|
||||
|
||||
protected FileImport(File input, ImportRequest request, Consumer<BigInteger> scroll) {
|
||||
this.inputFile = input;
|
||||
this.file = input;
|
||||
this.base = request.base();
|
||||
this.start = request.start();
|
||||
this.write = request.write();
|
||||
|
@ -53,8 +53,8 @@ public abstract class FileImport<I extends AutoCloseable> implements ICoreRunnab
|
|||
|
||||
@Override
|
||||
public void run(IProgressMonitor monitor) throws CoreException {
|
||||
try (I reader = input(inputFile)) {
|
||||
BigInteger jobs = BigInteger.valueOf(inputFile.length());
|
||||
try (I reader = input(file)) {
|
||||
BigInteger jobs = BigInteger.valueOf(file.length());
|
||||
BigInteger factor = BigInteger.ONE;
|
||||
if (jobs.compareTo(BigInteger.valueOf(0x7FFFFFFF)) > 0) {
|
||||
factor = jobs.divide(BigInteger.valueOf(0x7FFFFFFF));
|
||||
|
|
|
@ -13,30 +13,30 @@
|
|||
*******************************************************************************/
|
||||
package org.eclipse.cdt.debug.internal.core.memory.transport;
|
||||
|
||||
import org.eclipse.cdt.debug.core.memory.transport.FileImport;
|
||||
import org.eclipse.core.runtime.CoreException;
|
||||
import org.eclipse.core.runtime.ICoreRunnable;
|
||||
import org.eclipse.core.runtime.IProgressMonitor;
|
||||
import org.eclipse.core.runtime.IStatus;
|
||||
import org.eclipse.core.runtime.Status;
|
||||
import org.eclipse.core.runtime.jobs.Job;
|
||||
|
||||
/**
|
||||
* Runs {@link FileImport} operation as a {@link Job}
|
||||
* Runs memory transport runnable as a {@link Job}
|
||||
*
|
||||
*/
|
||||
public final class FileImportJob extends Job {
|
||||
public final class TransportJob extends Job {
|
||||
|
||||
private final FileImport<?> fileImport;
|
||||
private final ICoreRunnable runnable;
|
||||
|
||||
public FileImportJob(String name, FileImport<?> fileImport) {
|
||||
public TransportJob(String name, ICoreRunnable runnable) {
|
||||
super(name);
|
||||
this.fileImport = fileImport;
|
||||
this.runnable = runnable;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected IStatus run(IProgressMonitor monitor) {
|
||||
try {
|
||||
fileImport.run(monitor);
|
||||
runnable.run(monitor);
|
||||
} catch (CoreException e) {
|
||||
return e.getStatus();
|
||||
}
|
|
@ -20,7 +20,7 @@ import java.math.BigInteger;
|
|||
import java.util.function.Consumer;
|
||||
|
||||
import org.eclipse.cdt.debug.core.memory.transport.ImportRequest;
|
||||
import org.eclipse.cdt.debug.internal.core.memory.transport.FileImportJob;
|
||||
import org.eclipse.cdt.debug.internal.core.memory.transport.TransportJob;
|
||||
import org.eclipse.cdt.debug.internal.core.memory.transport.PlainTextImport;
|
||||
import org.eclipse.cdt.debug.internal.ui.memory.transport.ScrollMemory;
|
||||
import org.eclipse.cdt.debug.internal.ui.memory.transport.WriteMemoryBlock;
|
||||
|
@ -270,7 +270,7 @@ public class PlainTextImporter implements IMemoryImporter {
|
|||
ImportRequest request = new ImportRequest(block.getBigBaseAddress(), fStartAddress,
|
||||
new WriteMemoryBlock(block));
|
||||
PlainTextImport memoryImport = new PlainTextImport(fInputFile, request, scroll);
|
||||
FileImportJob job = new FileImportJob(//
|
||||
TransportJob job = new TransportJob(//
|
||||
"Memory Import from Plain Text File", memoryImport);
|
||||
job.setUser(true);
|
||||
job.schedule();
|
||||
|
|
|
@ -20,7 +20,7 @@ import java.math.BigInteger;
|
|||
import java.util.function.Consumer;
|
||||
|
||||
import org.eclipse.cdt.debug.core.memory.transport.ImportRequest;
|
||||
import org.eclipse.cdt.debug.internal.core.memory.transport.FileImportJob;
|
||||
import org.eclipse.cdt.debug.internal.core.memory.transport.TransportJob;
|
||||
import org.eclipse.cdt.debug.internal.core.memory.transport.RAWBinaryImport;
|
||||
import org.eclipse.cdt.debug.internal.ui.memory.transport.ScrollMemory;
|
||||
import org.eclipse.cdt.debug.internal.ui.memory.transport.WriteMemoryBlock;
|
||||
|
@ -253,7 +253,7 @@ public class RAWBinaryImporter implements IMemoryImporter {
|
|||
ImportRequest request = new ImportRequest(block.getBigBaseAddress(), fStartAddress,
|
||||
new WriteMemoryBlock(block));
|
||||
RAWBinaryImport memoryImport = new RAWBinaryImport(fInputFile, request, scroll);
|
||||
FileImportJob job = new FileImportJob(//
|
||||
TransportJob job = new TransportJob(//
|
||||
"Memory Import from RAW Binary File", memoryImport);
|
||||
job.setUser(true);
|
||||
job.schedule();
|
||||
|
|
|
@ -20,7 +20,7 @@ import java.math.BigInteger;
|
|||
import java.util.function.Consumer;
|
||||
|
||||
import org.eclipse.cdt.debug.core.memory.transport.ImportRequest;
|
||||
import org.eclipse.cdt.debug.internal.core.memory.transport.FileImportJob;
|
||||
import org.eclipse.cdt.debug.internal.core.memory.transport.TransportJob;
|
||||
import org.eclipse.cdt.debug.internal.core.memory.transport.SRecordImport;
|
||||
import org.eclipse.cdt.debug.internal.ui.memory.transport.ScrollMemory;
|
||||
import org.eclipse.cdt.debug.internal.ui.memory.transport.WriteMemoryBlock;
|
||||
|
@ -342,7 +342,7 @@ public class SRecordImporter implements IMemoryImporter {
|
|||
new WriteMemoryBlock(block));
|
||||
SRecordImport memoryImport = new SRecordImport(fInputFile, request, scroll,
|
||||
fProperties.getBoolean(TRANSFER_CUSTOM_START_ADDRESS));
|
||||
FileImportJob job = new FileImportJob(//
|
||||
TransportJob job = new TransportJob(//
|
||||
"Memory Import from S-Record File", memoryImport);
|
||||
job.setUser(true);
|
||||
job.schedule();
|
||||
|
|
Loading…
Add table
Reference in a new issue