Relative File Paths
Saving fully qualified paths to referenced files can be problematic in a file-based application. The internal references to files are easily broken when the files are moved or copied. By having a standard strategy for storing paths in the MxSuite, you can copy and move whole projects or parts of projects with confidence. The MxSuite strategy outlined below is simple and provides a lot of flexibility:
Consider two files, F1 and F2, where F1 has to store information on the location of F2, so that F2's absolute path in the file system can be determined. The following defines how to store that information:
•F1 stores the information as a relative path from F1's own location in the file system to that of F2.
•The one exception is when the referenced file (F2) is on another drive. In that case, an absolute path is stored.
Project Files
MxVDev files and file extensions are described below.
File Type |
Format |
Purpose |
Archive Strategy |
|
---|---|---|---|---|
mxc |
TestCase |
XML |
Stores the MxVDev TestCase information |
S |
mxs |
Scenario |
XML |
Stores the MxVDev Scenario information |
S |
mxreg |
Regression Script File |
XML |
This command file is created by the Regression Wizard. |
S |
mxi |
Interactive Test Panel |
XML |
Stores the MxVDev Interactive Test Panel information |
S |
mxe |
Data File |
Binary |
Used to store data for emulating EEPROM for Software-in-the-Loop testing |
S |
VMC files |
System Under Test |
C files |
Files used to build the SIL MxVMC. This includes Visual C project files, .c, .h, .lib, .sln, .dsp, .dsw, .vcproj files. |
H |
mxp |
MxVDev Project |
Text |
Stores all the project settings |
E |
Signal Dictionary |
XML |
The MxVDev Signal Dictionary is stored in this file (In release 3.36.17.26140 and earlier, the Signal Dictionary was a Microsoft Access database.) |
E |
|
Enums file |
XML |
Stores Enum sets |
E |
|
Tags |
XML |
All the Group and Tag entries that are created under Project Settings‑>Tags are stored in this file |
E |
|
mxcfg |
Configuration |
XML |
Stores information about configuration of the Virtual ECUs and interconnections such as CAN buses |
E |
mxrlg |
Regression log |
XML |
This file is generated when a Regression Test sequence is executed. It contains the results of the Regression Test, and is used to build the regression test report. |
R |
mxrlgh |
Regression log header |
XML |
This file is generated before a Regression Test sequence is executed. It contains the header information for the Regression Test, and is used to build the regression test report. |
R |
mxsrlg |
Single Scenario regression log |
XML |
Contains the Regression Test results for one Scenario. It is used to build the regression test report. The file is stored in the .mxout folder for the Scenario. |
R |
Scenario Log |
XML |
Used to log the SUT response data that is generated during the execution of a Scenario. It has the same name as the Scenario, but with .mxlog extension. See Project Settings–Logging. If you double-click this file, the Scenario, along with its jobs, is loaded into MxVDev and all the results are displayed as if the Scenario had just run. |
R |
|
mxcmd |
Scenario command log |
XML |
Used to log the stimulus data that is generated during the execution of a Scenario. It has the same name as the Scenario, but with .mxcmd extension. See Project Settings–Logging. |
R |
mxevt |
Scenario event log |
XML |
Contains events that occur when a Scenario runs |
R |
xml |
Report files |
XML |
All reports are generated in XML. See Reports. |
R |
Options |
Text |
Used for user options that do not affect the outcome of the tests. TestCase display options are saved in this file. |
G |
|
Adapter |
XML |
Defines connections between MxVDev and mxform. There is one file for Response connections and another for Stimulus. |
G |
|
sut |
System Under Test |
Windows DLL |
This file is the executable code that we are testing. It is the product of a build of the MSVC project. You should ensure you can recreate this file in a build process. |
G |
Log file |
Text |
Used to log significant MxSuite events and any issues/errors. •Project log - Logs normal events related to a project. It is located in the project folder. The file name has the format <project-name>.log. For example: MxV.log •Regression.log - Logs execution of a regression run - Located in the Regression folder To view the following log files, select Help->View Log Files from the main menu in MxVDev or MxTransIt: •MxVGui.log and MxVGuiErr.log - Log errors detected in the main MxVDev application •MxRte.log - Logs errors detected in the MxVDev Run-Time Engine •MxTransIt.log For more information, see Project Settings–Logging. The MxServe Manager also uses log files, see MxServe Log Files. Installation errors are logged in a version-specific log file in this format: MicroMax_MxSuite_<version>_<date and time>.log For more information, see Logging—Installation Log File. |
G |
|
layout.xml |
GUI layout file |
XML |
Stores layout information about how to present the dockable panels, such as the Transition List, Project Explorer and Notification Window. |
G |
Harness or Subsystem file |
XML |
Stores information about the project's Transforms. It includes information about connectivity and Signal Dictionary information about I/O ports. It may include code from C# Snippet Transforms. Subsystems are stored in these files. |
H |
|
User Settings |
XML |
Stores user-specific information. This file is normally stored in C:\Users\<username>\AppData\Roaming\MicroMax\MxVUserSettings.xml. This file includes recent projects and the server list created by the MxServe Monitor and the MxV License Manager. |
G |
Archive Strategy
When it comes to choosing which files to archive, the table below provides a starting point.
S |
Source |
You must archive these files. These files (if used in your project) are required to recreate/re-execute a test. |
E |
Environment |
You must archive these files. These are used to create/configure the MxVDev environment. |
H |
Harness |
You must archive these files. These files are needed to recreate the test harness. You will not be able to re-execute your tests if you cannot build the harness. |
R |
Result/Report |
If all source files are archived and put under version control then there is no need to archive every set of results and report files. For major customer releases it is advisable to check these files into to your archive. |
G |
Generated |
There is no need to put these files under version control. They are either generated automatically or easily recreated by the user. |
The following folders are created when you create a new MxVDev project:
•HMI folder
•Regression folder
•ScenariosAndTestCases folder
•SUT folder
•Transforms folder
The folders are used as follows:
HMI |
Folder that stores HMI panels that you create (.mxhmi). It includes a subfolder that stores image files for the panels. |
MxVDev |
This folder contains all project files related to MxVDev. It contains the folders listed above and the following files: •Project File (.mxp) •MxVDev Log File •MxVDev Signal Dictionary (.mxd) •.mxo •.mxtags •Layout.xml |
SUT |
SIL - Files related to building the MxVMC, the Virtual MicroController are stored in this location. •The Microsoft Visual C++ files that are used to build the System Under Test. (You only need one MSVC project, but you could easily have more than one.) |
SUT\MxVHarness |
This folder contains the files that are used when linking user code to the MxVMC. It typically contains: •AppIF.c - This file is the primary interface file between your User Code and the MxVMC If you create any other files for your harness, they ought to go in this folder. |
SUT\Source |
When you create a new MxVDev project, if you select Virtual MicroController and check 'Include a sample application' then the sample application is placed in this folder. |
ScenariosAndTestCases |
This is the default location where you put all your TestCases and Scenarios. You should organize your test cases and scenarios by using naming conventions and creating subfolders in this folder. This folder contains: •TestCase Files •Interactive Test Panel files •Scenario Files •Scenario Log files |
The <Scenario name>.mxout subfolder, inside the ScenariosAndTestCases folder, is used for files produced when a Scenario is run. For Regression Testing, see Regression Testing–Report Options. |
|
Regression |
This folder is used to store files related to Regression Testing. Here you find: •The Regression Job Files (.mxreg) that you create •Folders containing the full results of regression tests that you run |
Regression\Regression<date><time> |
This folder stores a copy of the entire project at the time that the regression was run, and the results of the Regression run. Key files you will find in this folder are: •Report.RegResults.xml - The front page of the regression report •Regression.mxrlg - An XML file storing the results of the regression run |
Transforms |
Typically the mxform file and Transforms that you use on your project are stored in this location, but they may be stored elsewhere. See Transform File Locations. |