Oh, I should add both of those projects are both standalone EXEs which can be run to run all of the tests and they're also VS unit tests. So if you have some fancy version of VS w/ unit testing then you can just run all the tests from within VS using Test->Run->All Tests in Solution. If you don't have the fancy version you can just them from the command line.
From: users-boun...@lists.ironpython.com [mailto:users-boun...@lists.ironpython.com] On Behalf Of Dino Viehland Sent: Monday, October 25, 2010 10:32 AM To: Discussion of IronPython Subject: Re: [IronPython] trying to build IronPythonTools locally The tests are rather lacking but some do exist. There's 2 test projects: AnalysisTest and UnitTests. AnalysisTest contains tests which are directly targeting the analysis engine. UnitTests includes some mocks for various VS interfaces and handles things like code completion. I also have a set of tests that I would run through by hand. I've pasted those below in case anyone wants to automate them. REPL Window: View->IronPython Command Line "def f(): pass" + 2 ENTERS f( should bring signature help up "x = 42" "x." should bring up intellisense completion "x " should not being up any completions. Up-up should scroll back to def f(): pass Enter in a middle of a line should insert new line Escape should clear both lines "x=42" left left ctrl-enter should commit assignment while True: pass / Right Click -> Break Execution (or Ctrl-Break) should break execution Closing window + re-opening should still have contents Ctrl-Enter on previous input should paste input to end of buffer (doing it again should paste again - appending onto previous input) Type some text, hit Ctrl-Enter, should execute current line Type a function definition, go to next line, type pass, navigate left, hit ctrl-enter, should immediately execute func def. Context Menu Cut/Copy/Paste works Context Menu Reset repl works x = 42; x.car[enter] - should type "car" not complete to "conjugate" x = 42; x.conjugate[enter] - should respect enter completes option, and should respect enter at end of word completes option. When it does execute the text the output should be on the next line. Define function "def f():\r\n print 'hi'", scroll back up to history, add print "hello" to 2nd line, enter, scroll back through both function definitions Enter "while True: pass", then hit up/down arrow, should move the caret in the edit buffer Type "raise Exception()", hit enter, raise Exception() should have appropriate syntax color highlighting. Type: "def f():[ENTER]print 'hi'[ENTER][ENTER]", hit up arrow, function should be brought back, cursor should be right after 'hi'. Press ENTER again, type "print 'hello'"[ENTER][ENTER] and function should be committed. Type "import sys", commit, then type "sys", and hit backspace a couple of times. No exceptions should occur Tools->Options->Text Editor->IronPython->Advanced->Options. Add "Frames=True", go to repl, restart repl, import sys, make sure sys._getframe is present Go back to options, add ";RecursionLimit=50", restart repl, import sys, sys.getrecursionlimit() should return 50, "def f(): f()", call f(), should get a max recursion overflowed exception stack trace Debug->Execute * in REPL In Python file should execute text in REPL window Variables assigned in file should be in scope Send to Python Repl from edit buffer should send text to REPL window Should open REPL if not already open Should not send enter unless selected in text + View->IronPython Command Line tests import System / System.Environment.Exit(0); Kill remote process Start project, make sure CWD (System.Environment.CurrentDirectory) is project CWD Close project, open .py file, start .py file, make sure CWD is .py files directory Navigation Bar: Verify displays and greys out 1st item when at top of file not in class/def Verify lhs properly transitions into class and func and back out (going back to dimmed & 1st item selected) Verify function in class properly transitions when moving in and out (going back to dimmed & 1st item selected) "class " and "def " - functions and classes w null names shouldn't break the navigation bar (shouldn't display in navigation bar at all?) Completion: Verify various left hand sides which need to be successfully parsed: X[0]. X(0). X(0, 0). X(0, *args). X(0, **args). x.foo. x.foo[0]. x.foo(0). x.foo(y()). Verify from import completions Verify import completions Verify Ctrl-J/Ctrl-Space reflects all imported members "2." Shouldn't bring up completions (typing a float) Comma shouldn't bring up signature help in tuples, lists, and dictionaries from modulethatdoesnot exist import import modulethatdoesnotexist Signature Help: ( brings up signature help Comma navigiates to next parameter Comma when overloads present and exceeds # of args navigates to next overload Too many args properly goes to params array (both when params array has more and less arguments vs another overload) Type: def(f, x): pass, then do f(, backspace over (, signature help should be dismissed. Type (f( backspace over (, help should be dismissed, new help should be created for previous call. Object Browser: Object browser properly reports class and function members Signature help is properly displayed Double clicking goes to definition Outlining: Classes and functions are properly outlined Collapsing functions/classes works Collapsing functions/classes with weird ending white space collapses in a sane manner Templates: Run through each template, create a new project, run it, run it in debug mode. Create each file template in applicable project Brace matching: Test at beginning and end, should high light both braces: (), [], {} ( ), [ ], { } ([), [(], {(} ( () ), [ [] ], { {} } Test ( and ) at beginning and end of file, beginning and end of line Find All References: Ctrl-K-Ctrl-R at start of editor buffer Ctrl-K-Ctrl-R at end of editor buffer Ctrl-K Ctrl-R at start of identifier Ctrl-K Ctrl-R at end of identifier Editor: Select a region and press enter should clear the region Select a region and press backspace - should clear the region Enter some text on a line, hit enter, enter 12 characters of white space on the line, move left 8 characters, hit backspace, should delete 4 spaces to the left. Enter "abcd" on a line followed by a bunch of spaces. Then move back to the "d", press backspace, should delete the d. WPF Designer: Drag all controls onto the designer surface successfully (note Image fails if the project is on a network share due to a WPF bug - it fails in C# as well) Open .xaml file, close .py file, double click object to add event handler, should open .py file and add event handler Add ? control, click on Name over in properties, change name. Go to code and dot through name on Window object. Name should be available in intellisense. From: users-boun...@lists.ironpython.com [mailto:users-boun...@lists.ironpython.com] On Behalf Of José F. Romaniello Sent: Monday, October 25, 2010 9:02 AM To: Discussion of IronPython Subject: Re: [IronPython] trying to build IronPythonTools locally Oh thanks, you are right! I can build now. Another question, is there any unit tests for IronPythonTools? I am using the IronPythonTools.sln in the trunk. I just want to dig in to the code and see if i can contribute with few bugs I found in the highlighting and code completion. I've some experience doing this same thing for other extension (http://hqladdin.codeplex.com) thank you 2010/10/25 Curt Hagenlocher <c...@hagenlocher.org<mailto:c...@hagenlocher.org>> This is the "uninstall previous version" task. Is it possible that you've previously installed the extension when running as Administrator and that your current user id doesn't have the rights to delete the files? This might be true if, for instance, you previously installed from the MSI. On Mon, Oct 25, 2010 at 7:38 AM, José F. Romaniello <jfromanie...@gmail.com<mailto:jfromanie...@gmail.com>> wrote: Hi all, I am trying to build IronPython Tools on my machine, but i get this exception: ------ Build started: Project: IronPythonTools, Configuration: Debug Any CPU ------ IronPythonTools -> IronPythonTools -> IronPythonTools -> D:\pos\IronPython\bin\Debug\IronPythonTools.dll Creating intermediate PkgDef file. Creating VSIX Container... IronPythonTools -> D:\pos\IronPython\bin\Debug\IronPythonTools.vsix C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v10.0\VSSDK\Microsoft.VsSDK.targets(420,5): error : Exception has been thrown by the target of an invocation. ========== Build: 11 succeeded or up-to-date, 1 failed, 0 skipped ========== I tried with a reset of the Experimental Hive but I have still the same problem. Thank you in advance! _______________________________________________ Users mailing list Users@lists.ironpython.com<mailto:Users@lists.ironpython.com> http://lists.ironpython.com/listinfo.cgi/users-ironpython.com _______________________________________________ Users mailing list Users@lists.ironpython.com<mailto:Users@lists.ironpython.com> http://lists.ironpython.com/listinfo.cgi/users-ironpython.com
_______________________________________________ Users mailing list Users@lists.ironpython.com http://lists.ironpython.com/listinfo.cgi/users-ironpython.com