Difference between revisions of "Import sqlite test suite"

From CDOT Wiki
Jump to: navigation, search
(Releases)
 
(26 intermediate revisions by the same user not shown)
Line 16: Line 16:
 
* IRC & Class
 
* IRC & Class
 
**[http://zenit.senecac.on.ca/wiki/index.php/User:David.humphrey David Humphrey]
 
**[http://zenit.senecac.on.ca/wiki/index.php/User:David.humphrey David Humphrey]
*[https://bugzilla.mozilla.org/show_bug.cgi?id=391756 Bugzilla]
+
*[https://bugzilla.mozilla.org/show_bug.cgi?id=391756 Bugzilla( Bug 391756 -  import the sqlite test suite into our test suite.  )]
 
** Shawn Wilsher
 
** Shawn Wilsher
 
** Peter Weilbacher
 
** Peter Weilbacher
 
  
 
== Project Details ==
 
== Project Details ==
Line 25: 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 ==
 
[https://bugzilla.mozilla.org/show_bug.cgi?id=417037 Bug 417037] -  mozStorage chokes on databases over AFP
 
[https://bugzilla.mozilla.org/show_bug.cgi?id=417037 Bug 417037] -  mozStorage chokes on databases over AFP
 
[https://bugzilla.mozilla.org/show_bug.cgi?id=446118 Bug 446118] -  Sqlite query "SELECT DISTINCT X FROM Y WHERE X IS NOT NULL" returns invalid result set if X is indexed
 
  
 
[https://bugzilla.mozilla.org/show_bug.cgi?id=313553 Bug 313553] -  Move Session Storage to Database   
 
[https://bugzilla.mozilla.org/show_bug.cgi?id=313553 Bug 313553] -  Move Session Storage to Database   
Line 38: 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>Find the default setting of SQLite files, tables, and values on Firefox 3</strike>
+
** <strike>Make file</strike>
**Make a relationship tree that which classes or functions talk with SQLite
+
** SQLite itself
**Run & <strike>understand the test program already built in the tests folder</strike>
+
***<strike>Install SQLite</strike>
**<strike>SQLite test suite [http://www.sqlite.org/faq.html here]</strike>
+
***<strike>How to use SQLite</strike>
**<strike>TCL research [http://www.tcl.tk/ here]</strike>
+
***<strike>SQLite test suite [http://www.sqlite.org/faq.html here]</strike>
 
+
** SQLite inside Firefox3
*Programming
+
***<strike>Find the default setting of SQLite files, tables, and values on Firefox 3</strike>
**Add new functions that when the firefox runs on test mode, it pops up a new window, and then shows only SQLite's communication parts and result.
+
***<strike>Find a relationship tree that which classes or functions talk with SQLite</strike>
***process
+
***<strike>Run & understand the test program already built in the tests folder</strike>
****Add a new option into .mozconfig<pre>ac_add_options -enable-SQLitePopUp</pre>
+
***<strike>[http://developer.mozilla.org/En/Storage Storage]</strike>
****Bulid
+
** ETC
****Run firefox
+
***<strike>TCL research [http://www.tcl.tk/ here]</strike>
*****Open a new window when SQLite is called
+
***[http://developer.mozilla.org/En/XPCOM XPCOM]
*****Display communication between functions and SQLite
+
***mozstorage
  
 
*Testing
 
*Testing
**working and performance tests
+
**<strike>Function Test</strike>
 +
**<strike>working and performance tests</strike>
 
**data testing
 
**data testing
 
**<strike>TCL testing</strike>
 
**<strike>TCL testing</strike>
Line 64: 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 93: Line 166:
 
**** File Name: places.sqlite
 
**** File Name: places.sqlite
 
**** Summary: Sequence number is jumping
 
**** Summary: Sequence number is jumping
**** OS: Win XP SP2
+
**** OS: Win XP SP2 [http://zenit.senecac.on.ca/wiki/index.php/Image:Jump_SEQ_Num_20080823.gif image]
[[Image:Jump_SEQ_Num_20080823.gif]]
 
  
 
*<b>2008/9/24</b>
 
*<b>2008/9/24</b>
Line 101: Line 173:
 
*<b>2008/9/25</b>
 
*<b>2008/9/25</b>
 
**<b><i>My first testing</i></b> : showing the test messages when SQLite is connected.
 
**<b><i>My first testing</i></b> : showing the test messages when SQLite is connected.
**it is called <b>over 20 times </b>, when Firefox is just opened.
+
**it is called <b>over 20 times </b>, when Firefox is just opened. [http://zenit.senecac.on.ca/wiki/index.php/Image:firstCompile.gif image]
[[Image:firstCompile.gif]]
 
  
 
*<b>2008/9/27</b>
 
*<b>2008/9/27</b>
Line 119: 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 10: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"