aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2013-01-27Move property-printing into utilSimon Glass3-36/+52
The function that prints a property can be useful to other programs, so move it into util. Signed-off-by: Simon Glass <sjg@chromium.org> Acked-by: David Gibson <david@gibson.dropbear.id.au>
2013-01-27Adjust util_is_printable_string() comment and fix testSimon Glass2-4/+7
This commit which changed the behaviour of this function broke one of the tests. Also the comment should be updated to reflect its new behaviour. Signed-off-by: Simon Glass <sjg@chromium.org> Acked-by: David Gibson <david@gibson.dropbear.id.au>
2013-01-06fdtget-runtest.sh: use printf instead of /bin/echo -eStephen Warren1-1/+1
Not all /bin/echo implementations support the -e option. Instead, use printf, which appears to be more widely available than /bin/echo -e. See commit eaec1db "fdtget-runtest.sh: Fix failures when /bin/sh isn't bash" for history. I have tested this on Ubuntu 10.04 with /bin/sh pointing to both dash and bash. Reported-by: Mike Frysinger <vapier@gentoo.org> # and implemented-by Signed-off-by: Stephen Warren <swarren@nvidia.com> Acked-by: David Gibson <david@gibson.dropbear.id.au>
2013-01-06dtc: Drop the '-S is deprecated' warningKRONSTORFER Horst1-3/+0
The 'deprecated' warning is in there for more than 4 years now and nobody seemed to be confused enough to vote it out. Let's drop the warning then. This reverts commit 315c5d095ebdf29f1912186e76ab9f95e694b18a. Signed-off-by: Horst Kronstorfer <hkronsto@frequentis.com>
2013-01-06dtc/libfdt: sparse fixesKim Phillips6-23/+23
libfdt/fdt.c:104:28: warning: incorrect type in argument 1 (different base types) libfdt/fdt.c:104:28: expected restricted fdt32_t [usertype] x libfdt/fdt.c:104:28: got unsigned int const [unsigned] [usertype] <noident> libfdt/fdt.c:124:40: warning: incorrect type in argument 1 (different base types) libfdt/fdt.c:124:40: expected restricted fdt32_t [usertype] x libfdt/fdt.c:124:40: got unsigned int const [unsigned] [usertype] <noident> libfdt/fdt_ro.c:337:29: warning: incorrect type in argument 1 (different base types) libfdt/fdt_ro.c:337:29: expected restricted fdt32_t [usertype] x libfdt/fdt_ro.c:337:29: got unsigned int const [unsigned] [usertype] <noident> libfdt/fdt_rw.c:370:17: warning: incorrect type in assignment (different base types) libfdt/fdt_rw.c:370:17: expected unsigned int [unsigned] [usertype] <noident> libfdt/fdt_rw.c:370:17: got restricted fdt32_t libfdt/fdt_sw.c:164:13: warning: incorrect type in assignment (different base types) libfdt/fdt_sw.c:164:13: expected unsigned int [unsigned] [usertype] <noident> libfdt/fdt_sw.c:164:13: got restricted fdt32_t libfdt/fdt_sw.c:227:14: warning: incorrect type in assignment (different base types) libfdt/fdt_sw.c:227:14: expected unsigned int [unsigned] [usertype] <noident> libfdt/fdt_sw.c:227:14: got restricted fdt32_t libfdt/fdt_wip.c:80:20: warning: incorrect type in assignment (different base types) libfdt/fdt_wip.c:80:20: expected unsigned int [unsigned] [usertype] <noident> libfdt/fdt_wip.c:80:20: got restricted fdt32_t libfdt/libfdt.h:1001:13: warning: incorrect type in assignment (different base types) libfdt/libfdt.h:1001:13: expected unsigned long [unsigned] [usertype] val libfdt/libfdt.h:1001:13: got restricted fdt64_t libfdt/libfdt.h:1157:13: warning: incorrect type in assignment (different base types) libfdt/libfdt.h:1157:13: expected unsigned int [unsigned] [usertype] val libfdt/libfdt.h:1157:13: got restricted fdt32_t libfdt/libfdt.h:1192:13: warning: incorrect type in assignment (different base types) libfdt/libfdt.h:1192:13: expected unsigned long [unsigned] [usertype] val libfdt/libfdt.h:1192:13: got restricted fdt64_t libfdt/libfdt.h:1299:13: warning: incorrect type in assignment (different base types) libfdt/libfdt.h:1299:13: expected unsigned int [unsigned] [usertype] val libfdt/libfdt.h:1299:13: got restricted fdt32_t libfdt/libfdt.h:1334:13: warning: incorrect type in assignment (different base types) libfdt/libfdt.h:1334:13: expected unsigned long [unsigned] [usertype] val libfdt/libfdt.h:1334:13: got restricted fdt64_t libfdt/libfdt.h:885:13: warning: incorrect type in assignment (different base types) libfdt/libfdt.h:885:13: expected unsigned int [unsigned] [usertype] val libfdt/libfdt.h:885:13: got restricted fdt32_t libfdt/libfdt.h:920:13: warning: incorrect type in assignment (different base types) libfdt/libfdt.h:920:13: expected unsigned long [unsigned] [usertype] val libfdt/libfdt.h:920:13: got restricted fdt64_t libfdt/libfdt.h:996:13: warning: incorrect type in assignment (different base types) libfdt/libfdt.h:996:13: expected unsigned int [unsigned] [usertype] val libfdt/libfdt.h:996:13: got restricted fdt32_t Signed-off-by: Kim Phillips <kim.phillips@freescale.com>
2013-01-06dtc/libfdt: introduce fdt types for annotation by endian checkersKim Phillips2-32/+63
Projects such as linux and u-boot run sparse on libfdt. libfdt contains the notion of endianness via usage of endian conversion functions such as fdt32_to_cpu. As such, in order to pass endian checks, libfdt has to annotate its fdt variables such that sparse can warn when mixing bitwise and regular integers. This patch adds these new fdtXX_t types and, ifdef __CHECKER__ (a symbol sparse defines), includes the bitwise annotation. Signed-off-by: Kim Phillips <kim.phillips@freescale.com> Acked-by: David Gibson <david@gibson.dropbear.id.au>
2013-01-06dtc/fdtdump: include libfdt_env.h prior to fdt.hKim Phillips1-1/+1
in order to get the upcoming fdt type definitions. Signed-off-by: Kim Phillips <kim.phillips@freescale.com> Acked-by: David Gibson <david@gibson.dropbear.id.au>
2013-01-06dtc/tests: don't include fdt.h prior to libfdt.hKim Phillips53-54/+0
tests will need fdt type definitions provided in a subsequent patch to libfdt_env.h. Since libfdt.h includes libfdt_env.h in the right order anyway, just remove the fdt.h include. Signed-off-by: Kim Phillips <kim.phillips@freescale.com> Acked-by: David Gibson <david@gibson.dropbear.id.au>
2013-01-06Fix util_is_printable_stringPantelis Antoniou1-7/+13
The method used did not account for multi-part strings. Signed-off-by: Pantelis Antoniou <panto@antoniou-consulting.com> Acked-by: David Gibson <david@gibson.dropbear.id.au>
2013-01-06fdtdump: properly handle multi-string propertiesPantelis Antoniou1-1/+11
Device tree can store multiple strings in a single property. We didn't handle that case properly. Signed-off-by: Pantelis Antoniou <panto@antoniou-consulting.com> Acked-by: David Gibson <david@gibson.dropbear.id.au>
2012-10-16Add documentation on how to submit patchesMichael Ellerman1-0/+5
Signed-off-by: Michael Ellerman <michael@ellerman.id.au> Acked-by: David Gibson <david@gibson.dropbear.id.au>
2012-10-16dtc: srcpos_verror() should print to stderrMichael Ellerman1-3/+3
Errors should go to stderr. Signed-off-by: Michael Ellerman <michael@ellerman.id.au> Acked-by: David Gibson <david@gibson.dropbear.id.au>
2012-10-08dtc: fix for_each_*() to skip first object if deletedStephen Warren4-34/+59
The previous definition of for_each_*() would always include the very first object within the list, irrespective of whether it was marked deleted, since the deleted flag was not checked on the first object, but only on any "next" object. Fix for_each_*() to check the deleted flag in the loop body every iteration to correct this. Incidentally, this change is why commit 45013d8 dtc: "Add ability to delete nodes and properties" only caused two "make checkm" failures; only two tests actually use multiple labels on the same property or node. With this current change applied, but commit 317a5d9 "dtc: zero out new label objects" reverted, "make checkm" fails 29 times; i.e. for every test that uses any labels at all. Signed-off-by: Stephen Warren <swarren@nvidia.com> Acked-by: David Gibson <david@gibson.dropbear.id.au>
2012-10-03libfdt: Added missing functions to shared libraryAnders Hedlund1-0/+6
Some API function symbols were set as 'local' causing linking errors, now they are set as global (external). Signed-off-by: Anders Hedlund <anders.hedlund@windriver.com> Acked-by: David Gibson <david@gibson.dropbear.id.au>
2012-09-28dtc: zero out new label objectsStephen Warren1-0/+1
Without this, new->deleted may be left set to some random value, which may then cause future label references to fail to locate the label. The code that allocates properties and nodes already contains the equivalent memset(). Signed-off-by: Stephen Warren <swarren@nvidia.com>
2012-09-28dtc: cpp co-existence: add support for #line directivesStephen Warren5-0/+42
Line control directives of the following formats are supported: #line LINE "FILE" # LINE "FILE" [FLAGS] This allows dtc to consume the output of pre-processors, and to provide error messages that refer to the original filename, including taking into account any #include directives that the pre-processor may have performed. Signed-off-by: Stephen Warren <swarren@nvidia.com> Acked-by: David Gibson <david@gibson.dropbear.id.au>
2012-09-28dtc: cpp co-existence: allow names starting with # to be escapedStephen Warren6-3/+57
The device tree language as currently defined conflicts with the C pre- processor in one aspect - when a property or node name begins with a # character, a pre-processor would attempt to interpret it as a directive, fail, and most likely error out. This change allows a property/node name to be prefixed with \. This prevents a pre-processor from seeing # as the first non-whitespace character on the line, and hence prevents the conflict. \ was previously an illegal character in property/node names, so this change is backwards compatible. The \ is stripped from the name during parsing by dtc. Signed-off-by: Stephen Warren <swarren@nvidia.com> Acked-by: David Gibson <david@gibson.dropbear.id.au>
2012-09-06dtc: Add ability to delete nodes and propertiesStephen Warren10-52/+312
dtc currently allows the contents of properties to be changed, and the contents of nodes to be added to. There are situations where removing properties or nodes may be useful. This change implements the following syntax to do that: / { /delete-property/ propname; /delete-node/ nodename; }; or: /delete-node/ &noderef; Signed-off-by: Stephen Warren <swarren@nvidia.com> Acked-by: David Gibson <david@gibson.dropbear.id.au>
2012-08-22dtc/libfdt: install missing headerYann E. MORIN1-1/+1
Previously, only two headers were installed: libfdt.h and fdt.h. But libfdt.h also #includes libfdt_env.h, which was not installed. Install this missing header too. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Acked-by: David Gibson <david@gibson.dropbear.id.au>
2012-07-12fdtput: Add -p option to create subnodes along entire pathSimon Glass2-4/+68
This option mimics mkdir's -p option. It automatically creates nodes as needed along the path provided. If the node already exists, no error is given. Signed-off-by: Simon Glass <sjg@chromium.org>
2012-07-12fdtput: Adjust report_error() to use name, namelen paramsSimon Glass1-7/+18
As with many fdt functions, report_error() should permit a namelen to be specified, thus obviating the need for nul termination in strings passed to it. Signed-off-by: Simon Glass <sjg@chromium.org> Acked-by: David Gibson <david@gibson.dropbear.id.au>
2012-07-12fdtput: Add -c option to create nodesSimon Glass2-1/+64
This option allows the creation of new nodes in a dtb file. The syntax is: fdtput -c <dtb_file> <node_path> The node_path contains the path of the node to be created. All path components up to the final one must exist already. The final one must not exist already. Signed-off-by: Simon Glass <sjg@chromium.org> Acked-by: David Gibson <david@gibson.dropbear.id.au>
2012-07-12fdtput: Prepare to support multiple operationsSimon Glass1-11/+26
We want to add new options to this tool. In preparation for this, add the concept of a current operation. Signed-off-by: Simon Glass <sjg@chromium.org>
2012-07-11fdtput: Fix nit in help messageSimon Glass1-1/+1
There was an extra < in the help message, so fix it. Signed-off-by: Simon Glass <sjg@chromium.org> Acked-by: David Gibson <david@gibson.dropbear.id.au>
2012-07-08Allow toggling of semantic checksDavid Gibson6-6/+154
This patch adds -W and -E options to dtc which allow toggling on and off of the various built in semantic checks on the tree. Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
2012-07-08Re-work level setting on checks codeDavid Gibson2-55/+63
Currently each of the semantic checks in checks.c has a "level" between IGNORE and ERROR. This single level makes it awkward to implement the semantics we want for toggling the checks on the command line. This patch reworks the code to instead have separate boolean flags for warning and error. At present having both flags set will have the same effect as having just the error flag set, but this can change in the future. Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
2012-07-08Add test for re-defining an identical labelStephen Warren2-0/+17
When merging one device tree over the top of a previous tree, it is possible to define a duplicate label that has the same name and points to the same property or node. This is currently allowed by the duplicate label checking code. However, alternative duplicate label checking algorithms might not allow this. Add an explicit test to ensure this capability is maintained. Signed-off-by: Stephen Warren <swarren@nvidia.com> Acked-by: David Gibson <david@gibson.dropbear.id.au>
2012-06-27Fix compilation warning/error in setprop_inplace.cStephen Warren1-4/+5
When compiling the current code-base with gcc 4.6.1, the following warning is raised, which is interpreted as an error: cc1: warnings being treated as errors tests/setprop_inplace.c: In function ‘main’: tests/setprop_inplace.c:62: error: format ‘%016llx’ expects type ‘long long unsigned int’, but argument 2 has type ‘uint64_t’ tests/setprop_inplace.c:68: error: format ‘%016llx’ expects type ‘long long unsigned int’, but argument 2 has type ‘uint64_t’ Use printf format specifiers from <inttypes.h> to solve this. Signed-off-by: Stephen Warren <swarren@nvidia.com> Acked-by: David Gibson <david@gibson.dropbear.id.au>
2012-06-03libfdt: Add helper function to create a trivial, empty treeDavid Gibson4-12/+87
The libfdt read/write functions are now usable enough that it's become a moderately common pattern to use them to build and manipulate a device tree from scratch. For example, we do so ourself in our rw_tree1 testcase, and qemu is starting to use this model when building device trees for some targets such as e500. However, the read/write functions require some sort of valid tree to begin with, so this necessitates either having a trivial canned dtb to begin with or, more commonly, creating an empty tree using the serial-write functions first. This patch adds a helper function which uses the serial-write functions to create a trivial, empty but complete and valid tree in a supplied buffer, ready for manipulation with the read/write functions. Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
2012-06-03libfdt: Add helpers for 64-bit integer propertiesDavid Gibson17-25/+229
In device trees in the world, properties consisting of a single 64-bit integer are not as common as those consisting of a single 32-bit, cell sized integer, but they're common enough that they're worth including convenience functions for. This patch adds helper wrappers of fdt_setprop_inplace(), fdt_setprop() and fdt_appendprop() for handling 64-bit integer quantities in properties. For better consistency with the names of these new *_u64() functions we also add *_u32() functions as alternative names for the existing *_cell() functions handling 32-bit integers. Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
2012-06-03Remove test_tree1_dts0 testcasesDavid Gibson2-41/+0
The testcases based on test_tree1_dts0.dts were added purely to test dtc's backwards compatibility handling of the old dts-v0 format. Since that support has been removed, the dts has been updated to use the current dts-v1 syntax, which makes the testcases pass, but be completely useless. This patch removes the now obsolete testcases. Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
2012-04-19Add integer expressions files to .gitignoreSimon Glass1-1/+2
Several files were added, and should be in .gitignore. The *.test.dts pattern should catch future source files which are generated by tests. It also subsumes the old *.dtb.test.dts pattern. Signed-off-by: Simon Glass <sjg@chromium.org>
2012-04-19dtc: Adjust .gitignore to be in alphabetical orderSimon Glass1-2/+2
This is the intent, so correct it. Signed-off-by: Simon Glass <sjg@chromium.org>
2012-04-14dtc: Remove spurious output on stderrSimon Glass1-3/+0
Outputing to stderr is best avoided unless there is an error or warning to display. At present dtc always displays the name of the file it is compiling and the input/output formats. For example: DTC: dts->dts on file "-" This can cause problems in some build systems. For example, U-Boot shows build errors for any boards which use dtc at present. It is typically the only message output during such a build. The C compiler does not output anything in general. The current dtc behaviour makes it difficult to provide a silent build in the normal case where nothing went wrong. Remove the message entirely. Signed-off-by: Simon Glass <sjg@chromium.org> Acked-by: David Gibson <david@gibson.dropbear.id.au>
2012-04-10Remove invalid macro starting with _ from libfdt_env.hBert Kenward1-6/+6
libfdt_env.h in the device tree compiler currently defines a _B() macro. This is in the namespace reserved for the implementation, and Cygwin's ctype.h actually defines a macro with this name. This renames _B to EXTRACT_BYTE. Signed-off-by: Bert Kenward <bert.kenward@broadcom.com>
2012-04-09dtc: Basic integer expressionsStephen Warren5-26/+266
Written by David Gibson <david@gibson.dropbear.id.au>. Additions by me: * Ported to ToT dtc. * Renamed cell to integer throughout. * Implemented value range checks. * Allow U/L/UL/LL/ULL suffix on literals. * Enabled the commented test. Signed-off-by: Stephen Warren <swarren@wwwdotorg.org>
2012-03-31fdtget-runtest.sh: Fix failures when /bin/sh isn't bashStephen Warren1-1/+1
On Ubuntu, /bin/sh is dash (at least by default), and dash's echo doesn't accept the -e option. This means that fdtget-runtest.sh's EXPECT file will contain "-e foo" rather than just "foo", which causes a test failure. To work around this, run /bin/echo instead of (builtin) echo, which has more chance of supporting the -e option. Another possible fix is to change all the #! lines to /bin/bash rather than /bin/sh, and change run_tests.sh to invoke sub-scripts using $SHELL instead of just "sh". However, that would require bash specifically, which may not be desirable. Signed-off-by: Stephen Warren <swarren@wwwdotorg.org> Acked-by: David Gibson <david@gibson.dropbear.id.au>
2012-03-18dtc: Add -i option to support search pathsSimon Glass12-8/+168
It is often inconvenient to place device tree files in the same directory as their includes, or to specify the full path to include files. An example of this is in U-Boot where we have a .dtsi file for each SOC type, and this is included by the board .dts file. We need to either use a mechanism like: /include/ ARCH_CPU_DTS with sed or cpp to perform the replacement with the correct path, or we must specify the full path in the file: /include/ "../../arch/arm/dts/tegra20.dtsi" The first option is not desirable since it requires anyone compiling the file to first pre-process it. The second is not desirable since it introduces a path which is project-specific into a file which is supposed to be a hardware description. For example Linux and U-Boot are unlikely to put these include files in the same place. It is much more convenient to specify the search patch on the command line as is done with C pre-processors, for example. Introduce a -i option to add to the list of search paths used to find source and include files. We cannot use -I as it is already in use. Other suggestions welcome. Signed-off-by: Simon Glass <sjg@chromium.org>
2012-03-07fdtget: Add -d to provide a default valueSimon Glass2-3/+23
Sometimes the requested node or property is not present in the device tree. This option provides a way of reporting a default value in this case, rather than halting with an error. Signed-off-by: Simon Glass <sjg@chromium.org> Acked-by: David Gibson <david@gibson.dropbear.id.au>
2012-03-07fdtget: Add -l to list the subnodes of a nodeSimon Glass1-12/+84
This option lists the subnodes of each node given as a parameter, one subnode per line. Signed-off-by: Simon Glass <sjg@chromium.org> Acked-by: David Gibson <david@gibson.dropbear.id.au>
2012-03-07fdtget: Add -p to list the properties of a nodeSimon Glass1-6/+60
This option lists the properties of each node given as a parameter, one property per line. Signed-off-by: Simon Glass <sjg@chromium.org> Acked-by: David Gibson <david@gibson.dropbear.id.au>
2012-03-07fdtget: Fix multiple arg bug and add test for itSimon Glass3-4/+7
There is a rather unfortunate bug in fdtget in that if multiple argument sets are provided, it just repeats displaying the first set ones for each set. Fix this bug and add a test for it. Signed-off-by: Simon Glass <sjg@chromium.org> Acked-by: David Gibson <david@gibson.dropbear.id.au>
2012-02-16dtc: Fix zero-length input segfaultHorst Kronstorfer1-0/+2
This patch fixes a segmentation fault caused by dereferencing a NULL pointer (pos->file aka yylloc.file) in srcpos_string when the input length is 0 (fe 'dtc </dev/null'.) Reason: yylloc.file is initialized with 0 and the tokenizer, which updates yylloc.file via srcpos_update doesn't get a chance to run on zero-length input. Signed-off-by: Horst Kronstorfer <hkronsto@frequentis.com>
2012-02-03Fix uninitialized access bug in utilfdt_decode_typeDavid Gibson1-1/+4
I just found this little bug with valgrind. strchr() will return true if the given character is '\0'. This meant that utilfdt_decode_type() could take a path which accesses uninitialized data when given the (invalid) format string "L". Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
2012-02-03Generate test data for fdtput more sensiblyDavid Gibson2-26/+41
Currently run_tests.sh generates several files of text test data. The procedure it uses for this is somewhat torturous and has several problems: * Since the test data is derived from a dts file, a cursory glance at the test output suggests something is wrong with the processing of that dts. This is misleading since in fact it's just being used as an arbirary string. * Since the base input has linefeeds removed, the head and sort commands used later have no effect. * Although an attempt is made to get rid of characters which the shell will mangle, it's not thorough enough. Specifically it leaves in \ which means that some string escapes found in the input data can get expanded somewhere along the line in some shells. This patch, therefore, replaces this generation of test data with a pre-canned "Lorem ipsum" of approximately 2k. On my system, where /bin/sh is dash, this fixes a test failure due to the aforementioned string escapes being evaluated on one but not the other of the two comparison paths (I haven't tracked down exactly where the expansion is happening). Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
2012-02-03Don't use diff to check fdt{get,put} resultsDavid Gibson2-12/+14
Currently the fdt{get,put}-runtest.sh scripts invoke diff to check if fdt{get,put} did the right thing. This isn't great though: it's not obvious from the diff output which is the expected and which is the actual result; diff's line by line behaviour is useless here, since all the results are a single line and finally, when there is a difference it always prints information even when the tests are supposed to be running in quiet mode. This patch uses cmp instead, and explicitly prints the expected results, when running in verbose mode (the invocation of fdtget itself will have already displayed the actual results in this mode. Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
2012-02-03Clean up invocation of fdt{get,put} testsDavid Gibson4-86/+104
This patch cleans up how the fdtget and fdtput tests are invoked. Specifically we no longer hide the full command lines with a wrapper function - this makes it possible to distinguish fdtget from similar fdtput tests and makes it easier to work out how to manually invoke an individual failing test. In addition, we remove the testing for errors from the fdt{get,put}-runtest.sh script, instead using an internal wrapper analagous to run_wrap_test which can test for any program invocation that's expected to return an error. For a couple of the fdtput tests this would result in printing out ludicrously large command lines. Therefore we introduce a new mechanism to cut those down to something reasonable. Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
2012-02-03Factor signal checks out of test scriptsDavid Gibson4-16/+13
Several test scripts now have some code to check for a program returning a signal, and reporting a suitable failure. This patch moves this duplicated code into a helper function in tests.sh. At the same time we remove a bashism found in the current copies (using the non portablr $[ ] construct for arithmetic). Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
2012-02-03Remove bashism from run_tests.shDavid Gibson1-1/+1
The patches introducing fdtget and fdtput inserted a peculiar bashism to run_tests.sh using non-portable assignment within an (( )) expression. This patch fixes it. Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
2012-02-03Use 'trap' builtin to clean up temporaries in test scriptsDavid Gibson3-16/+10
Some of the test scripts create temporary files, which we remove at the end. Except that we usually forgot to remove them on some exit paths. To avoid this problem in future, this modifies the scripts to use the shell's trap 0 functionality to automatically remove the temporaries on any exit. Signed-off-by: David Gibson <david@gibson.dropbear.id.au>