My name is Fayezin, I am currently studying MSc Advanced Software Engineering at King's College London. My project involves Testing Aspect Oriented Software using OO Testing Tools.
I want to use GAJET for this purpose in my project. I have downladed it from the website, but cant seem to get it to work. I can successfully instrument the test classes with Emma, but when I run GAJET, it throws an exception while reading the Metadata file. The exception is given below-
java.io.EOFException
at java.io.DataInputStream.readFully(DataInputStream.java:178)
at java.io.DataInputStream.readUTF(DataInputStream.java:565)
at java.io.DataInputStream.readUTF(DataInputStream.java :522)
at com.vladium.emma.data.MetaData.readExternal(MetaData.java:240)
at com.vladium.emma.data.DataFactory.readEntry(DataFactory.java:770)
at com.vladium.emma.data.DataFactory.mergeload( DataFactory.java:461)
at com.vladium.emma.data.DataFactory.load(DataFactory.java:56)
at net.sf.gajet.Gajet.loadMetadata(Gajet.java:318)
at net.sf.gajet.Gajet.work(Gajet.java:69)
at net.sf.gajet.cli.Main.<init>(Main.java:44)
at net.sf.gajet.cli.Main.main(Main.java:53)
Exception in thread "main" java.io.EOFException
at java.io.DataInputStream.readFully(DataInputStream.java :178)
at java.io.DataInputStream.readUTF(DataInputStream.java:565)
at java.io.DataInputStream.readUTF(DataInputStream.java:522)
at com.vladium.emma.data.MetaData.readExternal(MetaData.java :240)
at com.vladium.emma.data.DataFactory.readEntry(DataFactory.java:770)
at com.vladium.emma.data.DataFactory.mergeload(DataFactory.java:461)
at com.vladium.emma.data.DataFactory.load(DataFactory.java :56)
at net.sf.gajet.Gajet.loadMetadata(Gajet.java:318)
at net.sf.gajet.Gajet.work(Gajet.java:69)
at net.sf.gajet.cli.Main.<init>(Main.java:44)
at net.sf.gajet.cli.Main.main (Main.java:53)
Kindly direct me how to get past this problem so that I can get the program up and running.
Looking forward to your reply.
Regards,
Fayezin Islam
MSc Advanced Software Engineering
King's College London
Email: nitrousfiz@googlemail.com
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
This is because GAJET is trying to load metadata file created with original (non-modified) version of EMMA. You should use modified EMMA to instrument sour class files. Modified EMMA is contained inside GAJET distribution as gajet-emma-<version>.jar file. Under MS Windows you can use gajet-emma-<version>.bat file to run it conveniently.
Metadata file create with modified EMMA starts with "GAMA" magic string, while original EMMA uses "EMMA" magic string, so you can always determine whether your metadata was created with modified EMMA or not.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Dear Mikhail Vladimirov,
My name is Fayezin, I am currently studying MSc Advanced Software Engineering at King's College London. My project involves Testing Aspect Oriented Software using OO Testing Tools.
I want to use GAJET for this purpose in my project. I have downladed it from the website, but cant seem to get it to work. I can successfully instrument the test classes with Emma, but when I run GAJET, it throws an exception while reading the Metadata file. The exception is given below-
java.io.EOFException
at java.io.DataInputStream.readFully(DataInputStream.java:178)
at java.io.DataInputStream.readUTF(DataInputStream.java:565)
at java.io.DataInputStream.readUTF(DataInputStream.java :522)
at com.vladium.emma.data.MetaData.readExternal(MetaData.java:240)
at com.vladium.emma.data.DataFactory.readEntry(DataFactory.java:770)
at com.vladium.emma.data.DataFactory.mergeload( DataFactory.java:461)
at com.vladium.emma.data.DataFactory.load(DataFactory.java:56)
at net.sf.gajet.Gajet.loadMetadata(Gajet.java:318)
at net.sf.gajet.Gajet.work(Gajet.java:69)
at net.sf.gajet.cli.Main.<init>(Main.java:44)
at net.sf.gajet.cli.Main.main(Main.java:53)
Exception in thread "main" java.io.EOFException
at java.io.DataInputStream.readFully(DataInputStream.java :178)
at java.io.DataInputStream.readUTF(DataInputStream.java:565)
at java.io.DataInputStream.readUTF(DataInputStream.java:522)
at com.vladium.emma.data.MetaData.readExternal(MetaData.java :240)
at com.vladium.emma.data.DataFactory.readEntry(DataFactory.java:770)
at com.vladium.emma.data.DataFactory.mergeload(DataFactory.java:461)
at com.vladium.emma.data.DataFactory.load(DataFactory.java :56)
at net.sf.gajet.Gajet.loadMetadata(Gajet.java:318)
at net.sf.gajet.Gajet.work(Gajet.java:69)
at net.sf.gajet.cli.Main.<init>(Main.java:44)
at net.sf.gajet.cli.Main.main (Main.java:53)
Kindly direct me how to get past this problem so that I can get the program up and running.
Looking forward to your reply.
Regards,
Fayezin Islam
MSc Advanced Software Engineering
King's College London
Email: nitrousfiz@googlemail.com
This is because GAJET is trying to load metadata file created with original (non-modified) version of EMMA. You should use modified EMMA to instrument sour class files. Modified EMMA is contained inside GAJET distribution as gajet-emma-<version>.jar file. Under MS Windows you can use gajet-emma-<version>.bat file to run it conveniently.
Metadata file create with modified EMMA starts with "GAMA" magic string, while original EMMA uses "EMMA" magic string, so you can always determine whether your metadata was created with modified EMMA or not.