[U-Boot] [PATCH 4/8] binman: Add support for powerpc 'bootpg + resetvec' entry

Simon Glass sjg at chromium.org
Thu Aug 30 00:29:35 UTC 2018


Hi,

On 24 August 2018 at 00:02, Jagdish Gediya <jagdish.gediya at nxp.com> wrote:
> Hi Simon,
>
> I tried to run 'binman -T' on top of latest u-boot without any changes to understand it. I am facing below errors, Am i missing any prerequisite?
>
> $./tools/binman/binman -T
> FATAL ERROR: Unrecognized check name "unit_address_vs_reg"
> FATAL ERROR: Unrecognized check name "unit_address_vs_reg"
> .
> .
> .
> <unittest.result.TestResult run=110 errors=86 failures=3>
> entry_test.TestEntry.test1EntryNoImportLib Traceback (most recent call last):
> Exception: Error running 'dtc -I dts -o /tmp/binman.QSE04Z/source.dtb -O dtb -W no-unit_address_vs_reg -i /home/jagdish/projects/nxp/u-boot-denx/include /tmp/binman.QSE04Z/source.dts'
> .
> .
> .
> ftest.TestFunctional.testWithoutMicrocode Traceback (most recent call last):
> Exception: Error running 'dtc -I dts -o /tmp/binmant.Y0yzB_/source.dtb -O dtb -W no-unit_address_vs_reg -i /home/jagdish/projects/nxp/u-boot-denx/include /tmp/binmant.Y0yzB_/source.dts'
>
> tearDownClass (ftest.TestFunctional) Traceback (most recent call last):
> OSError: [Errno 2] No such file or directory: '/tmp/binmant.Y0yzB_'
>
> tearDownClass (ftest.TestFunctional) Traceback (most recent call last):
> OSError: [Errno 2] No such file or directory: '/tmp/binmant.Y0yzB_'
>
> fdt_test.TestFdt.testFdtNormal Traceback (most recent call last):
> Exception: Error running 'dtc -I dts -o /tmp/binmant.NP9CZr/source.dtb -O dtb -W no-unit_address_vs_reg -i /home/jagdish/projects/nxp/u-boot-denx/include /tmp/binmant.NP9CZr/source.dts'
>
> fdt_test.TestFdt.testFdtNormalProp Traceback (most recent call last):
> Exception: Error running 'dtc -I dts -o /tmp/binmant.NP9CZr/source.dtb -O dtb -W no-unit_address_vs_reg -i /home/jagdish/projects/nxp/u-boot-denx/include /tmp/binmant.NP9CZr/source.dts'
>
> Traceback (most recent call last):
>   File "/home/jagdish/projects/nxp/u-boot-denx/tools/binman/ftest.py", line 434, in testBrokenDt
>     str(e.exception))
> AssertionError: 'FATAL ERROR: Unable to parse input tree' not found in 'Error running \'-d /home/jagdish/projects/nxp/u-boot-denx/tools/binman/test/01_invalid.dts\': binman: Error running \'dtc -I dts -o /tmp/binman.XumV4A/source.dtb -O dtb -W no-unit_address_vs_reg -i /home/jagdish/projects/nxp/u-boot-denx/include /tmp/binman.XumV4A/source.dts\'\nFATAL ERROR: Unrecognized check name "unit_address_vs_reg"\n'
> [(<ftest.TestFunctional testMethod=testBrokenDt>, 'Traceback (most recent call last):\n  File "/home/jagdish/projects/nxp/u-boot-denx/tools/binman/ftest.py", line 434, in testBrokenDt\n    str(e.exception))\nAssertionError: \'FATAL ERROR: Unable to parse input tree\' not found in \'Error running \\\'-d /home/jagdish/projects/nxp/u-boot-denx/tools/binman/test/01_invalid.dts\\\': binman: Error running \\\'dtc -I dts -o /tmp/binman.XumV4A/source.dtb -O dtb -W no-unit_address_vs_reg -i /home/jagdish/projects/nxp/u-boot-denx/include /tmp/binman.XumV4A/source.dts\\\'\\nFATAL ERROR: Unrecognized check name "unit_address_vs_reg"\\n\'\n'), (<ftest.TestFunctional testMethod=testInvalidEntry>, 'Traceback (most recent call last):\n  File "/home/jagdish/projects/nxp/u-boot-denx/tools/binman/ftest.py", line 454, in testInvalidEntry\n    "\'/binman/not-a-valid-type\'", str(e.exception))\nAssertionError: "Unknown entry type \'not-a-valid-type\' in node \'/binman/not-a-valid-type\'" not found in \'Error running \\\'-d /home/jagdish/projects/nxp/u-boot-denx/tools/binman/test/04_invalid_entry.dts\\\': binman: Error running \\\'dtc -I dts -o /tmp/binman.jzQF0A/source.dtb -O dtb -W no-unit_address_vs_reg -i /home/jagdish/projects/nxp/u-boot-denx/include /tmp/binman.jzQF0A/source.dts\\\'\\nFATAL ERROR: Unrecognized check name "unit_address_vs_reg"\\n\'\n'), (<ftest.TestFunctional testMethod=testMissingNode>, 'Traceback (most recent call last):\n  File "/home/jagdish/projects/nxp/u-boot-denx/tools/binman/ftest.py", line 440, in testMissingNode\n    self.assertIn("does not have a \'binman\' node", str(e.exception))\nAssertionError: "does not have a \'binman\' node" not found in "Error running \'dtc -I dts -o /tmp/binman.N2Mjfy/source.dtb -O dtb -W no-unit_address_vs_reg -i /home/jagdish/projects/nxp/u-boot-denx/include /tmp/binman.N2Mjfy/source.dts\'"\n')]
> Traceback (most recent call last):
>   File "/home/jagdish/projects/nxp/u-boot-denx/tools/binman/ftest.py", line 454, in testInvalidEntry
>     "'/binman/not-a-valid-type'", str(e.exception))
> AssertionError: "Unknown entry type 'not-a-valid-type' in node '/binman/not-a-valid-type'" not found in 'Error running \'-d /home/jagdish/projects/nxp/u-boot-denx/tools/binman/test/04_invalid_entry.dts\': binman: Error running \'dtc -I dts -o /tmp/binman.jzQF0A/source.dtb -O dtb -W no-unit_address_vs_reg -i /home/jagdish/projects/nxp/u-boot-denx/include /tmp/binman.jzQF0A/source.dts\'\nFATAL ERROR: Unrecognized check name "unit_address_vs_reg"\n'
> [(<ftest.TestFunctional testMethod=testBrokenDt>, 'Traceback (most recent call last):\n  File "/home/jagdish/projects/nxp/u-boot-denx/tools/binman/ftest.py", line 434, in testBrokenDt\n    str(e.exception))\nAssertionError: \'FATAL ERROR: Unable to parse input tree\' not found in \'Error running \\\'-d /home/jagdish/projects/nxp/u-boot-denx/tools/binman/test/01_invalid.dts\\\': binman: Error running \\\'dtc -I dts -o /tmp/binman.XumV4A/source.dtb -O dtb -W no-unit_address_vs_reg -i /home/jagdish/projects/nxp/u-boot-denx/include /tmp/binman.XumV4A/source.dts\\\'\\nFATAL ERROR: Unrecognized check name "unit_address_vs_reg"\\n\'\n'), (<ftest.TestFunctional testMethod=testInvalidEntry>, 'Traceback (most recent call last):\n  File "/home/jagdish/projects/nxp/u-boot-denx/tools/binman/ftest.py", line 454, in testInvalidEntry\n    "\'/binman/not-a-valid-type\'", str(e.exception))\nAssertionError: "Unknown entry type \'not-a-valid-type\' in node \'/binman/not-a-valid-type\'" not found in \'Error running \\\'-d /home/jagdish/projects/nxp/u-boot-denx/tools/binman/test/04_invalid_entry.dts\\\': binman: Error running \\\'dtc -I dts -o /tmp/binman.jzQF0A/source.dtb -O dtb -W no-unit_address_vs_reg -i /home/jagdish/projects/nxp/u-boot-denx/include /tmp/binman.jzQF0A/source.dts\\\'\\nFATAL ERROR: Unrecognized check name "unit_address_vs_reg"\\n\'\n'), (<ftest.TestFunctional testMethod=testMissingNode>, 'Traceback (most recent call last):\n  File "/home/jagdish/projects/nxp/u-boot-denx/tools/binman/ftest.py", line 440, in testMissingNode\n    self.assertIn("does not have a \'binman\' node", str(e.exception))\nAssertionError: "does not have a \'binman\' node" not found in "Error running \'dtc -I dts -o /tmp/binman.N2Mjfy/source.dtb -O dtb -W no-unit_address_vs_reg -i /home/jagdish/projects/nxp/u-boot-denx/include /tmp/binman.N2Mjfy/source.dts\'"\n')]
> Traceback (most recent call last):
>   File "/home/jagdish/projects/nxp/u-boot-denx/tools/binman/ftest.py", line 440, in testMissingNode
>     self.assertIn("does not have a 'binman' node", str(e.exception))
> AssertionError: "does not have a 'binman' node" not found in "Error running 'dtc -I dts -o /tmp/binman.N2Mjfy/source.dtb -O dtb -W no-unit_address_vs_reg -i /home/jagdish/projects/nxp/u-boot-denx/include /tmp/binman.N2Mjfy/source.dts'"
> [(<ftest.TestFunctional testMethod=testBrokenDt>, 'Traceback (most recent call last):\n  File "/home/jagdish/projects/nxp/u-boot-denx/tools/binman/ftest.py", line 434, in testBrokenDt\n    str(e.exception))\nAssertionError: \'FATAL ERROR: Unable to parse input tree\' not found in \'Error running \\\'-d /home/jagdish/projects/nxp/u-boot-denx/tools/binman/test/01_invalid.dts\\\': binman: Error running \\\'dtc -I dts -o /tmp/binman.XumV4A/source.dtb -O dtb -W no-unit_address_vs_reg -i /home/jagdish/projects/nxp/u-boot-denx/include /tmp/binman.XumV4A/source.dts\\\'\\nFATAL ERROR: Unrecognized check name "unit_address_vs_reg"\\n\'\n'), (<ftest.TestFunctional testMethod=testInvalidEntry>, 'Traceback (most recent call last):\n  File "/home/jagdish/projects/nxp/u-boot-denx/tools/binman/ftest.py", line 454, in testInvalidEntry\n    "\'/binman/not-a-valid-type\'", str(e.exception))\nAssertionError: "Unknown entry type \'not-a-valid-type\' in node \'/binman/not-a-valid-type\'" not found in \'Error running \\\'-d /home/jagdish/projects/nxp/u-boot-denx/tools/binman/test/04_invalid_entry.dts\\\': binman: Error running \\\'dtc -I dts -o /tmp/binman.jzQF0A/source.dtb -O dtb -W no-unit_address_vs_reg -i /home/jagdish/projects/nxp/u-boot-denx/include /tmp/binman.jzQF0A/source.dts\\\'\\nFATAL ERROR: Unrecognized check name "unit_address_vs_reg"\\n\'\n'), (<ftest.TestFunctional testMethod=testMissingNode>, 'Traceback (most recent call last):\n  File "/home/jagdish/projects/nxp/u-boot-denx/tools/binman/ftest.py", line 440, in testMissingNode\n    self.assertIn("does not have a \'binman\' node", str(e.exception))\nAssertionError: "does not have a \'binman\' node" not found in "Error running \'dtc -I dts -o /tmp/binman.N2Mjfy/source.dtb -O dtb -W no-unit_address_vs_reg -i /home/jagdish/projects/nxp/u-boot-denx/include /tmp/binman.N2Mjfy/source.dts\'"\n')]
> binman tests FAILED
> 49%
> Name                                           Stmts   Miss  Cover
> ------------------------------------------------------------------
> tools/binman/bsection                            208    141    32%
> tools/binman/cmdline                              20      0   100%
> tools/binman/control                             104     51    51%
> tools/binman/elf                                  67      2    97%
> tools/binman/entry                               197     96    51%
> tools/binman/etype/blob                           18     10    44%
> tools/binman/etype/blob_named_by_arg               7      2    71%
> tools/binman/etype/cros_ec_rw                      4      1    75%
> tools/binman/etype/fill                           11      6    45%
> tools/binman/etype/fmap                           22     15    32%
> tools/binman/etype/gbb                            33     24    27%
> tools/binman/etype/intel_cmc                       5      1    80%
> tools/binman/etype/intel_descriptor               26     15    42%
> tools/binman/etype/intel_fsp                       5      1    80%
> tools/binman/etype/intel_me                        5      1    80%
> tools/binman/etype/intel_mrc                       7      2    71%
> tools/binman/etype/intel_vbt                       5      1    80%
> tools/binman/etype/intel_vga                       5      1    80%
> tools/binman/etype/section                        42     23    45%
> tools/binman/etype/text                           11      5    55%
> tools/binman/etype/u_boot                          7      2    71%
> tools/binman/etype/u_boot_dtb                      7      2    71%
> tools/binman/etype/u_boot_dtb_with_ucode          47     38    19%
> tools/binman/etype/u_boot_img                      7      2    71%
> tools/binman/etype/u_boot_nodtb                    7      2    71%
> tools/binman/etype/u_boot_spl                     11      4    64%
> tools/binman/etype/u_boot_spl_bss_pad             15      7    53%
> tools/binman/etype/u_boot_spl_dtb                  7      2    71%
> tools/binman/etype/u_boot_spl_nodtb                7      2    71%
> tools/binman/etype/u_boot_spl_with_ucode_ptr      12      3    75%
> tools/binman/etype/u_boot_tpl                     11      4    64%
> tools/binman/etype/u_boot_tpl_dtb                  7      2    71%
> tools/binman/etype/u_boot_ucode                   27     21    22%
> tools/binman/etype/u_boot_with_ucode_ptr          40     28    30%
> tools/binman/etype/vblock                         27     19    30%
> tools/binman/etype/x86_start16                     7      2    71%
> tools/binman/etype/x86_start16_spl                 7      2    71%
> tools/binman/fmap_util                            41     21    49%
> tools/binman/image                                57     26    54%
> ------------------------------------------------------------------
> TOTAL                                           1153    587    49%
>
> Type 'python-coverage html' to get a report in htmlcov/index.html
> Coverage error: 49%, but should be 100%
> ValueError: Test coverage failure

You should get -t working first. Once all the tests pass, -T will give
you test coverage.

It looks like your dtc is too old. Perhaps binman should use the one
from your build, if available?

Regards,
Simon


More information about the U-Boot mailing list