Re: [U-Boot] [PATCH] fat: scripts for prepare and test read fat files

2014-12-17 Thread Przemyslaw Marczak

Hello Simon,

On 12/16/2014 09:41 PM, Simon Glass wrote:

Hi Przemyslaw,

On 12 December 2014 at 08:54, Przemyslaw Marczak p.marc...@samsung.com wrote:


Hello,


On 12/12/2014 04:52 PM, Przemyslaw Marczak wrote:


-
mktest_files: script for generating random size long name files
-
Usage:
./1_mktest_files.sh count

count - number of files to be generated

The output directory is: ./test_files

-
copy_files: copy the test_files/* into test partition mount point
-
Usage:
./2_copy_files.sh mount_point

---
fat_test.sh: test fat read by write commands to the device console
--
This script send commands to U-Boot console.
First specify few script variables, e.g:
- TTY=/dev/ttyS0
- MMCDEV=0
- PARTITION=2
- LOAD_ADDR=0x4000

usage:
1. Target:
 run: ums 0 mmc 0
2. Run script 1 and 2 to make and copy the test files
 onto the test partition by UMS
3. This script:
 - set test device $PARTITION and other variables in the script,
   which is required for sending proper commands
 - set $TTY in the script
 run: ./3_fat_test.sh
4. Compare the crc results on the target and device consoles
 (sorry for the mess on the console)

Signed-off-by: Przemyslaw Marczak p.marc...@samsung.com
---
   1_mktest_files.sh | 82 
+++
   2_copy_files.sh   | 20 ++
   3_fat_test.sh | 38 ++
   3 files changed, 140 insertions(+)
   create mode 100755 1_mktest_files.sh
   create mode 100755 2_copy_files.sh
   create mode 100755 3_fat_test.sh



This is just for some quick test.
I will add something more pretty to the sandbox.


Perhaps this should be written in Python? We now have quite a few
tests and it's getting to the point where we might want to have a way
to run them all, check results, etc. That would be easier if we could
import them through some standard interface. For now, perhaps we
should avoid shell scripts except for really trivial things.

You can bring in the patman libraries (we could break these out into
another dir but it doesn't seem important):

import os
import sys

# Bring in the patman libraries
our_path = os.path.dirname(os.path.realpath(__file__))
sys.path.append(os.path.join(our_path, 'tools/patman'))

import command

The, for example:
print command.Output('ls', '-l')

Regards,
Simon



The patch fixes the issue with the hidden files, so for looking the 
issue on some other cases I made some simple script. I understand that 
this is not good for a U-Boot tests, and I agree that better is to write 
something automated in the Python for the sandbox.

I think that the fix should be merged.
I can write the test for the sandbox in a free time, but it will take a 
moment, because now I would like to focus on the pmic framework.

The pmic was on hold for too long.

Best regards,
--
Przemyslaw Marczak
Samsung RD Institute Poland
Samsung Electronics
p.marc...@samsung.com
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH] fat: scripts for prepare and test read fat files

2014-12-16 Thread Simon Glass
Hi Przemyslaw,

On 12 December 2014 at 08:54, Przemyslaw Marczak p.marc...@samsung.com wrote:

 Hello,


 On 12/12/2014 04:52 PM, Przemyslaw Marczak wrote:

 -
 mktest_files: script for generating random size long name files
 -
 Usage:
 ./1_mktest_files.sh count

 count - number of files to be generated

 The output directory is: ./test_files

 -
 copy_files: copy the test_files/* into test partition mount point
 -
 Usage:
 ./2_copy_files.sh mount_point

 ---
 fat_test.sh: test fat read by write commands to the device console
 --
 This script send commands to U-Boot console.
 First specify few script variables, e.g:
 - TTY=/dev/ttyS0
 - MMCDEV=0
 - PARTITION=2
 - LOAD_ADDR=0x4000

 usage:
 1. Target:
 run: ums 0 mmc 0
 2. Run script 1 and 2 to make and copy the test files
 onto the test partition by UMS
 3. This script:
 - set test device $PARTITION and other variables in the script,
   which is required for sending proper commands
 - set $TTY in the script
 run: ./3_fat_test.sh
 4. Compare the crc results on the target and device consoles
 (sorry for the mess on the console)

 Signed-off-by: Przemyslaw Marczak p.marc...@samsung.com
 ---
   1_mktest_files.sh | 82 
 +++
   2_copy_files.sh   | 20 ++
   3_fat_test.sh | 38 ++
   3 files changed, 140 insertions(+)
   create mode 100755 1_mktest_files.sh
   create mode 100755 2_copy_files.sh
   create mode 100755 3_fat_test.sh


 This is just for some quick test.
 I will add something more pretty to the sandbox.

Perhaps this should be written in Python? We now have quite a few
tests and it's getting to the point where we might want to have a way
to run them all, check results, etc. That would be easier if we could
import them through some standard interface. For now, perhaps we
should avoid shell scripts except for really trivial things.

You can bring in the patman libraries (we could break these out into
another dir but it doesn't seem important):

import os
import sys

# Bring in the patman libraries
our_path = os.path.dirname(os.path.realpath(__file__))
sys.path.append(os.path.join(our_path, 'tools/patman'))

import command

The, for example:
print command.Output('ls', '-l')

Regards,
Simon
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [PATCH] fat: scripts for prepare and test read fat files

2014-12-12 Thread Przemyslaw Marczak
-
mktest_files: script for generating random size long name files
-
Usage:
./1_mktest_files.sh count

count - number of files to be generated

The output directory is: ./test_files

-
copy_files: copy the test_files/* into test partition mount point
-
Usage:
./2_copy_files.sh mount_point

---
fat_test.sh: test fat read by write commands to the device console
--
This script send commands to U-Boot console.
First specify few script variables, e.g:
- TTY=/dev/ttyS0
- MMCDEV=0
- PARTITION=2
- LOAD_ADDR=0x4000

usage:
1. Target:
   run: ums 0 mmc 0
2. Run script 1 and 2 to make and copy the test files
   onto the test partition by UMS
3. This script:
   - set test device $PARTITION and other variables in the script,
 which is required for sending proper commands
   - set $TTY in the script
   run: ./3_fat_test.sh
4. Compare the crc results on the target and device consoles
   (sorry for the mess on the console)

Signed-off-by: Przemyslaw Marczak p.marc...@samsung.com
---
 1_mktest_files.sh | 82 +++
 2_copy_files.sh   | 20 ++
 3_fat_test.sh | 38 ++
 3 files changed, 140 insertions(+)
 create mode 100755 1_mktest_files.sh
 create mode 100755 2_copy_files.sh
 create mode 100755 3_fat_test.sh

diff --git a/1_mktest_files.sh b/1_mktest_files.sh
new file mode 100755
index 000..e9f4e26
--- /dev/null
+++ b/1_mktest_files.sh
@@ -0,0 +1,82 @@
+#!/bin/bash
+#
+# Copyright (C) 2014 Samsung Electronics
+# Przemyslaw Marczak p.marc...@samsung.com
+#
+# SPDX-License-Identifier: GPL-2.0+
+#
+
+F_CNT=${1}
+OUT_DIR=./test_files
+# File max: 100k
+f_max_size=255
+
+# Minimal len of long name - len+xxxk.bin
+LONG_NAME_LEN=20
+
+if [ ${#1} -eq 0 ]
+   then
+   echo Bad arg!
+   echo usage:
+   echo ./mktest_files.sh count
+   exit
+else
+   if [ -d $OUT_DIR ]
+   then
+   echo Directory: \$OUT_DIR\ exists - cleanup
+   rm $OUT_DIR/*
+   else
+   echo Test files directory: \$OUT_DIR\
+   mkdir $OUT_DIR
+   fi
+   echo Generating $1 files:
+fi
+
+##
+# 1. # Generate random size for the files
+##
+
+i=0
+for val in `rand -M $f_max_size -N $F_CNT -u`
+   do
+   f_size_list[$i]=$val
+#  echo Size[$i]: ${f_size_list[$i]}
+   i=$(($i+1))
+done
+
+##
+# 2. #  Prepare the long name
+##
+CHAR=_
+
+for I in `seq 1 1 $LONG_NAME_LEN`; do
+   LONG_NAME=$LONG_NAME$CHAR
+done
+
+##
+# 3. # Generate files with random data
+##
+i=0
+# Set fat16 file extension (dot + 3 characters)
+EXT=.bin
+for len_k in ${f_size_list[@]}
+   do
+
+   prefix=$len_kk
+
+   prefix_len=${#prefix}
+   long_name_len=${#LONG_NAME}
+   ext_len=${#EXT}
+   name=`echo $prefix$LONG_NAME | head -c $long_name_len`
+   name=$name$EXT
+#  echo Name: $name len: ${#name}
+
+   echo $i Prefix: $prefix name len: ${#name} chars:
+   full_name=$OUT_DIR/$name
+
+   echo $full_name
+
+   dd if=/dev/urandom of=${full_name} bs=1k count=$len_k 2/dev/null
+
+   i=$(($i+1))
+done
diff --git a/2_copy_files.sh b/2_copy_files.sh
new file mode 100755
index 000..6bfefc6
--- /dev/null
+++ b/2_copy_files.sh
@@ -0,0 +1,20 @@
+#!/bin/bash
+#
+# Copyright (C) 2014 Samsung Electronics
+# Przemyslaw Marczak p.marc...@samsung.com
+#
+# SPDX-License-Identifier: GPL-2.0+
+#
+
+#MOUNT_POINT - for the fat16 partition,
+#  e.g. target partition using ums command
+
+MOUNT_POINT=$1
+DIR=test_files
+
+for I in `ls -1 -S $DIR/`; do
+   echo Copying $DIR/$I to $DEV
+   cp $DIR/$I $MOUNT_POINT
+done
+
+sync
\ No newline at end of file
diff --git a/3_fat_test.sh b/3_fat_test.sh
new file mode 100755
index 000..07222a0
--- /dev/null
+++ b/3_fat_test.sh
@@ -0,0 +1,38 @@
+#!/bin/sh
+#
+# Copyright (C) 2014 Samsung Electronics
+# Przemyslaw Marczak p.marc...@samsung.com
+#
+# SPDX-License-Identifier: GPL-2.0+
+#
+
+TTY=/dev/ttyS0
+MMCDEV=0
+PARTITION=2
+LOAD_ADDR=0x4000
+
+DIR=test_files
+
+SPACE=_ 
+CMD_1_2=setenv t \fatload mmc $MMCDEV:$PARTITION $LOAD_ADDR '\$F';
+CMD_2_2=echo $SPACE File: '\$F'; crc $LOAD_ADDR '\$S'\
+CMD=$CMD_1_2$CMD_2_2
+
+# Set command for loading DIR
+echo $CMD  $TTY
+
+for I in `ls -1 -S $DIR`;
+   do
+   FILE=$DIR/$I
+   # Hex size:
+   SIZE=`ls -l $FILE | awk '{printf(%#x\n, $5)}'`
+   CRC=`crc32 $FILE`
+
+   echo
+   echo File: $I
+   echo   == $CRC
+
+   CMD=setenv F \'$I\'; setenv S $SIZE; run t;
+   echo echo  $TTY
+   echo $CMD  $TTY
+done
-- 
1.9.1


Re: [U-Boot] [PATCH] fat: scripts for prepare and test read fat files

2014-12-12 Thread Przemyslaw Marczak

Hello,

On 12/12/2014 04:52 PM, Przemyslaw Marczak wrote:

-
mktest_files: script for generating random size long name files
-
Usage:
./1_mktest_files.sh count

count - number of files to be generated

The output directory is: ./test_files

-
copy_files: copy the test_files/* into test partition mount point
-
Usage:
./2_copy_files.sh mount_point

---
fat_test.sh: test fat read by write commands to the device console
--
This script send commands to U-Boot console.
First specify few script variables, e.g:
- TTY=/dev/ttyS0
- MMCDEV=0
- PARTITION=2
- LOAD_ADDR=0x4000

usage:
1. Target:
run: ums 0 mmc 0
2. Run script 1 and 2 to make and copy the test files
onto the test partition by UMS
3. This script:
- set test device $PARTITION and other variables in the script,
  which is required for sending proper commands
- set $TTY in the script
run: ./3_fat_test.sh
4. Compare the crc results on the target and device consoles
(sorry for the mess on the console)

Signed-off-by: Przemyslaw Marczak p.marc...@samsung.com
---
  1_mktest_files.sh | 82 +++
  2_copy_files.sh   | 20 ++
  3_fat_test.sh | 38 ++
  3 files changed, 140 insertions(+)
  create mode 100755 1_mktest_files.sh
  create mode 100755 2_copy_files.sh
  create mode 100755 3_fat_test.sh



This is just for some quick test.
I will add something more pretty to the sandbox.

Best regards,
--
Przemyslaw Marczak
Samsung RD Institute Poland
Samsung Electronics
p.marc...@samsung.com
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot