Commit Graph
100 Commits
Author SHA1 Message Date
BVK Chaitanya 45ab4f486f pull-in func-params branch 2010-05-12 17:35:07 +05:30
BVK Chaitanya 04888e8787 few more testcases added 2010-05-12 13:53:50 +05:30
BVK Chaitanya 53018ca6c3 minor fix 2010-05-12 13:12:49 +05:30
BVK Chaitanya d13f69de73 handle failure case 2010-05-12 10:45:22 +05:30
BVK Chaitanya 263b0fa757 merge with mainline 2010-05-12 10:41:24 +05:30
BVK Chaitanya a0167e8bdf rewrote arglist to argv conversion and added $@, $* support 2010-05-12 10:19:12 +05:30
BVK Chaitanya 01b0317f7b simplified nesting dynamic scopes 2010-05-11 10:52:10 +05:30
BVK Chaitanya 4a2ec49233 merge with mainline 2010-05-07 11:24:17 +05:30
BVK Chaitanya e9efa0fe36 shift command support 2010-05-07 10:08:09 +05:30
BVK Chaitanya 7897070571 pulled-in func-params branch 2010-05-07 08:38:08 +05:30
BVK Chaitanya 342bf06e58 function parameters support 2010-05-05 14:47:50 +05:30
BVK Chaitanya 020cf9607c simplify cmdblock with cmdlist 2010-05-05 14:06:19 +05:30
BVK Chaitanya a8a145eb2f simplify cmdblock with cmdlist 2010-05-05 14:05:06 +05:30
BVK Chaitanya a8ebb84111 Fix comment handling.
* tests/grub_script_comments.in: New testcase.
	* conf/tests.rmk: Rules for new testcase.
	* script/yylex.l: Updated flex rules.
2010-05-01 15:49:43 +05:30
BVK Chaitanya c548018b7c added few more test cases 2010-05-01 15:39:59 +05:30
BVK Chaitanya 6fdda85ae6 fix comment and brace handling 2010-04-30 13:50:41 +05:30
BVK Chaitanya bc4a2d832b Fix emu build with grub-emu-pci and grub-emu-modules.
* include/grub/util/misc.h: Export grub_util_{info,error,warn}
	functions.
	* include/grub/libpciaccess.h: New file.
	* conf/any-emu.rmk: Update kernel headers for emu build.
2010-04-19 16:04:56 +05:30
BVK Chaitanya 454c3001f2 fix emu build with grub-emu-pci and grub-emu-modules 2010-04-19 15:15:59 +05:30
BVK Chaitanya 08f46d6221 Fix a spurious, uninitialized variable warning.
* loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
	Initialize variable, shdr.
	(grub_freebsd_load_elfmodule): Likewise.
	(grub_freebsd_load_elf_meta): Likewise.
2010-04-14 13:48:49 +05:30
BVK Chaitanya 851395d865 fix uninitialized warning 2010-04-14 13:38:05 +05:30
BVK Chaitanya 8c4a72d4b5 Fix for escaped dollar in double quoted strings.
* script/yylex.l: Updated flex rules.
	* conf/tests.rmk: Rule for new testcase.
	* tests/grub_script_dollar.in: New testcase.
2010-04-13 21:25:27 +05:30
BVK Chaitanya ae45b7bad4 add missing testcase 2010-04-13 21:01:56 +05:30
BVK Chaitanya 4e6da157dd fix and testcase for \$ in grub script dquote strings 2010-04-13 20:58:12 +05:30
BVK Chaitanya f516290c5a Documentation fix.
* util/grub-script-check.c: Better help message.
2010-04-10 19:28:59 +05:30
BVK Chaitanya 84a09b2134 merged with mainline 2010-04-10 19:18:24 +05:30
BVK Chaitanya d8dcc0dff8 Fix FreeBSD build.
* configure.ac: Flex version check.
	* conf/common.rmk: Add -Wno-error to sh.mod.
	* script/yylex.l: Remove all #pragma.
2010-04-10 19:11:32 +05:30
BVK Chaitanya 505a257475 merged with mainline 2010-04-10 18:38:09 +05:30
BVK Chaitanya 20072d3ad5 merged with mainline 2010-04-10 18:09:56 +05:30
BVK Chaitanya 2663fb5f04 flex version check is now done by awk alone 2010-04-10 18:06:45 +05:30
BVK Chaitanya 7d65244782 Elif support to GRUB script (by Deepak Vankadaru).
* tests/grub_script_if.in: New testcase.
	* conf/tests.rmk: Rule for new testcase.
	* script/parser.y: Grammar rules for elif.
2010-04-09 22:38:27 +05:30
BVK Chaitanya 68b31b54f5 merged with mainline 2010-04-09 22:32:58 +05:30
BVK Chaitanya 34bb22dfa5 While and until loops support to GRUB script.
* include/grub/script_sh.h (grub_script_cmdwhile): New struct.
	(grub_script_create_cmdwhile): New function prototype.
	(grub_script_execute_cmdwhile): New function prototype.
	* script/execute.c (grub_script_execute_cmdwhile): New function.
	* script/parser.y (command): New commands.
	(whilecmd): New grammar rule.
	(untilcmd): New grammar rule.
	* script/script.c (grub_script_create_cmdwhile): New function.
	* util/grub-script-check.c (grub_script_execute_cmdwhile): New
	function.

	* tests/grub_script_while1.in: New testcase.
	* conf/tests.rmk: Rule for new testcase.
2010-04-09 22:04:21 +05:30
BVK Chaitanya c41c00eab6 merged with mainline 2010-04-09 21:44:59 +05:30
BVK Chaitanya 9705115b22 merged with mainline 2010-04-09 20:53:57 +05:30
BVK Chaitanya 14e18ae351 Fix unit testing framework for Qemu 0.12.
* tests/util/grub-shell.in: Remove -serial stdio option.
2010-04-06 19:13:55 +05:30
BVK Chaitanya 4ee717e12b fix freebsd build 2010-04-06 14:39:11 +05:30
BVK Chaitanya fa09c82e6e updated changelog 2010-04-06 12:31:44 +05:30
BVK Chaitanya f9d9068aa7 removed -serial stdio option from qemu cmdline 2010-04-06 12:21:11 +05:30
BVK Chaitanya 6ee26b7469 merged with mainline 2010-04-06 10:07:55 +05:30
BVK Chaitanya daf892b3d4 POSIX header file wrappers.
* lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
	equivalents.
	* lib/posix_wrap/ctype.h: Likewise.
	* lib/posix_wrap/errno.h: Likewise.
	* lib/posix_wrap/langinfo.h: Likewise.
	* lib/posix_wrap/limits.h: Likewise.
	* lib/posix_wrap/localcharset.h: Likewise.
	* lib/posix_wrap/stdint.h: Likewise.
	* lib/posix_wrap/stdio.h: Likewise.
	* lib/posix_wrap/stdlib.h: Likewise.
	* lib/posix_wrap/string.h: Likewise.
	* lib/posix_wrap/sys/types.h: Likewise.
	* lib/posix_wrap/unistd.h: Likewise.
	* lib/posix_wrap/wchar.h: Likewise.
	* lib/posix_wrap/wctype.h: Likewise.
	* conf/common.rmk (grub_script.yy.c): Remove #include elimination.
	(grub_script.yy.h): Likewise.
	* script/yylex.l: Remove POSIX emulation #defines.
	* Makefile.in (POSIX_CFLAGS): New variable.
	(GNULIB_UTIL_CFLAGS): Likewise.

	Regexp support.

	* conf/common.rmk (pkglib_MODULES): Add regexp.mod.
	(regexp_mod_SOURCES): New variable.
	(regexp_mod_CFLAGS): Likewise.
	(regexp_mod_LDFLAGS): Likewise.
	* commands/regexp.c: New file.
	* gnulib/regcomp.c: New file. Imported from gnulib.
	* gnulib/regex.c: Likewise.
	* gnulib/regex_internal.c: Likewise.
	* gnulib/regex_internal.h: Likewise.
	* gnulib/regexec.c: Likewise.
	* gnulib/regex.h: Likewise.
2010-04-06 01:17:32 +05:30
BVK Chaitanya b777c18e38 fixed version canonicalization 2010-04-05 21:47:19 +05:30
BVK Chaitanya 0922019068 added flex version check in configure.ac 2010-04-05 21:08:30 +05:30
BVK Chaitanya 8d2977bb7a fix for final semicolon bug 2010-03-26 23:57:06 +05:30
BVK Chaitanya dae0d05f2d merged with mainline 2010-03-26 23:49:49 +05:30
BVK Chaitanya a7bd6915e1 testcase for blank lines in grub script 2010-03-26 23:41:46 +05:30
BVK Chaitanya 03efaf45b2 merged with mainline 2010-03-26 23:36:14 +05:30
BVK Chaitanya baae00df35 merged with mainline 2010-03-26 21:13:06 +05:30
BVK Chaitanya 746d90457a 2010-01-12 BVK Chaitanya <bvk.groups@gmail.com>
For loop support to GRUB script.

	* include/grub/script_sh.h (grub_script_cmdfor): New struct.
	(grub_script_create_cmdfor): New function prototype.
	(grub_script_execute_cmdfor): New function prototype.
	* script/execute.c (grub_script_execute_cmdfor): New function.
	* script/parser.y (command): New for command.
	(forcmd): New grammar rule.
	* script/script.c (grub_script_create_cmdfor): New function.
	* util/grub-script-check.c (grub_script_execute_cmdfor): New
	function.
2010-03-26 21:00:15 +05:30
BVK Chaitanya c299f3d6fb merged with mainline 2010-03-26 20:55:07 +05:30
BVK Chaitanya a7447ca6e1 fix for grub_script_final_semicolon test 2010-03-22 14:03:20 +05:30
BVK Chaitanya 3e6b777ba7 testcase for the last semicolon behavior 2010-03-22 14:02:48 +05:30
BVK Chaitanya 8507a6ccdf testcase for blanklines in grub script 2010-03-22 13:54:45 +05:30
BVK Chaitanya ba4be5af25 fixed help message for grub-script-check 2010-03-22 13:25:09 +05:30
BVK Chaitanya dd6fee39fa merged mainline 2010-03-21 11:03:41 +05:30
BVK Chaitanya 0f3a3e3ece added elif patch from Deepak Vankadaru 2010-03-21 10:27:21 +05:30
BVK Chaitanya 8c85123cd5 merged for-loop branch 2010-03-21 09:59:43 +05:30
BVK Chaitanya 8a99e92a69 merge in mainline 2010-03-16 17:42:27 +05:30
BVK Chaitanya 0cdc2a095b 2010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
GRUB shell lexer and parser improvements.

	* conf/any-emu.rmk: Build rule updates.
	* conf/common.rmk: Likewise.
	* conf/i386-coreboot.rmk: Likewise.
	* conf/i386-efi.rmk: Likewise.
	* conf/i386-ieee1275.rmk: Likewise.
	* conf/i386-pc.rmk: Likewise.
	* conf/powerpc-ieee1275.rmk: Likewise.
	* conf/x86_64-efi.rmk: Likewise.

	* configure.ac: Configure check for flex.

	* include/grub/script_sh.h (grub_script_arg_type_t): More argument
	types.
	(grub_lexer_param): Struct member updates.
	(grub_parser_param): Likewise.
	(GRUB_LEXER_TOKEN_MAX): Maximum token size.
	(GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
	(grub_script_lexer_init): Prototype update.
	(grub_script_lexer_record_start): Likewise.
	(grub_script_lexer_record_stop): Likewise.
	(grub_script_lexer_yywrap): New function prototype.
	(grub_script_lexer_fini): Likewise.
	(grub_script_execute_argument_to_string): Removed by...
	(grub_script_execute_argument_to_argv): ...better version.

	* script/execute.c (ROUND_UPTO): New macro.
	(grub_script_execute_cmdline): Out of memory fixes.
	(grub_script_execute_menuentry): Likewise.
	(grub_script_execute_argument_to_string): Removed. Update all
	users by...
	(grub_script_execute_argument_to_argv): ...better version.
	* script/function.c (grub_script_function_create): Use
	grub_script_execute_argument_to_argv instead of
	grub_script_execute_argument_to_string.

	* script/lexer.c (check_varstate): Removed.
	(check_textstate): Removed.
	(grub_script_lexer_record_start): Likewise.
	(grub_script_lexer_record_stop): Likewise.
	(recordchar): Replaced with...
	(grub_script_lexer_record): ...new function.
	(nextchar): Removed.
	(grub_script_lexer_init): Rewritten.
	(grub_script_yylex): Rewritten.
	(append_newline): New function.
	(grub_script_lexer_yywrap): New function.
	(grub_script_lexer_fini): New function.
	(grub_script_yyerror): Sets error flag.

	* script/yylex.l: New file.
	(grub_lexer_yyfree): Wrapper for flex yyffre.
	(grub_lexer_yyalloc): Likewise.
	(grub_lexer_yyrealloc): Likewise.
	* script/parser.y: Refactored.

	* script/script.c (grub_script_arg_add): Out of memory fixes.
	(grub_script_add_arglist): Likewise.
	(grub_script_create_cmdline): Likewise.
	(grub_script_create_cmdmenu): Likewise.
	(grub_script_add_cmd): Likewise.
	(grub_script_parse): Use grub_script_lexer_fini to deallocated.
	* util/grub-script-check.c (grub_script_execute_menuentry): Remove
	unnecessary code.

	* tests/grub_script_echo1.in: New testcase.
	* tests/grub_script_vars1.in: New testcase.
	* tests/grub_script_echo_keywords.in: New testcase.
2010-03-14 22:37:17 +05:30
BVK Chaitanya 8622549153 merged in mainline 2010-03-14 22:20:55 +05:30
BVK Chaitanya a929c8cd1e fix off-by-one error in menuentry cmd 2010-02-11 18:49:57 +05:30
BVK Chaitanya 1136ac2632 fix for grub-script-check to handle empty lines 2010-01-28 22:31:06 +05:30
BVK Chaitanya 366e15ba86 sync with trunk 2010-01-28 21:48:15 +05:30
BVK Chaitanya f45d2663b0 add changelog 2010-01-28 21:46:59 +05:30
BVK Chaitanya 275d6f6bd4 fix grub-script-check 2010-01-28 21:43:28 +05:30
BVK Chaitanya b5c5144ab1 made while/until loop condition check more readable 2010-01-26 14:33:23 +05:30
BVK Chaitanya 2aa1646307 new testcase for while and until loops 2010-01-26 12:32:47 +05:30
BVK Chaitanya 3342306cec several fixes in return value handling 2010-01-26 12:32:24 +05:30
BVK Chaitanya c1273662b9 added change log file 2010-01-26 09:39:51 +05:30
BVK Chaitanya 37effddaf3 make parenthesis as valid word characters 2010-01-25 22:01:14 +05:30
BVK Chaitanya fc9e58104a fix underquoted AC_DEFUN parameters 2010-01-23 22:38:10 +05:30
BVK Chaitanya f4c499f86f replaced magic numbers with macros 2010-01-23 19:46:28 +05:30
BVK Chaitanya 10523df478 while and until loops support 2010-01-23 11:19:26 +05:30
BVK Chaitanya 3babea95bb pulled in for-loop branch 2010-01-23 11:08:25 +05:30
BVK Chaitanya 4e6a305be4 for loop support to grub script 2010-01-23 11:03:41 +05:30
BVK Chaitanya f7867a01d3 pulled in lexer-rewrite branch 2010-01-23 10:45:38 +05:30
BVK Chaitanya 1368740e69 one more bug fix in grub_script_execute_arglist_to_argv 2010-01-23 10:28:52 +05:30
BVK Chaitanya d63cdb6e70 removed error-verbose to reduce resulting sh.mod size 2010-01-23 10:16:05 +05:30
BVK Chaitanya 1a0c3b4809 some bug fixes 2010-01-23 10:14:32 +05:30
BVK Chaitanya 836727564e replace grub_printf with grub_dprintf 2010-01-23 09:18:13 +05:30
BVK Chaitanya 1fb08ed515 return arg count from grub_script_execute_arglist_to_argv 2010-01-23 09:12:46 +05:30
BVK Chaitanya 345dd552ad replace ROUND_UPTO with ALIGN_UP 2010-01-23 08:57:26 +05:30
BVK Chaitanya bae09d0d47 remove arbitrary limit on menuentry recording 2010-01-23 00:42:55 +05:30
BVK Chaitanya df6dc2113a removed arbitrary limit on token size 2010-01-23 00:14:00 +05:30
BVK Chaitanya 547e494f1b lexer-rewrite rebase commit 2010-01-22 19:07:27 +05:30
BVK Chaitanya 242f3b11c9 2010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
* include/grub/script_sh.h (sourcecode): Remove const qualifier to
	fix grub-script-check warning.
2010-01-20 12:52:29 +05:30
BVK Chaitanya aca655fd20 fix grub-script-check warnings 2010-01-20 12:48:35 +05:30
BVK Chaitanya a2eaee157c Add missing ChangeLog entry for -r2078 2010-01-18 19:49:19 +05:30
BVK Chaitanya 9ccd8cde97 2010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
Added new tool, grub-scrit-check to verify grub.cfg syntax.

	* util/grub-script-check.c: grub-script-check tool.
	* conf/common.rmk: Make rules for grub-script-check.
2010-01-18 17:59:18 +05:30
BVK Chaitanya 2997c41ffd update copyright year 2010-01-18 16:58:31 +05:30
BVK Chaitanya d8d4217e3c merge trunk 2010-01-18 16:58:03 +05:30
BVK Chaitanya 0934d18466 2010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
Unit testing framework for GRUB.

	* Makefile.in: Test framework build rules for 'make check'.
	* conf/tests.rmk: Build rules for individual tests and framework.

	* include/grub/test.h: Header file for whitebox tests.
	* tests/lib/functional_test.c: Framework support for whitebox
	functional tests.
	* tests/lib/test.c: Common whitebox testing code for unit and
	functional tests.
	* tests/lib/unit_test.c: Framework support for whitebox unit
	tests.

	* tests/util/grub-shell-tester.in: Support utility for grub-script
	tests.
	* tests/util/grub-shell.in: Utility to execute grub-script
	commands in a Qemu instance.

	* tests/example_functional_test.c: Example whitebox functional
	test.
	* tests/example_grub_script_test.in: Example grub-script test.
	* tests/example_scripted_test.in: Example scripted test.
	* tests/example_unit_test.c: Example whitebox unit test.
2010-01-14 19:15:21 +05:30
BVK Chaitanya 96f60752d1 merge trunk 2010-01-14 18:45:19 +05:30
BVK Chaitanya 2285d4642a use qemu-system-i386 instead of qemu 2010-01-14 18:39:12 +05:30
BVK Chaitanya 0b8891c276 removed unnecessary grub_test_* wrappers 2010-01-14 17:17:51 +05:30
BVK Chaitanya 4d362fde58 build only functional tests on make 2010-01-12 15:49:40 +05:30
BVK Chaitanya 528aeaeabb merge trunk 2010-01-12 11:02:49 +05:30
BVK Chaitanya afafb37e9b added boot device selection to grub-shell 2010-01-12 10:54:37 +05:30
BVK Chaitanya c5431d4029 build tests on make, but run on make check 2010-01-12 10:16:17 +05:30
BVK Chaitanya 350285caae removed unnecessary EXPORT_* macro usage 2010-01-12 09:23:24 +05:30
BVK Chaitanya afdc9ad006 fixed an error message 2010-01-12 09:00:55 +05:30