The current agreed order of importance is as follows:
.igtrc < ENV < --switch
or to put it in words
.igtrc option is less important than ENV
.igtrc and ENV are both less important than --switch
Real world example:
device for IGT execution can be specified as Common::Device in .igtrc, IGT_DEVICE env variable or --device switch on command line.
The idea is that .igtrc is the default set on the machine that can be overwritten for the whole session with env or just for a single test with --device.
This needs to be documented and the whey we handle this in igt_core.c could use some streamlining.