in case of error, the error value to be logged to the output channel
preview editor will not be shown, and the user will get notified to check the output pannel
Adding objdump path configuration logic
When the user updates the configurtation, a validation logic get fired to check that:
objdump path is valid and exists
the selected objdump path is an actual binary exceutable
it's a valid objdump binary not just any binary by mistake, by runnig objdump --help, and compare the result with expected valid output
the user can only configure this configuration as 'objdump' and the logic to fetch objdump executable from system path
in case of any error, the extension resets this configuration to 'objdump' and fetch the executable from 'objdump' path
default value is 'objdump'
Adding objdump options configuration logic
a text box where the user can add required options to be passed to objdump
validation logic for such a logic is not yet clear, as there's several inputs --> To be discussed
default value is '-d -S'
Updating preview panel to view objdump raw output
Updating preview panel to be viewed in the same column as the active editor
if the actual binary is opened on the second column for example, the behavior was not user friendly
Updating output panel to now be shown by default on startup to avoid annoying the user, it will only be force shown in case of errors
Testing:
Adding test cases for dumper.ts logic
Adding initial test cases for the extension GUI
There's an issue with the automated extension test cases for the extension logic as we need to open an executable and there's no known way to bypass vscode warning for opening a binary as text file to get the extension logic fired --> To be discussed
Overall test coverage using vscode-test is 78.87%
dumper coverage using vscode-test is 81.03%
Removing redundant cmake auto binary generating logic
Examples:
Updated to be compatiable with Ubuntu 20.04 objdump v2.38 as I faced some issues comparing the output of the extension preview, and the actual output in .objdump files
Documentation:
Featurs:
Testing:
Examples: