From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stephen Warren Date: Mon, 11 Jan 2016 10:00:31 -0700 Subject: [U-Boot] [PATCH V3 1/7] test/py: Implement pytest infrastructure In-Reply-To: <569387D8.1080600@monstr.eu> References: <1452034715-26166-1-git-send-email-swarren@wwwdotorg.org> <568FFC30.5000501@wwwdotorg.org> <569387D8.1080600@monstr.eu> Message-ID: <5693DFAF.9060605@wwwdotorg.org> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de On 01/11/2016 03:45 AM, Michal Simek wrote: > Hi Stephen, > > On 8.1.2016 19:13, Stephen Warren wrote: >> On 01/05/2016 03:58 PM, Stephen Warren wrote: >>> This tool aims to test U-Boot by executing U-Boot shell commands using >>> the >>> console interface. A single top-level script exists to execute or attach >>> to the U-Boot console, run the entire script of tests against it, and >>> summarize the results. Advantages of this approach are: >>> >>> - Testing is performed in the same way a user or script would interact >>> with U-Boot; there can be no disconnect. >>> - There is no need to write or embed test-related code into U-Boot >>> itself. >>> It is asserted that writing test-related code in Python is simpler and >>> more flexible that writing it all in C. >>> - It is reasonably simple to interact with U-Boot in this way. >>> >>> A few simple tests are provided as examples. Soon, we should convert as >>> many as possible of the other tests in test/* and test/cmd_ut.c too. >>> >>> The hook scripts, relay control utilities, and udev rules I use for my >>> own HW setup are published at >>> https://github.com/swarren/uboot-test-hooks. >>> >>> See README.md for more details! >> >> It looks like I need to send a v4 of this, since I renamed a Python >> class but forgot to update all users of it. I didn't notice this, since >> I had the old module lying around as a *.pyc file, so the old name >> worked:-( > > yep. > >> >> I also have a couple of minor fixes to roll in that make the scripts >> work better under a continuous integration environment (which doesn't >> have a controlling TTY set when the scripts run, which need a minor >> tweak to the Spawn code). > > I have cherry picked 3 patches from your repo. > 7813ccad9ed2 test/py: reset SIGHUP handler in child processes > a2ccb34de3f5 test/py: fix ubspawn rename fallout > 6dbcd7408f9e test/py: add a test for the sleep command > > sleep one is missing test for cmd_misc which enables that. > > There is still problem with handling special characters. > For MB I have compilation error and %5e is shown instead of ^ > > For example: > > +make O=/home/monstr/data/disk/u-boot/build-microblaze-generic -s > microblaze-generic_defconfig > +make O=/home/monstr/data/disk/u-boot/build-microblaze-generic -s -j8 > ../drivers/gpio/xilinx_gpio.c: In function 'xilinx_gpio_ofdata_to_platdata': > ../drivers/gpio/xilinx_gpio.c:400:13: warning: assignment makes pointer > from integer without a cast > priv->regs = dev_get_addr(dev); > %5e Ah yes. When I first wrote the code, the log file wasn't HTML format, but used ^ as a delimiter for some markup, so I escaped that character so that log data wouldn't corrupt the file format. When I switched to HTML, I forgot to remove that character from the escape list. I'll fold the fix into v4.