Difference between revisions of "Import sqlite test suite"

From CDOT Wiki
Jump to: navigation, search
(Project News)
(Releases)
 
(46 intermediate revisions by the same user not shown)
Line 12: Line 12:
  
 
== Project Contributor(s) ==
 
== Project Contributor(s) ==
[http://zenit.senecac.on.ca/wiki/index.php/User:AaronMT Aaron Train]
+
 
 +
*[http://zenit.senecac.on.ca/wiki/index.php/User:AaronMT Aaron Train]
 +
* IRC & Class
 +
**[http://zenit.senecac.on.ca/wiki/index.php/User:David.humphrey David Humphrey]
 +
*[https://bugzilla.mozilla.org/show_bug.cgi?id=391756 Bugzilla( Bug 391756 -  import the sqlite test suite into our test suite.  )]
 +
** Shawn Wilsher
 +
** Peter Weilbacher
  
 
== Project Details ==
 
== Project Details ==
Line 18: 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 ==
 +
[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=313553 Bug 313553] -  Move Session Storage to Database 
 +
 +
[https://bugzilla.mozilla.org/show_bug.cgi?id=403377 Bug 403377] -  add method for creating indices to mozIStorageConnection 
 +
 +
[https://bugzilla.mozilla.org/show_bug.cgi?id=385093 Bug 385093] -  --enable-storage comments in configure.in are misleading
  
 
== 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  
**Find the default setting of SQLite files, tables, and values on Firefox 3
+
** <strike>Make file</strike>
**Make a relationship tree that which classes or functions talk with SQLite
+
** SQLite itself
**Run & understand the test program already built in the tests folder
+
***<strike>Install SQLite</strike>
 
+
***<strike>How to use SQLite</strike>
*Programming
+
***<strike>SQLite test suite [http://www.sqlite.org/faq.html here]</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.
+
** SQLite inside Firefox3
***process
+
***<strike>Find the default setting of SQLite files, tables, and values on Firefox 3</strike>
****Add a new option into .mozconfig<pre>ac_add_options -enable-SQLitePopUp</pre>
+
***<strike>Find a relationship tree that which classes or functions talk with SQLite</strike>
****Bulid
+
***<strike>Run & understand the test program already built in the tests folder</strike>
****Run firefox
+
***<strike>[http://developer.mozilla.org/En/Storage Storage]</strike>
*****Open a new window when SQLite is called
+
** ETC
*****Display communication between functions and SQLite
+
***<strike>TCL research [http://www.tcl.tk/ here]</strike>
 +
***[http://developer.mozilla.org/En/XPCOM XPCOM]
 +
***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>
  
 
== Project News ==
 
== Project News ==
 +
 
<b>Right Now,I am working on </b>
 
<b>Right Now,I am working on </b>
* make a file list that call / connect SQLite files
 
  
 +
the 0.2 make file makes working on .mozconf options, it should be 0.3
  
 
<b>Working History</b>
 
<b>Working History</b>
Line 68: 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>
 
**Research SQLite bugs & features [http://www.sqlite.org/cvstrac/timeline here]
 
**Research SQLite bugs & features [http://www.sqlite.org/cvstrac/timeline here]
*** <b>look at the update list, the website is alive</a>
 
  
 
*<b>2008/9/25</b>
 
*<b>2008/9/25</b>
**<b><i>the first testing</i></b> shows 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:Example.jpg]]
+
 
 +
*<b>2008/9/27</b>
 +
**<b>SQLite Test Suite</b> testing and searching
 +
 
 +
*<b>2008/9/29</b>
 +
**<b>[http://www.tcl.tk/man/tcl8.5/tutorial/tcltutorial.html TCL]</b> 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
 +
 
 +
*<b>2008/10/1</b>
 +
**SQLite test sample source ( suite ) code reading on Firefox site
 +
***mozilla/source/storage/test/unit
 +
 
 +
*<b>2008/10/5</b>
 +
**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"