GREAT, i think i got it! Thank you very much. 2010/10/25 Dino Viehland <di...@microsoft.com>
> 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> > > 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> 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 > 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 > > > > _______________________________________________ > Users mailing list > 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