Re: dtc: Add testcases for tree checks

2007-11-20 Thread Scott Wood
David Gibson wrote:
> On Tue, Nov 20, 2007 at 09:09:17AM -0600, Jon Loeliger wrote:
>> Actually, this is the official third time now that it would have
>> been significantly nicer had you been using git for patches as
>> it does correctly handle excute permissions properly in patches.
> 
> Well, yes.  But, IMO, every time anyone other that you or I has
> commented on one of these patches as it goes past counts as an
> occasion when it's better that I've been using patches, rather than
> pushing to you direct with git.

Generating patches with "git-format-patch -M" isn't the same as pushing 
directly...

-Scot
___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev


Re: dtc: Add testcases for tree checks

2007-11-20 Thread Jon Loeliger
On Tue, 2007-11-20 at 16:03, David Gibson wrote:

> Well, yes.  But, IMO, every time anyone other that you or I has
> commented on one of these patches as it goes past counts as an
> occasion when it's better that I've been using patches, rather than
> pushing to you direct with git.

I am not asking you to stop sending patches.
I'm asking you to generate your patches with git.
Git's patch format, send through mail, handles
the execute permissions.


> Actually, that should be possible with mails too, it's just that I
> forgot the --- line.

Right.  I'm just asking for it to be used. :-)

jdl


___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev


Re: dtc: Add testcases for tree checks

2007-11-20 Thread David Gibson
On Tue, Nov 20, 2007 at 09:09:17AM -0600, Jon Loeliger wrote:
> So, like, the other day David Gibson mumbled:
> > This patch adds a group of testcases to check that dtc correctly
> > rejects trees with various structural errors.
> > 
> > To make things easier to test, we change dtc so that failing checks
> > (as opposed to other errors) result in exit code 2.
> > 
> > This patch also fixes an embarrasing bug uncovered by these new tests:
> > check_phandles() worked out if the tree's phandles were valid, then
> > throws that information away and returns success always.
> > 
> > Signed-off-by: David Gibson <[EMAIL PROTECTED]>
> > 
> > NOTE! jdl, you'll need to chmod +x tests/dtc-checkfails.sh before you
> > git commit this - it's a new shell script and patch can't encode the
> > permissions info.
> > 
> > Index: dtc/tests/dup-nodename.dts
> > ===
> > --- /dev/null   1970-01-01 00:00:00.0 +
> > +++ dtc/tests/dup-nodename.dts  2007-11-20 16:02:22.0 +1100
> 
> 
> Actually, this is the official third time now that it would have
> been significantly nicer had you been using git for patches as
> it does correctly handle excute permissions properly in patches.

Well, yes.  But, IMO, every time anyone other that you or I has
commented on one of these patches as it goes past counts as an
occasion when it's better that I've been using patches, rather than
pushing to you direct with git.

> And, it allows for side-band commentary such as your NOTE!, above,
> to be included in the patch mail, but not in the patch log itself
> such that it too doesn't have to be "git commit --amend"'ed out
> as well.

Actually, that should be possible with mails too, it's just that I
forgot the --- line.

> In any event, Applied and Adjusted.

-- 
David Gibson| I'll have my music baroque, and my code
david AT gibson.dropbear.id.au  | minimalist, thank you.  NOT _the_ _other_
| _way_ _around_!
http://www.ozlabs.org/~dgibson
___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev


Re: dtc: Add testcases for tree checks

2007-11-20 Thread Jon Loeliger
So, like, the other day David Gibson mumbled:
> This patch adds a group of testcases to check that dtc correctly
> rejects trees with various structural errors.
> 
> To make things easier to test, we change dtc so that failing checks
> (as opposed to other errors) result in exit code 2.
> 
> This patch also fixes an embarrasing bug uncovered by these new tests:
> check_phandles() worked out if the tree's phandles were valid, then
> throws that information away and returns success always.
> 
> Signed-off-by: David Gibson <[EMAIL PROTECTED]>
> 
> NOTE! jdl, you'll need to chmod +x tests/dtc-checkfails.sh before you
> git commit this - it's a new shell script and patch can't encode the
> permissions info.
> 
> Index: dtc/tests/dup-nodename.dts
> ===
> --- /dev/null 1970-01-01 00:00:00.0 +
> +++ dtc/tests/dup-nodename.dts2007-11-20 16:02:22.0 +1100


Actually, this is the official third time now that it would have
been significantly nicer had you been using git for patches as
it does correctly handle excute permissions properly in patches.

And, it allows for side-band commentary such as your NOTE!, above,
to be included in the patch mail, but not in the patch log itself
such that it too doesn't have to be "git commit --amend"'ed out
as well.

In any event, Applied and Adjusted.

jdl


___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev


dtc: Add testcases for tree checks

2007-11-19 Thread David Gibson
This patch adds a group of testcases to check that dtc correctly
rejects trees with various structural errors.

To make things easier to test, we change dtc so that failing checks
(as opposed to other errors) result in exit code 2.

This patch also fixes an embarrasing bug uncovered by these new tests:
check_phandles() worked out if the tree's phandles were valid, then
throws that information away and returns success always.

Signed-off-by: David Gibson <[EMAIL PROTECTED]>

NOTE! jdl, you'll need to chmod +x tests/dtc-checkfails.sh before you
git commit this - it's a new shell script and patch can't encode the
permissions info.

Index: dtc/tests/dup-nodename.dts
===
--- /dev/null   1970-01-01 00:00:00.0 +
+++ dtc/tests/dup-nodename.dts  2007-11-20 16:02:22.0 +1100
@@ -0,0 +1,8 @@
+/dts-v1/;
+
+/ {
+   node {
+   };
+   node {
+   };
+};
Index: dtc/dtc.c
===
--- dtc.orig/dtc.c  2007-11-20 16:01:54.0 +1100
+++ dtc/dtc.c   2007-11-20 16:02:22.0 +1100
@@ -197,7 +197,7 @@ int main(int argc, char *argv[])
if (!structure_ok) {
if (!force) {
fprintf(stderr, "ERROR: Input tree has structural 
errors, aborting (use -f to force output)\n");
-   exit(1);
+   exit(2);
} else if (quiet < 3) {
fprintf(stderr, "Warning: Input tree has structural 
errors, output forced\n");
}
Index: dtc/tests/dtc.sh
===
--- dtc.orig/tests/dtc.sh   2007-11-20 16:01:54.0 +1100
+++ dtc/tests/dtc.sh2007-11-20 16:02:22.0 +1100
@@ -1,24 +1,6 @@
 #! /bin/sh
 
-PASS () {
-echo "PASS"
-exit 0
-}
-
-FAIL () {
-echo "FAIL" "$@"
-exit 2
-}
-
-DTC=../dtc
-
-verbose_run () {
-if [ -z "$QUIET_TEST" ]; then
-   "$@"
-else
-   "$@" > /dev/null 2> /dev/null
-fi
-}
+. tests.sh
 
 if verbose_run "$DTC" "$@"; then
 PASS
Index: dtc/tests/tests.sh
===
--- /dev/null   1970-01-01 00:00:00.0 +
+++ dtc/tests/tests.sh  2007-11-20 16:02:22.0 +1100
@@ -0,0 +1,21 @@
+# Common functions for shell testcases
+
+PASS () {
+echo "PASS"
+exit 0
+}
+
+FAIL () {
+echo "FAIL" "$@"
+exit 2
+}
+
+DTC=../dtc
+
+verbose_run () {
+if [ -z "$QUIET_TEST" ]; then
+   "$@"
+else
+   "$@" > /dev/null 2> /dev/null
+fi
+}
Index: dtc/tests/dtc-checkfails.sh
===
--- /dev/null   1970-01-01 00:00:00.0 +
+++ dtc/tests/dtc-checkfails.sh 2007-11-20 16:02:50.0 +1100
@@ -0,0 +1,22 @@
+#! /bin/sh
+
+. tests.sh
+
+TMPFILE="tmp.out.$$"
+
+rm -f $TMPFILE
+
+verbose_run "$DTC" -o $TMPFILE "$@"
+ret="$?"
+
+if [ -f $TMPFILE ]; then
+FAIL "output file was created despite bad input"
+fi
+
+if [ "$ret" = "2" ]; then
+PASS
+else
+FAIL "dtc returned error code $ret instead of 2 (check failed)"
+fi
+
+rm -f $TMPFILE
Index: dtc/tests/run_tests.sh
===
--- dtc.orig/tests/run_tests.sh 2007-11-20 16:02:21.0 +1100
+++ dtc/tests/run_tests.sh  2007-11-20 16:02:22.0 +1100
@@ -143,6 +143,12 @@ dtc_tests () {
run_test dtbs_equal_ordered $tree odts_$tree.test.dtb
 done
 
+# Check some checks
+run_test dtc-checkfails.sh -I dts -O dtb dup-nodename.dts
+run_test dtc-checkfails.sh -I dts -O dtb dup-propname.dts
+run_test dtc-checkfails.sh -I dts -O dtb dup-phandle.dts
+run_test dtc-checkfails.sh -I dts -O dtb zero-phandle.dts
+run_test dtc-checkfails.sh -I dts -O dtb minusone-phandle.dts
 }
 
 while getopts "vdt:" ARG ; do
Index: dtc/tests/dup-propname.dts
===
--- /dev/null   1970-01-01 00:00:00.0 +
+++ dtc/tests/dup-propname.dts  2007-11-20 16:02:22.0 +1100
@@ -0,0 +1,6 @@
+/dts-v1/;
+
+/ {
+   prop;
+   prop;
+};
Index: dtc/tests/dup-phandle.dts
===
--- /dev/null   1970-01-01 00:00:00.0 +
+++ dtc/tests/dup-phandle.dts   2007-11-20 16:02:22.0 +1100
@@ -0,0 +1,10 @@
+/dts-v1/;
+
+/ {
+   node1 {
+   linux,phandle = <1>;
+   };
+   node2 {
+   linux,phandle = <1>;
+   };
+};
Index: dtc/tests/minusone-phandle.dts
===
--- /dev/null   1970-01-01 00:00:00.0 +
+++ dtc/tests/minusone-phandle.dts  2007-11-20 16:02:22.0 +1100
@@ -0,0 +1,7 @@
+/dts-v1/;
+
+/ {
+   node {
+   linux,phandle = <0x>;
+   };
+};
Index: dtc/tests/zero-phand