Comment #6 on issue 1506 by user.stefanz: Python 3 support
http://code.google.com/p/robotframework/issues/detail?id=1506

yes. i am still working on it :) and doing regular merges.
currently 59/3146 atests fail.
but they only need further workarounds in the atests themselves.
i did not care about the utests so far.
i also have to add the 2to3 stuff to run_utests.py.
but the code is working fine with the atests... so that should be no problem.

i only made manual changes in the original code.
2to3 is used on demand in setup.py and run_atests.py.
the changes to the atests are also partly manual and partly automated.
i created Run on python 2.x and Run on python 3.x switches
i made the Evaluate code compatible
(mostly adding ()s to print statements).
i wrote automated on-demand-conversions for log/output checking
like removing the u prefixes from unicode literals,
removing the L suffixes from long literals,
and substituting \\x.. and \\u.... with the actual unicode chars
(python 3 always prints them auto-encoded).

i think of 2to3 as an intermediate solution.
my goal is also common code which doesn't need 2to3 anymore.
i just want to get the tests completely working first.
then i want to add further manual compatibility changes
by going through the complete 2to3 diff step by step...

limiting support to 2.7+ and 3.3+ is also useful in my opinion.
and using six for the cases where really no common syntax exists.
like metaclasses...

most of the current manual changes are of course related to bytes/str/unicode/encode/decode issues. i also added some new features to the standard test libraries to deal with that:

BuiltIn.Create Bytes    \\xabyte\\x57ring

to explicity create python 3 bytes objects.
is it a good keyword name for that?

OperatingSystem.Start Process    textio=True

to open the process io streams in text mode with Popen(unverasal_newlines=True)
to make them accept str instead of bytes in python 3.
or better make this default and add a bytesio= switch?

i would really like to get in some further discussion about the whole approach
if you see it as a suitable base for further official development...

you can view the current complete fork diff at:

https://bitbucket.org/userzimmermann/robotframework-python3/compare/default..523e395#diff

--
You received this message because this project is configured to send all issue notifications to this address.
You may adjust your notification preferences at:
https://code.google.com/hosting/settings

--

--- You received this message because you are subscribed to the Google Groups "robotframework-commit" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to robotframework-commit+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to