Difference between revisions of "Import sqlite test suite"

From CDOT Wiki
Jump to: navigation, search
(Project News)
(Releases)
 
(15 intermediate revisions by the same user not shown)
Line 24: Line 24:
 
[https://bugzilla.mozilla.org/show_bug.cgi?id=391756 bug 391756] <br />
 
[https://bugzilla.mozilla.org/show_bug.cgi?id=391756 bug 391756] <br />
 
[http://www.0xdeadbeef.com/weblog/?p=368  http://www.0xdeadbeef.com/weblog/?p=368]
 
[http://www.0xdeadbeef.com/weblog/?p=368  http://www.0xdeadbeef.com/weblog/?p=368]
 +
 +
== Releases ==
 +
*<b>Releases 0.1</b>-2008/10/15
 +
**[https://bugzilla.mozilla.org/show_bug.cgi?id=391756 Mocha image]
 +
***Fail the connection test.
 +
***Shawn asks "version control"
 +
*Releases 0.2
 +
**add new code into "Makefile"
 +
***<b>make test_c++:</b> it tests all c++ test code in the test folder
 +
***<b>make test_js:</b> it tests all .js files in the unit folder
 +
***<b>make test_js_file:</b> it tests a specific file in the unit folder
 +
****ex)make test_js_file f=test_like.js
 +
{|
 +
|width="15px"|
 +
|
 +
 +
{|class="collapsible collapsed" style="border-style:solid;border-width:thin;border-color:black"
 +
!align="left" style="background-color:#ffffff; font-weight:bold;border-style:solid;border-width:thin;padding: 2px 2px 2px 2px;"|new codes in Makefile (/src/storage/test/)
 +
|-
 +
|
 +
<pre>
 +
#######################################################################
 +
# SQLite Test Code
 +
# C++ code test param : test_c++ or  test_sqlite or TEST_SQLIITE
 +
# .js code test      :
 +
          test_js : testing all .js file in the unit folder
 +
                    ex) make test_js
 +
 +
          test_js_file: testing specific .js file in the unit folder
 +
                    ex) make test_js_file f=test_like.js
 +
#######################################################################
 +
 +
TEST_C_URL   = $(DEPTH)/../$(OBJ_SUFFIX)-$(target)/dist/bin
 +
TEST_JS_URL    = $(DEPTH)/../$(OBJ_SUFFIX)-$(target)/storage/test
 +
TEST_JS_SINGLE_URL = $(DEPTH)/../src/storage/test/unit
 +
 +
# C++ code test
 +
# label the same names: test_c++ / test_sqlite / TEST_SQLIITE
 +
# it calls a sqlite test file in  the "obj/dist/bin" folder
 +
 +
TEST_SQLIITE:
 +
$(TEST_C_URL)/$(PROGRAM)
 +
 +
test_c++:  TEST_SQLIITE
 +
test_sqlite:TEST_SQLIITE
 +
 +
#
 +
# .js code test
 +
# TEST_JS: test all .js files in the test folder
 +
#
 +
 +
TEST_JS:
 +
make -C $(TEST_JS_URL) check
 +
 +
test_js: TEST_JS
 +
 +
 +
#
 +
# specific .js code test
 +
# TEST_JS_FILE f=js_file_name_dot_js
 +
# ex) make test_js_file f=js_file_name_dot_js
 +
#
 +
 +
TEST_JS_FILE:
 +
make SOLO_FILE="$(f)" -C $(TEST_JS_URL) check-interactive
 +
 +
test_js_file:TEST_JS_FILE
 +
</pre>
 +
|}
 +
 +
 +
|}
 +
 +
*Releases 0.3
  
 
== Related Bug List ==
 
== Related Bug List ==
Line 35: Line 109:
  
 
== To Do ==
 
== To Do ==
 
+
*Makefile
 +
**<strike>c++ code auto testing</strike>
 +
**<strike>.js files auto testing</strike>
 +
**<strike>sepcific .js file auto testing</strike>
 
*Research  
 
*Research  
 +
** <strike>Make file</strike>
 
** SQLite itself
 
** SQLite itself
 
***<strike>Install SQLite</strike>
 
***<strike>Install SQLite</strike>
Line 44: Line 122:
 
***<strike>Find the default setting of SQLite files, tables, and values on Firefox 3</strike>
 
***<strike>Find the default setting of SQLite files, tables, and values on Firefox 3</strike>
 
***<strike>Find a relationship tree that which classes or functions talk with SQLite</strike>
 
***<strike>Find a relationship tree that which classes or functions talk with SQLite</strike>
***Run & <strike>understand the test program already built in the tests folder</strike>
+
***<strike>Run & understand the test program already built in the tests folder</strike>
 
***<strike>[http://developer.mozilla.org/En/Storage Storage]</strike>
 
***<strike>[http://developer.mozilla.org/En/Storage Storage]</strike>
 
** ETC
 
** ETC
Line 52: Line 130:
  
 
*Testing
 
*Testing
**Function Test
+
**<strike>Function Test</strike>
**working and performance tests
+
**<strike>working and performance tests</strike>
 
**data testing
 
**data testing
 
**<strike>TCL testing</strike>
 
**<strike>TCL testing</strike>
Line 61: Line 139:
 
<b>Right Now,I am working on </b>
 
<b>Right Now,I am working on </b>
  
SQLite test suite running test, but Now it has some problems.
+
the 0.2 make file makes working on .mozconf options, it should be 0.3
it says "permission error". now i'm googling.....
 
 
 
  
 
<b>Working History</b>
 
<b>Working History</b>
Line 114: Line 190:
 
*<b>2008/10/5</b>
 
*<b>2008/10/5</b>
 
**SQLite test suite running test
 
**SQLite test suite running test
 +
 +
*<b>2008/10/15</b>
 +
**Update Mocha image into Bugzilla and waiting Shawn Wilsher's review
 +
**Test SQLite connection on Firefox(Fail)
 +
***it needs a permission
 +
****Fix by "netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect');"
 +
***File access error
 +
****Find that "It is available to trusted callers, meaning extensions and Firefox components only"
 +
****I'm thinking that the test suite as a extension, thus, looking "XPCOM"
 +
 +
*<b>2008/10/16</b>
 +
**Shawn asks "Update & version control"
 +
***i am thinking the "configure menu"
 +
 +
*<b>2008/10/17</b>
 +
**Peter Weilbacher says "Why we need the test suite, it already there, so, we just use SQLite's"
 +
 +
*<b>2008/10/27</b>
 +
**Shawn says version control, but i don't get the idea
 +
 +
*<b>2008/11/06</b>
 +
**Ted and Dave give a new idea that "https://bugzilla.mozilla.org/show_bug.cgi?id=391756"
 +
** changing make file
 +
 +
*<b>2008/11/08</b>
 +
**find new command that
 +
***perl obj/_test_testing/mochitest/runtests.py
 +
****it opens an new window and starts tests
 +
***the folder "_test" has our testing files
 +
 +
*<b>2008/11/09</b>
 +
** make -C test_folder check
 +
*** it checks all .js files in the test/unit folder
 +
** make SOLO_FILE="test_like.js" -C JS_FILE_URL check-interactive
 +
*** it checks a specific .js file
 +
 +
*<b>2008/11/11</b>
 +
** i hope to get a file name(.js) which wants to testing from console,
 +
** but it can not.. try to using Perl
 +
** ex) run_single_js.pl
 +
 +
*<b>2008/11/13</b>
 +
** perl can get the file list, and get values from console
 +
** but, it can not run "make" command
 +
** it can use the shell command such as cp, echo, mv
 +
** but, i can not find that how to use "make" in perl
 +
 +
*<b>2008/11/15</b>
 +
** go to easy way,
 +
** make file can get a value from console
 +
** ex) make file_name = test.js
 +
**    echo $(file_name) : will print "test.js"

Latest revision as of 09:27, 13 November 2008

Project: Import sqlite test suite

Import sqlite test suite

Project Description

Mozilla uses an embedded version of SQLite extensively to store data such as bookmarks, history, etc. To insure that it runs properly within Mozilla, it would be good to add the entire sqlite test suite to Mozilla's tests, so that testing the browser also means testing sqlite. The sqlite test suite is written in TCL and needs to be ported to JavaScript. Some work has already been done, but more is required to get full test coverage.

Project Leader(s)

Park, KiWon

Project Contributor(s)

Project Details

bug 391756
http://www.0xdeadbeef.com/weblog/?p=368

Releases

  • Releases 0.1-2008/10/15
    • Mocha image
      • Fail the connection test.
      • Shawn asks "version control"
  • Releases 0.2
    • add new code into "Makefile"
      • make test_c++: it tests all c++ test code in the test folder
      • make test_js: it tests all .js files in the unit folder
      • make test_js_file: it tests a specific file in the unit folder
        • ex)make test_js_file f=test_like.js


  • Releases 0.3

Related Bug List

Bug 417037 - mozStorage chokes on databases over AFP

Bug 313553 - Move Session Storage to Database

Bug 403377 - add method for creating indices to mozIStorageConnection

Bug 385093 - --enable-storage comments in configure.in are misleading

To Do

  • Makefile
    • c++ code auto testing
    • .js files auto testing
    • sepcific .js file auto testing
  • Research
    • Make file
    • SQLite itself
      • Install SQLite
      • How to use SQLite
      • SQLite test suite here
    • SQLite inside Firefox3
      • Find the default setting of SQLite files, tables, and values on Firefox 3
      • Find a relationship tree that which classes or functions talk with SQLite
      • Run & understand the test program already built in the tests folder
      • Storage
    • ETC
  • Testing
    • Function Test
    • working and performance tests
    • data testing
    • TCL testing

Project News

Right Now,I am working on

the 0.2 make file makes working on .mozconf options, it should be 0.3

Working History

C:\Documents and Settings\user account name\Application Data\Mozilla\Firefox\Profiles\bulid name.default\
 Files: signons.sqlite / search.sqlite / places.sqlite / permissions.sqlite / formhistory.sqlite / downloads.sqlite
        / cookies.sqlite / content-prefs.sqlite
  • 2008/9/23
    • Find a bug that Sequence number’s jumping
      • I am searching that this is a reported bug or not, and when the numbers are jumping and why
        • File Name: places.sqlite
        • Summary: Sequence number is jumping
        • OS: Win XP SP2 image
  • 2008/9/24
    • Research SQLite bugs & features here
  • 2008/9/25
    • My first testing : showing the test messages when SQLite is connected.
    • it is called over 20 times , when Firefox is just opened. image
  • 2008/9/27
    • SQLite Test Suite testing and searching
  • 2008/9/29
    • TCL install and testing
    • SQLite test source ( suite ) code reading on SQLite site
      • only inside "sqlite-3.6.3.tar.gz"(2.2M)
    • Reading ".test" files
  • 2008/10/1
    • SQLite test sample source ( suite ) code reading on Firefox site
      • mozilla/source/storage/test/unit
  • 2008/10/5
    • SQLite test suite running test
  • 2008/10/15
    • Update Mocha image into Bugzilla and waiting Shawn Wilsher's review
    • Test SQLite connection on Firefox(Fail)
      • it needs a permission
        • Fix by "netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect');"
      • File access error
        • Find that "It is available to trusted callers, meaning extensions and Firefox components only"
        • I'm thinking that the test suite as a extension, thus, looking "XPCOM"
  • 2008/10/16
    • Shawn asks "Update & version control"
      • i am thinking the "configure menu"
  • 2008/10/17
    • Peter Weilbacher says "Why we need the test suite, it already there, so, we just use SQLite's"
  • 2008/10/27
    • Shawn says version control, but i don't get the idea
  • 2008/11/08
    • find new command that
      • perl obj/_test_testing/mochitest/runtests.py
        • it opens an new window and starts tests
      • the folder "_test" has our testing files
  • 2008/11/09
    • make -C test_folder check
      • it checks all .js files in the test/unit folder
    • make SOLO_FILE="test_like.js" -C JS_FILE_URL check-interactive
      • it checks a specific .js file
  • 2008/11/11
    • i hope to get a file name(.js) which wants to testing from console,
    • but it can not.. try to using Perl
    • ex) run_single_js.pl
  • 2008/11/13
    • perl can get the file list, and get values from console
    • but, it can not run "make" command
    • it can use the shell command such as cp, echo, mv
    • but, i can not find that how to use "make" in perl
  • 2008/11/15
    • go to easy way,
    • make file can get a value from console
    • ex) make file_name = test.js
    • echo $(file_name) : will print "test.js"