ulfalizer / Kconfiglib

A flexible Python 2/3 Kconfig implementation and library
ISC License
456 stars 161 forks source link

Failing compatibility tests #32

Closed mutilin closed 6 years ago

mutilin commented 6 years ago

Verify that Kconfiglib generates the same .config as 'make alldefconfig', for each architecture

... +# CONFIG_CORDIC is not set +# CONFIG_DDR is not set +# CONFIG_IRQ_POLL is not set +CONFIG_MPILIB=y +CONFIG_OID_REGISTRY=y +# CONFIG_SG_SPLIT is not set +CONFIG_SG_POOL=y +CONFIG_ARCH_HAS_SG_CHAIN=y +CONFIG_SBITMAP=y +# CONFIG_STRING_SELFTEST is not set sparc with arch/sparc/configs/sparc32_defconfig FAIL

on linux-4.15-rc3

command python3 Kconfiglib/testsuite.py

ulfalizer commented 6 years ago

Hello,

I tried reproducing it with the following, but everything passes:

$ git checkout v4.15-rc3
$ git am Kconfiglib/makefile.patch
$ python3 Kconfiglib/testsuite.py

Did you remember to apply makefile.patch? What kernel commit are you on?

Cheers, Ulf

mutilin commented 6 years ago

@ulfalizer

Hello Ulf! I have downloaded https://git.kernel.org/torvalds/t/linux-4.15-rc3.tar.gz I have applied patch < Kconfiglib/makefile.patch And then python3 Kconfiglib/testsuite.py many tests including x86 were OK

Vadim

ulfalizer commented 6 years ago

Found the problem.

You're patching the Makefile in the kernel root rather than scripts/kconfig/Makefile. The paths in makefile.patch have a/ and b/ prefixes, which confuse patch. Use this command instead to strip those:

patch -p1 < Kconfiglib/makefile.path

You'll also need to remove the changes to the root Makefile from applying the patch earlier.

With that change, everything passes for me. I should probably add some more warnings to the test suite.

Weird that patch even considers makefile.patch as applying to the root Makefile. The patch itself is a bit weird in that it has just a single context line though.

mutilin commented 6 years ago

@ulfalizer, thanks All selftests and compatibility tests passed

ulfalizer commented 6 years ago

:ok_hand: