MAS Tools
This is an incomplete list of tools that are used at DDCI. It's basically the list of tools that Mark had the great fortune (or misfortune) of using.
DDCI Tools
abc-web-server
Where: desk
What: Web-based tool for the abc (assembly branch coverage)
How: Execute the following command to see the list of arguments:
abc-web-server -h
Examples (run command from tests folder):
abc-web-server results/ &
IMPORTANT: The abc-web-server tool launches a web browser. However, the browser task does not always end when you exit the browser. After exiting the browser, execute the following additional commands:
$ jobs $ kill %1 (where "1" is the browser job listed)
cmpStatus2src
Where: howto
What: Compare the status of a file given in a status file to the actual status in subversion.
How: Execute the following command to see the list of arguments:
~/scm/Deos/docs/howto/review-process-user-howto/review-process-scripts/cmpStatus2src.py -h
Examples:
~/scm/Deos/docs/howto/review-process-user-howto/review-process-scripts/cmpStatus2src.py -v RequirementsStatus.txt
NOTE: this script can be run from a component Review Status wiki page. There are links to execute the script at the bottom of each Review Status wiki named "Requirements", "Code", "Test", and "Analysis".
desk-web-server
Where: desk
What: launch the web browser (where default browser is firefox)
How: Execute the following command to see the user guide:
desk-web-server -h
Examples:
desk-web-server deos653p1-runtime-release-notes.htm &
desk-web-server --browser firefox traceaid-matrix.htm &
NOTE: see abc-web-server for IMPORTANT_INFORMATION
elfchk
Where: desk
What: perform consistency checks on elf files.
How: Execute the following command to see the user guide:
elfchk -?
Examples:
elfchk -verbose -complete -fileListFile=loadlist.txt
errnum
Where: desk
What: prints the meaning of a Deos error code.
How: Execute the following command to see the user guide:
errnum -?
Examples:
errnum ipcQuotaExceeded errnum deos653InsufficientEventQuota errnum 0
fp
Where: desk
What: Validate a feature provider file.
How: Execute the following command to see the list of arguments:
fp -h
Examples:
fp tp0060.fp.xml
ioiconfig
Where: desk
What: Validate an ioi config file (e.g. it must have .ioi.xml file extension) or validate a binder file with an ioi config file.
How: Execute the following command to see the list of arguments:
ioiconfig -h
Examples:
ioiconfig r-core-process.ioi.xml
ioiconfig ioi.binder.xml r-core-process.ioi.xml
matchSrc2Status
Where: howto
What: Compare the list of files in all status files to the list of files in subversion.
How: Execute the following command to see the list of arguments:
~/scm/Deos/docs/howto/review-process-user-howto/review-process-scripts/matchSrc2Status.py -h
Examples:
~/scm/Deos/docs/howto/review-process-user-howto/review-process-scripts/matchSrc2Status.py
NOTE: this script can be run from a component Review Status wiki page. There is a link to execute the script at the bottom of the Review Status wiki named "Check status file consistency with SCM".
regress
Where: test-utils
What: For detailed information, see Regress Howto
todo-summary
Where: build-utils
What: Generate a list of TODOs that are embedded in the existing files.
How: To see the list of arguments, use the following command:
./common/build-utils/todo-summary --help
- Navigate to the appropriate folder
- Execute the following command:
./common/build-utils/todo-summary -v -g "*.svn-base wc.db" -d "output* results* common"
verify-doc-links
Where: howtos
What: Search the htm files in the howto folder for broken or questionable links
How: Navigate to the /deos/docs/howto folder, and run the following command:
./verify-doc-links
External Tools
This is a sublist of commonly available tools. The tools can generally be found on the DDCI utils/tools folder (see below), but newer version are generally available on the internet. If you attempt to download from an internet site, please pick a reputable site.
IMPORTANT: Many of the external tools (e.g. tools created by other companies or open source tools) used by DDCI developers can be found using the following network path: \\nx3000\utils\tools
Useful Links
Notepad ++
Currently this is my favorite editor. Here are some additional things you can do with Notepad++.
Installation
The installation process walks you through everything.
Enabling from Linux
Add the following line to your .bashrc file:
alias edit='function editf(){ /mnt/c/Program\ Files/Notepad++/notepad++.exe "$1" & }; editf'
Then you can launch the editor as follows:
$ edit fileName.ext
Line Counts
- Select Find In Files
- Find What: \S+\s*$
- Filters: *.*
- Directory: browse to the appropriate directory
- Search Mode: Regular Expression
- Select Find All
TortoiseSVN
Tortoise is a windows-based subversion (SVN) tool and provides an easy to use GUI and Commands via the Windows File Explorer. However, it can have database issues when used with Docker containers.
Installation
Installation steps:
- Download tortoise SVN from the internet
- After installation is complete, see Ryan's notes to configure it for use with docker/wsl: TortoiseSVN with Docker
SVN Commands via Windows Explorer Window
After installation, you are advised to modify the list of commands that are displayed via the windows File Explorer.
The default location for tortoiseSVN commands is on the TortoiseSVN submenu from the windows File Explorer. This is
annoying since you have to dive into the TortoiseSVN submenu each time you want to use a SVN command. Instead,
you can elevate the SVN commands to the list top level File Explorer commands (e.g. the commands that show up when
you right click a folder in the navigation pane of a windows File Explorer).
To move/elevate SVN commands on the windows File Explorer, do the following:
- Right click a folder currently under SVN control
TortoiseSVN: Settings: General: Context Menu
Checkout Component via Tortoise
Instead of using SVN command lines to checkout a new component from SVN, you can use the following commands in Tortoise:
- Right click the top level folder (such as scm/Deos/products) and select TortoiseSVN -> Repo-Browser
- Using the repository browser, select the appropriate folder you want
- Right click the folder and select Checkout…
- NOTE: make sure the correct path names are given with the checkout window
- Select OK
Un-checkout a component from SVN
- Navigate to the directory immediately above the mess of files/directories
- Right click the directory, and select “SVN Tortoise …”, and then select “Update Revision”
- Change the ‘Update Depth’ selection to “Only this item”
- Make depth sticky needs to be checked
- Select OK
- Now, you need to check back out the file and directories you really wanted, and not all the extra clutter
WordPad
Why would anyone want to use this ancient editor when you can do much more with Notepad++? Because you can do the following really cool things:
Time Keeping
Open up any text file (or create a new one), and hit the F5 function key. You get a timestamp! You can use this to clock in and clock out throughout the day. (Thanks to Ron for pointing this out).
Tips and Tricks
Windows File Explorer
Many of the tools (Tortoise, BeyondCompare, etc) add commands to sub-menus in the windows File Explorer. Thus, you need to select "Show more options" and then navigate submenus to find the commands you are looking for. To move commands to the primary menu, open a Windows Command Prompt window and enter the following command:
reg add HKCU\Software\Classes\CLSID\{86ca1aa0-34aa-4e8b-a509-50c905bae2a2}\InprocServer32 /ve /d "" /f
NOTE: You need to restart your PC to apply the updates.
If you want to revert to the original/default approach of the File Explorer menus, enter the following command in the Windows Command Prompt window:
reg.exe delete “HKCU\Software\Classes\CLSID\{86ca1aa0-34aa-4e8b-a509-50c905bae2a2}” /f