~ubuntu-branches/debian/experimental/nuitka/experimental

« back to all changes in this revision

Viewing changes to tests/basics/OverflowFunctions.py

  • Committer: Package Import Robot
  • Author(s): Kay Hayen
  • Date: 2012-01-10 22:21:56 UTC
  • Revision ID: package-import@ubuntu.com-20120110222156-fuyjhnhomqm6609e
Tags: upstream-0.3.18~pre2+ds
ImportĀ upstreamĀ versionĀ 0.3.18~pre2+ds

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#     Copyright 2012, Kay Hayen, mailto:kayhayen@gmx.de
 
2
#
 
3
#     Python tests originally created or extracted from other peoples work. The
 
4
#     parts were too small to be protected.
 
5
#
 
6
#     Licensed under the Apache License, Version 2.0 (the "License");
 
7
#     you may not use this file except in compliance with the License.
 
8
#     You may obtain a copy of the License at
 
9
#
 
10
#        http://www.apache.org/licenses/LICENSE-2.0
 
11
#
 
12
#     Unless required by applicable law or agreed to in writing, software
 
13
#     distributed under the License is distributed on an "AS IS" BASIS,
 
14
#     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 
15
#     See the License for the specific language governing permissions and
 
16
#     limitations under the License.
 
17
#
 
18
 
 
19
def starImporterFunction():
 
20
    from sys import *
 
21
 
 
22
    print "Version", version.split()[0]
 
23
 
 
24
starImporterFunction()
 
25
 
 
26
def deepExec():
 
27
    for_closure = 3
 
28
 
 
29
    def deeper():
 
30
        for_closure_as_well = 4
 
31
 
 
32
        def execFunction():
 
33
            code = "f=2"
 
34
 
 
35
            # Can fool it to nest
 
36
            exec code in None, None
 
37
 
 
38
            print "Locals now", locals()
 
39
 
 
40
            # print "Closure one level up was taken", for_closure_as_well
 
41
            # print "Closure two levels up was taken", for_closure
 
42
            print "Globals still work", starImporterFunction
 
43
            print "Added local from code", f
 
44
 
 
45
        execFunction()
 
46
 
 
47
    deeper()
 
48
 
 
49
deepExec()