use of org.eclipse.linuxtools.internal.oprofile.core.opxml.info.InfoAdapter in project linuxtools by eclipse.
the class TestCheckEventsPreParse method assertValidity.
public void assertValidity(String path) {
IFileStore fileStore = null;
String infoAbsFilePath = null;
Path infoFilePath = new Path(REL_PATH_TO_INFO_PRE_PARSE_RAW);
URL infoFileURL = FileLocator.find(FrameworkUtil.getBundle(this.getClass()), infoFilePath, null);
try {
infoAbsFilePath = FileLocator.toFileURL(infoFileURL).getFile();
fileStore = EFS.getLocalFileSystem().getStore(new Path(infoAbsFilePath));
} catch (IOException e) {
fail("Failed to convert the resource file's path.");
}
InfoAdapter ia = new InfoAdapter(fileStore);
ia.process();
cea = new CheckEventAdapter(ctr, "CPU_CLK_UNHALTED", umask);
cea.process();
Document actualDocument = cea.getDocument();
Element actualRoot = (Element) actualDocument.getElementsByTagName(CheckEventAdapter.CHECK_EVENTS).item(0);
Path filePath = new Path(path);
URL fileURL = FileLocator.find(FrameworkUtil.getBundle(this.getClass()), filePath, null);
Element expectedRoot = null;
try {
String absFilePath = FileLocator.toFileURL(fileURL).getFile();
File file = new File(absFilePath);
FileInputStream inp = new FileInputStream(file);
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder;
builder = factory.newDocumentBuilder();
Document expectedDocument = builder.parse(inp);
expectedRoot = (Element) expectedDocument.getElementsByTagName(CheckEventAdapter.CHECK_EVENTS).item(0);
} catch (FileNotFoundException e) {
fail("File was not found.");
} catch (IOException e) {
fail("Failed to convert the resource file's path.");
} catch (SAXException e) {
fail("Failed to parse the XML.");
} catch (ParserConfigurationException e) {
fail("Failed to create a document builder.");
}
Element expectedResultTag = (Element) expectedRoot.getElementsByTagName(CheckEventAdapter.RESULT).item(0);
Element actualResultTag = (Element) actualRoot.getElementsByTagName(CheckEventAdapter.RESULT).item(0);
assertEquals(expectedResultTag.getTextContent(), actualResultTag.getTextContent());
}
use of org.eclipse.linuxtools.internal.oprofile.core.opxml.info.InfoAdapter in project linuxtools by eclipse.
the class OpxmlRunner method run.
/**
* Runs opxml with the given arguments.
*
* @param args
* the arguments to pass to opxml
* @param callData
* any callData to pass to the processor
* @return boolean indicating the success/failure of opxml
*/
public boolean run(String[] args, Object callData) {
XMLReader reader = null;
OprofileSAXHandler handler = OprofileSAXHandler.getInstance(callData);
// Create XMLReader
SAXParserFactory factory = SAXParserFactory.newInstance();
try {
reader = factory.newSAXParser().getXMLReader();
} catch (Exception e) {
e.printStackTrace();
return false;
}
// Set content/error handlers
reader.setContentHandler(handler);
reader.setErrorHandler(handler);
// Check for timer support
InfoAdapter.checkTimerSupport();
// Run opxml
try {
File file = constructFile(args);
// handle the opxml_session file
if (args[0].equals(SessionManager.SESSIONS)) {
SessionManager sessManNew = new SessionManager(SessionManager.SESSION_LOCATION);
populateWithCurrentSession(sessManNew);
sessManNew.write();
FileReader fr = new FileReader(file);
reader.parse(new InputSource(fr));
// file has not been saved
} else if (!file.exists()) {
AbstractDataAdapter aea;
if (args[0].equals(CheckEventAdapter.CHECK_EVENTS)) {
aea = new CheckEventAdapter(args[1], args[2], args[3]);
aea.process();
BufferedReader bi = new BufferedReader(new InputStreamReader(aea.getInputStream()));
reader.parse(new InputSource(bi));
} else if (args[0].equals(InfoAdapter.INFO)) {
aea = new InfoAdapter();
aea.process();
BufferedReader bi = new BufferedReader(new InputStreamReader(aea.getInputStream()));
reader.parse(new InputSource(bi));
} else if (args[0].equals(ModelDataAdapter.MODEL_DATA)) {
// has not been generated
if (!handleModelData(args)) {
return false;
}
FileReader fr = new FileReader(file);
reader.parse(new InputSource(fr));
} else {
// $NON-NLS-1$
throw new RuntimeException("Unrecognized argument encountered");
}
} else {
// always regenerate the 'current' session file
if (args.length == 3 && args[0].equals(SessionManager.MODEL_DATA) && args[2].equals(SessionManager.CURRENT)) {
if (!handleModelData(args)) {
return false;
}
}
FileReader fr = new FileReader(file);
reader.parse(new InputSource(fr));
}
return true;
} catch (SAXException e) {
e.printStackTrace();
// $NON-NLS-1$
OprofileCorePlugin.showErrorDialog("opxmlSAXParseException", null);
} catch (IOException e) {
e.printStackTrace();
// $NON-NLS-1$
OprofileCorePlugin.showErrorDialog("opxmlParse", null);
}
return false;
}
Aggregations