From ad546b47f698ef1bd4ec26cbd157334f61b50958 Mon Sep 17 00:00:00 2001 From: Daisuke Nojiri Date: Wed, 10 Aug 2016 16:36:24 -0700 Subject: Remove code for displaying screen from GBB This patch removes the code displaying vboot screens using bitmap and layout data stored in GBB. bmpblk_utility, and futility support for BmpBlock is also removed. BUG=chromium:622501,chrome-os-partner:54619,b:124141368 BRANCH=none CQ-DEPEND=CL:373123 TEST=Verified screens on eve && emerge-eve chromeos-bootimage && make runtests Change-Id: I1a8dd8ff0162965e81df121d5a87ea64310a0854 Signed-off-by: Daisuke Nojiri Reviewed-on: https://chromium-review.googlesource.com/367882 Commit-Ready: ChromeOS CL Exonerator Bot Tested-by: Joel Kitching Reviewed-by: Joel Kitching --- tests/bitmaps/Background.bmp | Bin 60062 -> 0 bytes tests/bitmaps/FontFile.bin | Bin 2608 -> 0 bytes tests/bitmaps/NotReallyA.bmp | Bin 1024 -> 0 bytes tests/bitmaps/TestBmpBlock.py | 195 --------------------- tests/bitmaps/Word.bmp | Bin 7894 -> 0 bytes tests/bitmaps/case_badbmp.yaml | 21 --- tests/bitmaps/case_nobmp.yaml | 19 -- tests/bitmaps/case_order1.yaml | 36 ---- tests/bitmaps/case_order2.yaml | 36 ---- tests/bitmaps/case_reuse.yaml | 28 --- tests/bitmaps/case_simple.yaml | 27 --- .../show.tests_futility_data_bios_mario_mp.bin | 1 - .../show.tests_futility_data_bios_zgb_mp.bin | 1 - .../show.tests_futility_data_fw_gbb.bin | 5 - tests/futility/test_gbb_utility.sh | 30 +--- tests/vboot_display_tests.c | 1 - 16 files changed, 2 insertions(+), 398 deletions(-) delete mode 100644 tests/bitmaps/Background.bmp delete mode 100644 tests/bitmaps/FontFile.bin delete mode 100644 tests/bitmaps/NotReallyA.bmp delete mode 100755 tests/bitmaps/TestBmpBlock.py delete mode 100644 tests/bitmaps/Word.bmp delete mode 100644 tests/bitmaps/case_badbmp.yaml delete mode 100644 tests/bitmaps/case_nobmp.yaml delete mode 100644 tests/bitmaps/case_order1.yaml delete mode 100644 tests/bitmaps/case_order2.yaml delete mode 100644 tests/bitmaps/case_reuse.yaml delete mode 100644 tests/bitmaps/case_simple.yaml (limited to 'tests') diff --git a/tests/bitmaps/Background.bmp b/tests/bitmaps/Background.bmp deleted file mode 100644 index a83c995c..00000000 Binary files a/tests/bitmaps/Background.bmp and /dev/null differ diff --git a/tests/bitmaps/FontFile.bin b/tests/bitmaps/FontFile.bin deleted file mode 100644 index 5ca0ea8a..00000000 Binary files a/tests/bitmaps/FontFile.bin and /dev/null differ diff --git a/tests/bitmaps/NotReallyA.bmp b/tests/bitmaps/NotReallyA.bmp deleted file mode 100644 index a51e27e3..00000000 Binary files a/tests/bitmaps/NotReallyA.bmp and /dev/null differ diff --git a/tests/bitmaps/TestBmpBlock.py b/tests/bitmaps/TestBmpBlock.py deleted file mode 100755 index 01f85540..00000000 --- a/tests/bitmaps/TestBmpBlock.py +++ /dev/null @@ -1,195 +0,0 @@ -#!/usr/bin/python2 -tt -# -# Copyright (c) 2011 The Chromium OS Authors. All rights reserved. -# Use of this source code is governed by a BSD-style license that can be -# found in the LICENSE file. - -"""Unit tests for bmpblk_utility. -""" - -import os -import sys -import subprocess -import tempfile -import unittest - -def runprog(*args): - """Runs specified program and args, returns (exitcode, stdout, stderr).""" - p = subprocess.Popen(args, stdout=subprocess.PIPE, stderr=subprocess.PIPE) - out, err = p.communicate() - return (p.returncode, out, err) - - -class TempDirTestCase(unittest.TestCase): - """A TestCase that sets up self.tempdir with a temporary directory.""" - - def setUp(self): - self.tempdir = tempfile.mkdtemp(prefix='tmp_test_bmp_block') - self.tempfile = os.path.join(self.tempdir, 'FOO') - self._cwd = os.getcwd() - - def tearDown(self): - os.chdir(self._cwd) - runprog('rm', '-rf', self.tempdir) - - -class TestFailures(TempDirTestCase): - - def testNoArgs(self): - """Running with no args should print usage and fail.""" - rc, out, err = runprog(prog) - self.assertNotEqual(0, rc) - self.assertTrue(err.count("missing BMPBLOCK name")) - self.assertTrue(out.count("bmpblk_utility")) - - def testMissingBmp(self): - """Missing a bmp specified in the yaml is an error.""" - rc, out, err = runprog(prog, '-c', 'case_nobmp.yaml', self.tempfile) - self.assertNotEqual(0, rc) - self.assertTrue(err.count("No such file or directory")) - - def testInvalidBmp(self): - """A .bmp file that isn't really a BMP should fail.""" - rc, out, err = runprog(prog, '-c', 'case_badbmp.yaml', self.tempfile) - self.assertNotEqual(0, rc) - self.assertTrue(err.count("Unsupported image format")) - - def testBadCompression(self): - """Wrong compression types should fail.""" - rc, out, err = runprog(prog, '-z', '99', '-c', 'case_simple.yaml', self.tempfile) - self.assertNotEqual(0, rc) - self.assertTrue(err.count("compression type")) - - -class TestOverWrite(TempDirTestCase): - - def testOverwrite(self): - """Create, unpack, unpack again, with and without -f""" - rc, out, err = runprog(prog, '-c', 'case_simple.yaml', self.tempfile) - self.assertEqual(0, rc) - rc, out, err = runprog(prog, '-x', '-d', self.tempdir, self.tempfile) - self.assertEqual(0, rc) - rc, out, err = runprog(prog, '-x', '-d', self.tempdir, self.tempfile) - self.assertNotEqual(0, rc) - self.assertTrue(err.count("File exists")) - rc, out, err = runprog(prog, '-x', '-d', self.tempdir, '-f', self.tempfile) - self.assertEqual(0, rc) - - -class TestPackUnpack(TempDirTestCase): - - def testPackUnpack(self): - """Create, unpack, recreate without compression""" - foo = os.path.join(self.tempdir, 'FOO') - bar = os.path.join(self.tempdir, 'BAR') - rc, out, err = runprog(prog, '-c', 'case_simple.yaml', foo) - self.assertEqual(0, rc) - rc, out, err = runprog(prog, '-x', '-d', self.tempdir, foo) - self.assertEqual(0, rc) - os.chdir(self.tempdir) - rc, out, err = runprog(prog, '-c', 'config.yaml', bar) - self.assertEqual(0, rc) - rc, out, err = runprog('/usr/bin/cmp', foo, bar) - self.assertEqual(0, rc) - - def doPackUnpackZ(self, comp): - """Create, unpack, recreate with a given compression""" - foo = os.path.join(self.tempdir, 'FOO') - bar = os.path.join(self.tempdir, 'BAR') - rc, out, err = runprog(prog, '-z', comp, '-c', 'case_simple.yaml', foo) - self.assertEqual(0, rc) - rc, out, err = runprog(prog, '-x', '-d', self.tempdir, foo) - self.assertEqual(0, rc) - os.chdir(self.tempdir) - rc, out, err = runprog(prog, '-z', comp, '-c', 'config.yaml', bar) - self.assertEqual(0, rc) - rc, out, err = runprog('/usr/bin/cmp', foo, bar) - self.assertEqual(0, rc) - - def testPackUnpackZ1(self): - """Create, unpack, recreate with EFIv1 compression""" - self.doPackUnpackZ('1') - - def testPackUnpackZ2(self): - """Create, unpack, recreate with LZMA compression""" - self.doPackUnpackZ('2') - - def doPackUnpackImplicitZ(self, comp, noncomp): - """Create with given compression, unpack, repack without specifying""" - foo = os.path.join(self.tempdir, 'FOO') - bar = os.path.join(self.tempdir, 'BAR') - # create with the specified compression scheme - rc, out, err = runprog(prog, '-z', comp, '-c', 'case_simple.yaml', foo) - self.assertEqual(0, rc) - # unpack. yaml file should have compression scheme in it - rc, out, err = runprog(prog, '-f', '-x', '-d', self.tempdir, foo) - self.assertEqual(0, rc) - os.chdir(self.tempdir) - # create with no compression specified, should use default from yaml - rc, out, err = runprog(prog, '-c', 'config.yaml', bar) - self.assertEqual(0, rc) - # so new output should match original - rc, out, err = runprog('/usr/bin/cmp', foo, bar) - self.assertEqual(0, rc) - # Now make sure that specifying a compression arg will override the default - for mycomp in noncomp: - # create with compression scheme different from default - rc, out, err = runprog(prog, '-z', str(mycomp), '-c', 'config.yaml', bar) - self.assertEqual(0, rc) - # should be different binary - rc, out, err = runprog('/usr/bin/cmp', foo, bar) - self.assertNotEqual(0, rc) - - def testPackUnpackImplicitZ(self): - """Create, unpack, recreate with implicit compression""" - self._allowed = range(3) - for c in self._allowed: - os.chdir(self._cwd) - self.doPackUnpackImplicitZ(str(c), [x for x in self._allowed if x != c]) - - -class TestReproducable(TempDirTestCase): - - def disabledTestReproduce(self): - """Equivalent yaml files should produce identical bmpblocks""" - # TODO: This test is currently broken because bmpblock_utility - # uses a map to hold the images, and the map doesn't preserve image - # order. So a simple compare is insufficient to determine that - # the bmpblocks are equivalent. See crosbug.com/19541. - order1 = os.path.join(self.tempdir, 'ORDER1') - order2 = os.path.join(self.tempdir, 'ORDER2') - rc, out, err = runprog(prog, '-c', 'case_order1.yaml', order1) - self.assertEqual(0, rc) - rc, out, err = runprog(prog, '-c', 'case_order2.yaml', order2) - self.assertEqual(0, rc) - rc, out, err = runprog('/usr/bin/cmp', order1, order2) - self.assertEqual(0, rc) - - -class TestReuse(TempDirTestCase): - - def testReuse(self): - """Reusing screens in the yaml file should be okay""" - foo = os.path.join(self.tempdir, 'FOO') - bar = os.path.join(self.tempdir, 'BAR') - rc, out, err = runprog(prog, '-c', 'case_reuse.yaml', foo) - self.assertEqual(0, rc) - rc, out, err = runprog(prog, '-x', '-d', self.tempdir, foo) - self.assertEqual(0, rc) - os.chdir(self.tempdir) - rc, out, err = runprog(prog, '-c', 'config.yaml', bar) - self.assertEqual(0, rc) - rc, out, err = runprog('/usr/bin/cmp', foo, bar) - self.assertEqual(0, rc) - - -# Run these tests -if __name__ == '__main__': - varname = 'BMPBLK' - if varname not in os.environ: - print('You must specify the path to bmpblk_utility in the $%s ' - 'environment variable.' % varname) - sys.exit(1) - prog = os.environ[varname] - print "Testing prog...", prog - unittest.main() diff --git a/tests/bitmaps/Word.bmp b/tests/bitmaps/Word.bmp deleted file mode 100644 index ba4a0e0c..00000000 Binary files a/tests/bitmaps/Word.bmp and /dev/null differ diff --git a/tests/bitmaps/case_badbmp.yaml b/tests/bitmaps/case_badbmp.yaml deleted file mode 100644 index 8772e2e7..00000000 --- a/tests/bitmaps/case_badbmp.yaml +++ /dev/null @@ -1,21 +0,0 @@ -# Invalid specification: requests missing image file. - -bmpblock: 2.0 - -# These are the individual images which are layered to produce a screen layout. -images: - devmode: NotReallyA.bmp - $HWID: FontFile.bin - -# These are all of the distinct layouts that we know how to display. -screens: - dev_en: - - [0, 0, devmode] - - [100, 100, $HWID] - - -# To customize the images for a particular locale, just reorder this list so -# that the default language appears first. -localizations: - - [ dev_en, dev_en, dev_en, dev_en ] - diff --git a/tests/bitmaps/case_nobmp.yaml b/tests/bitmaps/case_nobmp.yaml deleted file mode 100644 index 02b44a35..00000000 --- a/tests/bitmaps/case_nobmp.yaml +++ /dev/null @@ -1,19 +0,0 @@ -# Invalid specification: requests missing image file. - -bmpblock: 2.0 - -# These are the individual images which are layered to produce a screen layout. -images: - devmode: NoSuchFile.bmp - -# These are all of the distinct layouts that we know how to display. -screens: - dev_en: - - [0, 0, devmode] - - -# To customize the images for a particular locale, just reorder this list so -# that the default language appears first. -localizations: - - [ dev_en, dev_en, dev_en, dev_en ] - diff --git a/tests/bitmaps/case_order1.yaml b/tests/bitmaps/case_order1.yaml deleted file mode 100644 index c116ee45..00000000 --- a/tests/bitmaps/case_order1.yaml +++ /dev/null @@ -1,36 +0,0 @@ - -bmpblock: 2.0 - -images: - image0: Background.bmp - image1: Word.bmp - -screens: - scr_a0: - - [0, 0, image0] - - scr_b0: - - [0, 0, image0] - - scr_c0: - - [0, 0, image0] - - scr_d0: - - [0, 0, image0] - - scr_a1: - - [45, 45, image1 ] - - scr_b1: - - [45, 400, image1 ] - - scr_c1: - - [400, 400, image1 ] - - scr_d1: - - [400, 45, image1 ] - -localizations: - - [ scr_a0, scr_b0, scr_c0, scr_d0 ] - - [ scr_a1, scr_b1, scr_c1, scr_d1 ] - diff --git a/tests/bitmaps/case_order2.yaml b/tests/bitmaps/case_order2.yaml deleted file mode 100644 index cd9018f5..00000000 --- a/tests/bitmaps/case_order2.yaml +++ /dev/null @@ -1,36 +0,0 @@ - -bmpblock: 2.0 - -images: - zmage0: Background.bmp - image1: Word.bmp - -screens: - scr_a4: - - [0, 0, zmage0] - - scr_b4: - - [0, 0, zmage0] - - scr_c4: - - [0, 0, zmage0] - - scr_d4: - - [0, 0, zmage0] - - scr_a1: - - [45, 45, image1 ] - - scr_b1: - - [45, 400, image1 ] - - scr_c1: - - [400, 400, image1 ] - - scr_d1: - - [400, 45, image1 ] - -localizations: - - [ scr_a4, scr_b4, scr_c4, scr_d4 ] - - [ scr_a1, scr_b1, scr_c1, scr_d1 ] - diff --git a/tests/bitmaps/case_reuse.yaml b/tests/bitmaps/case_reuse.yaml deleted file mode 100644 index 1265d3c0..00000000 --- a/tests/bitmaps/case_reuse.yaml +++ /dev/null @@ -1,28 +0,0 @@ - -bmpblock: 2.0 - -images: - image0: Background.bmp - image1: Word.bmp - -screens: - scr_a0: - - [0, 0, image0] - - scr_b0: - - [0, 0, image0] - - scr_c0: - - [0, 0, image0] - - scr_d0: - - [0, 0, image0] - - scr_z: - - [45, 45, image1 ] - -localizations: - - [ scr_a0, scr_b0, scr_c0, scr_d0 ] - - [ scr_a0, scr_b0, scr_c0, scr_z ] - - diff --git a/tests/bitmaps/case_simple.yaml b/tests/bitmaps/case_simple.yaml deleted file mode 100644 index c30a0645..00000000 --- a/tests/bitmaps/case_simple.yaml +++ /dev/null @@ -1,27 +0,0 @@ - -bmpblock: 2.0 - -images: - background: Background.bmp - text: Word.bmp - -screens: - scr_1: - - [0, 0, background] - - [45, 45, text ] - - scr_2: - - [0, 0, background] - - [45, 400, text ] - - scr_3: - - [0, 0, background] - - [400, 400, text ] - - scr_4: - - [0, 0, background] - - [400, 45, text ] - - -localizations: - - [ scr_1, scr_2, scr_3, scr_4 ] diff --git a/tests/futility/expect_output/show.tests_futility_data_bios_mario_mp.bin b/tests/futility/expect_output/show.tests_futility_data_bios_mario_mp.bin index 882b9782..36c9ab8b 100644 --- a/tests/futility/expect_output/show.tests_futility_data_bios_mario_mp.bin +++ b/tests/futility/expect_output/show.tests_futility_data_bios_mario_mp.bin @@ -21,7 +21,6 @@ GBB content: Algorithm: 11 RSA8192 SHA512 Key Version: 1 Key sha1sum: 5d0d163b824cab5ae4f23fb2cc012e2a4124f4fe - BmpBlock: Firmware body: Firmware A Data Offset: 0x00040000 Size: 0x000d0000 diff --git a/tests/futility/expect_output/show.tests_futility_data_bios_zgb_mp.bin b/tests/futility/expect_output/show.tests_futility_data_bios_zgb_mp.bin index 6a29c909..5dfa5874 100644 --- a/tests/futility/expect_output/show.tests_futility_data_bios_zgb_mp.bin +++ b/tests/futility/expect_output/show.tests_futility_data_bios_zgb_mp.bin @@ -21,7 +21,6 @@ GBB content: Algorithm: 11 RSA8192 SHA512 Key Version: 1 Key sha1sum: 9bd99a594c45b6739899a17ec29ac2289ee75463 - BmpBlock: Firmware body: FW_MAIN_A Offset: 0x00030000 Size: 0x000dffc0 diff --git a/tests/futility/expect_output/show.tests_futility_data_fw_gbb.bin b/tests/futility/expect_output/show.tests_futility_data_fw_gbb.bin index ea202bfd..3f81d86e 100644 --- a/tests/futility/expect_output/show.tests_futility_data_fw_gbb.bin +++ b/tests/futility/expect_output/show.tests_futility_data_fw_gbb.bin @@ -20,8 +20,3 @@ GBB content: Algorithm: 11 RSA8192 SHA512 Key Version: 1 Key sha1sum: bf39d0d3e30cbf6a121416d04df4603ad5310779 - BmpBlock: - Version: 2.0 - Localizations: 18 - Screen layouts: 10 - Image infos: 269 diff --git a/tests/futility/test_gbb_utility.sh b/tests/futility/test_gbb_utility.sh index 58855711..bdfa2628 100755 --- a/tests/futility/test_gbb_utility.sh +++ b/tests/futility/test_gbb_utility.sh @@ -35,28 +35,22 @@ ${FUTILITY} gbb -g ${TMP}.blob | grep "0123456789ABCDE" # too long dd if=/dev/urandom bs=17 count=1 of=${TMP}.data1.toolong dd if=/dev/urandom bs=17 count=1 of=${TMP}.data2.toolong -dd if=/dev/urandom bs=17 count=1 of=${TMP}.data3.toolong if ${FUTILITY} gbb -s --rootkey ${TMP}.data1.toolong ${TMP}.blob; then false; fi if ${FUTILITY} gbb -s --recoverykey ${TMP}.data2.toolong ${TMP}.blob; then false; fi -if ${FUTILITY} gbb -s --bmpfv ${TMP}.data3.toolong ${TMP}.blob; then false; fi # shorter than max should be okay, though dd if=/dev/urandom bs=10 count=1 of=${TMP}.data1.short dd if=/dev/urandom bs=10 count=1 of=${TMP}.data2.short -dd if=/dev/urandom bs=10 count=1 of=${TMP}.data3.short ${FUTILITY} gbb -s \ --rootkey ${TMP}.data1.short \ - --recoverykey ${TMP}.data2.short \ - --bmpfv ${TMP}.data3.short ${TMP}.blob + --recoverykey ${TMP}.data2.short ${TMP}.blob # read 'em back ${FUTILITY} gbb -g \ --rootkey ${TMP}.read1 \ - --recoverykey ${TMP}.read2 \ - --bmpfv ${TMP}.read3 ${TMP}.blob + --recoverykey ${TMP}.read2 ${TMP}.blob # Verify (but remember, it's short) cmp -n 10 ${TMP}.data1.short ${TMP}.read1 cmp -n 10 ${TMP}.data2.short ${TMP}.read2 -cmp -n 10 ${TMP}.data3.short ${TMP}.read3 # Okay dd if=/dev/urandom bs=16 count=1 of=${TMP}.data1 @@ -64,16 +58,13 @@ dd if=/dev/urandom bs=16 count=1 of=${TMP}.data2 dd if=/dev/urandom bs=16 count=1 of=${TMP}.data3 ${FUTILITY} gbb -s --rootkey ${TMP}.data1 ${TMP}.blob ${FUTILITY} gbb -s --recoverykey ${TMP}.data2 ${TMP}.blob -${FUTILITY} gbb -s --bmpfv ${TMP}.data3 ${TMP}.blob # Read 'em back. ${FUTILITY} gbb -g --rootkey ${TMP}.read1 ${TMP}.blob ${FUTILITY} gbb -g --recoverykey ${TMP}.read2 ${TMP}.blob -${FUTILITY} gbb -g --bmpfv ${TMP}.read3 ${TMP}.blob # Verify cmp ${TMP}.data1 ${TMP}.read1 cmp ${TMP}.data2 ${TMP}.read2 -cmp ${TMP}.data3 ${TMP}.read3 # Okay, creating GBB blobs seems to work. Now let's make sure that corrupted @@ -147,12 +138,6 @@ if ${FUTILITY} gbb ${TMP}.blob.bad; then false; fi cat ${TMP}.blob | ${REPLACE} 0x18 0x00 > ${TMP}.blob.bad if ${FUTILITY} gbb ${TMP}.blob.bad; then false; fi -# bmpfv_offset < GBB_HEADER_SIZE is invalid -cat ${TMP}.blob | ${REPLACE} 0x20 0x7f > ${TMP}.blob.bad -if ${FUTILITY} gbb ${TMP}.blob.bad; then false; fi -cat ${TMP}.blob | ${REPLACE} 0x20 0x00 > ${TMP}.blob.bad -if ${FUTILITY} gbb ${TMP}.blob.bad; then false; fi - # recovery_key_offset < GBB_HEADER_SIZE is invalid cat ${TMP}.blob | ${REPLACE} 0x28 0x7f > ${TMP}.blob.bad if ${FUTILITY} gbb ${TMP}.blob.bad; then false; fi @@ -171,12 +156,6 @@ ${FUTILITY} gbb -g ${TMP}.blob.bad cat ${TMP}.blob | ${REPLACE} 0x1c 0x31 > ${TMP}.blob.bad if ${FUTILITY} gbb -g ${TMP}.blob.bad; then false; fi -# bmpfv: offset + size == end of file is okay; beyond is invalid -cat ${TMP}.blob | ${REPLACE} 0x24 0x20 > ${TMP}.blob.bad -${FUTILITY} gbb -g ${TMP}.blob.bad -cat ${TMP}.blob | ${REPLACE} 0x24 0x21 > ${TMP}.blob.bad -if ${FUTILITY} gbb -g ${TMP}.blob.bad; then false; fi - # recovery_key: offset + size == end of file is okay; beyond is invalid cat ${TMP}.blob | ${REPLACE} 0x2c 0x10 > ${TMP}.blob.bad ${FUTILITY} gbb -g ${TMP}.blob.bad @@ -193,11 +172,6 @@ cat ${TMP}.blob | ${REPLACE} 0x1c 0x00 > ${TMP}.blob.bad ${FUTILITY} gbb -g --rootkey ${TMP}.read1 ${TMP}.blob.bad if ${FUTILITY} gbb -s --rootkey ${TMP}.data1 ${TMP}.blob.bad; then false; fi -# bmpfv_size == 0 gives warning, gets nothing, can't be set -cat ${TMP}.blob | ${REPLACE} 0x24 0x00 > ${TMP}.blob.bad -${FUTILITY} gbb -g --bmpfv ${TMP}.read3 ${TMP}.blob.bad -if ${FUTILITY} gbb -s --bmpfv ${TMP}.data3 ${TMP}.blob.bad; then false; fi - # recovery_key_size == 0 gives warning, gets nothing, can't be set cat ${TMP}.blob | ${REPLACE} 0x2c 0x00 > ${TMP}.blob.bad ${FUTILITY} gbb -g --recoverykey ${TMP}.read2 ${TMP}.blob.bad diff --git a/tests/vboot_display_tests.c b/tests/vboot_display_tests.c index f010ddd6..986bb270 100644 --- a/tests/vboot_display_tests.c +++ b/tests/vboot_display_tests.c @@ -14,7 +14,6 @@ #include "2common.h" #include "2misc.h" #include "2nvstorage.h" -#include "bmpblk_font.h" #include "gbb_access.h" #include "gbb_header.h" #include "host_common.h" -- cgit v1.2.1