This is the mail archive of the ecos-bugs@sourceware.org mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Issue 1001632] New: Patch for making it easy to diff ecosconfigurations


Please do not reply to this email. Use the web interface provided at:
https://bugzilla.ecoscentric.com/show_bug.cgi?id=1001632

           Summary: Patch for making it easy to diff ecos configurations
           Product: eCos
           Version: unknown
          Platform: All
        OS/Version: All
            Status: UNCONFIRMED
          Severity: enhancement
          Priority: normal
         Component: ecosconfig
        AssignedTo: unassigned@bugs.ecos.sourceware.org
        ReportedBy: mha@sophion.dk
         QAContact: ecos-bugs@ecos.sourceware.org
                CC: ecos-bugs@ecos.sourceware.org
             Class: Advice Request


Created an attachment (id=1843)
 --> (https://bugzilla.ecoscentric.com/attachment.cgi?id=1843)
Adds the command "dump" to ecosconfig

I have been frustrated when trying to diff two versions of our configuration
files that this is so hard to do. Changing one option often has side effects in
a lot of places, much of it in comments without any real impact on the values
in effect. Sometimes a change makes an option user selected rather than
default, but the value stays the same.

I am attaching a patch that adds a dump command to ecosconfig. This outputs
something like the following:

...
component CYGPKG_HAL_ROM_MONITOR = 
component CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT = 1
option CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE = inactive
option CYGPRI_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_CONFIGURABLE = 1
option CYGPRI_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_CONFIGURABLE = 1
option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE = 1
option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT = inactive
option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_RESET = 1
option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_VERSION = 1
option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DELAY_US = 1
option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_VPRINTF = 0
option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DATA = 1
option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS = 1
option CYGSEM_HAL_VIRTUAL_VECTOR_DIAG = 1
option CYGSEM_HAL_ROM_MONITOR = 0
option CYGSEM_HAL_USE_ROM_MONITOR = 0 GDB_stubs
option CYGFUN_HAL_GDB_FILEIO = 0
component CYGFUN_HAL_DIAG_VIA_GDB_FILEIO = 0
option CYGSEM_HAL_DIAG_TO_GDBFILEIO_CHAN = inactive
option CYGPKG_HAL_BUILD_COMPILER_TESTS = 0
component CYGPKG_HAL_TESTS = tests/context tests/basic tests/cache
component CYGBLD_HAL_COMMON_MINIMIZE = 0
option CYGBLD_HAL_COMMON_MINIMIZE_IDLE_STACK = inactive
option CYGBLD_HAL_COMMON_MINIMIZE_INTERRUPT_STACK = inactive
package CYGPKG_HAL_ARM
...

Each entry is a single line, which makes it easy to diff. Each value shows the
effective value - regardless of how it was arrived at.

I am also attaching a python script that I use to make the actual diffing
easier. Given two config files (which may reside in subversion or on disc) it
computes the difference in an easy to read way.

Finally, I am also attaching an example of a python unittest that demonstrates
how this can be used to check that

 1. two configurations differ only in allowed ways (we have a jtag and a ram
configuration that should always stay in sync)
 2. certain configuration settings are kept at a specified value (we found that
a particular setting was accidentally changed which affected our network
throughput)

-- 
Configure issuemail: https://bugzilla.ecoscentric.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the issue.
You are on the CC list for the issue.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]