Module ImportFrom alias Import alias Import alias Import alias Import alias ImportFrom alias Import alias ImportFrom alias alias alias ImportFrom alias identifier Assign NameStore AttributeLoad NameLoad attr ImportFrom alias ImportFrom alias alias ImportFrom alias ImportFrom alias ImportFrom alias ImportFrom alias ImportFrom alias ImportFrom alias ClassDef bases AttributeLoad NameLoad attr body FunctionDef arguments args NameParam defaults body Assign NameStore Str Assign TupleStore NameStore NameStore Call AttributeLoad NameLoad attr NameLoad Str Assign NameStore Call AttributeLoad NameLoad attr For TupleStore NameStore NameStore NameStore NameLoad body For TupleStore NameStore NameStore NameStore NameStore NameStore Call AttributeLoad NameLoad attr NameLoad Call AttributeLoad NameLoad attr NameLoad NameLoad keyword NameLoad body If BoolOpOr CompareIn Str NameLoad CompareIn Str NameLoad body Assert CompareEq NameLoad Str orelse If CompareIn Str NameLoad body Assert CompareEq NameLoad Str decorator_list FunctionDef arguments args NameParam defaults body Assign NameStore Str Assign NameStore Call AttributeLoad NameLoad attr NameLoad Str Assign NameStore Call AttributeLoad NameLoad attr Assign NameStore ListLoad For TupleStore NameStore NameStore NameStore NameStore NameStore Call AttributeLoad NameLoad attr Call AttributeLoad NameLoad attr Call AttributeLoad NameLoad attr Call AttributeLoad NameLoad attr keyword NameLoad body Expr Call AttributeLoad NameLoad attr NameLoad Assert CompareEq Call NameLoad NameLoad ListLoad Str Str Str Str decorator_list FunctionDef arguments args NameParam defaults body Assign NameStore Str Assign NameStore Call AttributeLoad NameLoad attr NameLoad Str Assign NameStore Call AttributeLoad NameLoad attr Assign NameStore ListLoad For TupleStore NameStore NameStore NameStore NameStore NameStore Call AttributeLoad NameLoad attr Call AttributeLoad NameLoad attr Call AttributeLoad NameLoad attr Call AttributeLoad NameLoad attr keyword NameLoad body Expr Call AttributeLoad NameLoad attr NameLoad Assert CompareEq Call NameLoad NameLoad ListLoad Str Str Str Str decorator_list FunctionDef arguments args NameParam defaults body Expr Str Assign NameStore Str Expr Call AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr Assign AttributeStore NameLoad attr Call AttributeLoad NameLoad attr Assign NameStore Call AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr Str Expr Call AttributeLoad NameLoad attr Str Expr Call AttributeLoad Call NameLoad Str Str attr Expr Call AttributeLoad Call NameLoad Str Str attr Expr Call AttributeLoad NameLoad attr Str NameLoad Expr Call AttributeLoad NameLoad attr Str Expr Call AttributeLoad NameLoad attr Str keyword NameLoad Expr Call AttributeLoad NameLoad attr Str keyword NameLoad Expr Call AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr Str Expr Call AttributeLoad NameLoad attr Str Expr Call AttributeLoad NameLoad attr NameLoad Expr Call AttributeLoad NameLoad attr Assign NameStore AttributeLoad AttributeLoad NameLoad attr attr FunctionDef arguments args defaults vararg body If Call AttributeLoad SubscriptLoad NameLoad Index Num attr Str body Return NameLoad Return Call NameLoad NameLoad decorator_list Expr Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr Str NameLoad Expr Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr Str keyword NameLoad decorator_list Call AttributeLoad NameLoad attr Str FunctionDef arguments args NameParam defaults body Expr Str Assign NameStore Str Assign NameStore AttributeLoad AttributeLoad NameLoad attr attr FunctionDef arguments args defaults vararg body If Call AttributeLoad SubscriptLoad NameLoad Index Num attr Str body Return NameLoad Return Call NameLoad NameLoad decorator_list Expr Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr Str NameLoad Assign TupleStore NameStore NameStore Call AttributeLoad NameLoad attr NameLoad Str Assert CompareIn Str ListComp SubscriptLoad NameLoad Index Num comprehension NameStore NameLoad decorator_list Call AttributeLoad NameLoad attr Str FunctionDef arguments args NameParam defaults body Expr Str Assign NameStore Str Assign NameStore AttributeLoad AttributeLoad NameLoad attr attr FunctionDef arguments args defaults vararg body If CompareIn SubscriptLoad Call AttributeLoad SubscriptLoad NameLoad Index Num attr AttributeLoad NameLoad attr Index Num TupleLoad Str Str body Return NameLoad Return Call NameLoad NameLoad decorator_list Expr Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr Str NameLoad Expr Call AttributeLoad NameLoad attr NameLoad AttributeLoad NameLoad attr NameLoad Str decorator_list FunctionDef arguments args NameParam defaults body Assign NameStore Call AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad NameLoad attr Str Expr Call AttributeLoad NameLoad attr NameLoad Assign NameStore Call AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad AttributeLoad NameLoad attr attr Str Expr Call AttributeLoad NameLoad attr NameLoad keyword NameLoad Expr Call AttributeLoad NameLoad attr Call AttributeLoad AttributeLoad NameLoad attr attr Call AttributeLoad NameLoad attr NameLoad Str decorator_list FunctionDef arguments args NameParam defaults body Assign NameStore Call AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad NameLoad attr Str Expr Call AttributeLoad NameLoad attr NameLoad Assign NameStore Call AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad AttributeLoad NameLoad attr attr Str Expr Call AttributeLoad NameLoad attr NameLoad Str TupleLoad TupleLoad Str AttributeLoad NameLoad attr TupleLoad Str AttributeLoad NameLoad attr TupleLoad Str AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr NameLoad keyword NameLoad decorator_list FunctionDef arguments args NameParam defaults body Assign NameStore Str Expr Call AttributeLoad AttributeLoad NameLoad attr attr Assign TupleStore NameStore NameStore Call AttributeLoad NameLoad attr NameLoad Str Expr Call AttributeLoad AttributeLoad NameLoad attr attr Expr Call AttributeLoad AttributeLoad NameLoad attr attr Str decorator_list FunctionDef arguments args NameParam defaults body Expr Str Assign NameStore Str Assign NameStore Str Expr Call AttributeLoad NameLoad attr Assign AttributeStore NameLoad attr Call AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr Str Expr Call AttributeLoad NameLoad attr Str Expr Call AttributeLoad NameLoad attr Str NameLoad Expr Call AttributeLoad NameLoad attr Str Expr Call AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr Str Expr Call AttributeLoad NameLoad attr Str Expr Call AttributeLoad NameLoad attr Str NameLoad TryExcept body Expr Call AttributeLoad NameLoad attr handlers ExceptHandler type NameLoad body Return Expr Call AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr Str decorator_list FunctionDef arguments args NameParam defaults body Expr Str Assign NameStore Str FunctionDef arguments args NameParam defaults body If CompareEq AttributeLoad NameLoad attr Str body Assign NameStore Call NameLoad Call AttributeLoad AttributeLoad NameLoad attr attr Call AttributeLoad NameLoad attr Str Return Call AttributeLoad NameLoad attr NameLoad Raise Call AttributeLoad NameLoad attr BinOpMod Str AttributeLoad NameLoad attr decorator_list Expr Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr Str NameLoad Expr Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr keyword NameLoad Expr Call AttributeLoad NameLoad attr Expr Call AttributeLoad AttributeLoad NameLoad attr attr Assign TupleStore NameStore NameStore Call AttributeLoad NameLoad attr NameLoad Str Expr Call AttributeLoad AttributeLoad NameLoad attr attr Expr Call AttributeLoad AttributeLoad NameLoad attr attr TupleLoad Str Str Assign NameStore Str Expr Call AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr NameLoad Str decorator_list FunctionDef arguments args NameParam defaults body Expr Str Assign NameStore Str ImportFrom alias Assign NameStore ListLoad FunctionDef arguments args NameParam NameParam NameParam defaults NameLoad body Expr Call AttributeLoad NameLoad attr NameLoad If CompareLt Call NameLoad NameLoad Num body Raise Call AttributeLoad NameLoad attr Str Assign NameStore Call NameLoad Call AttributeLoad AttributeLoad NameLoad attr attr Call AttributeLoad NameLoad attr Str Assign NameStore Call AttributeLoad NameLoad attr NameLoad Return NameLoad decorator_list Expr Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr Str NameLoad Expr Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr keyword NameLoad Expr Call AttributeLoad NameLoad attr Expr Call AttributeLoad AttributeLoad NameLoad attr attr Assign TupleStore NameStore NameStore Call AttributeLoad NameLoad attr NameLoad Str keyword NameLoad Expr Call AttributeLoad AttributeLoad NameLoad attr attr Expr Call AttributeLoad NameLoad attr Call NameLoad NameLoad Num decorator_list FunctionDef arguments args NameParam defaults body Assign NameStore Str Assign NameStore ListLoad FunctionDef arguments args NameParam NameParam defaults body Expr Call AttributeLoad NameLoad attr NameLoad Return decorator_list Expr Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr Str NameLoad Expr Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr Str Expr Call AttributeLoad NameLoad attr Str Expr Call AttributeLoad NameLoad attr Str NameLoad Expr Call AttributeLoad NameLoad attr Str Expr Call AttributeLoad NameLoad attr Assert NameLoad Assign SubscriptStore NameLoad Slice ListLoad Assert UnaryOpNot NameLoad Expr Call AttributeLoad NameLoad attr Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr Str keyword NameLoad Assert UnaryOpNot NameLoad decorator_list FunctionDef arguments args NameParam defaults body Expr Str Assign NameStore Str Expr Call AttributeLoad NameLoad attr Assign TupleStore NameStore NameStore Call AttributeLoad NameLoad attr NameLoad Str Assign NameStore Call AttributeLoad NameLoad attr Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr Str Str Assert CompareNotEq NameLoad Num decorator_list FunctionDef arguments args NameParam defaults body Expr Str Assign NameStore Str Expr Call AttributeLoad NameLoad attr Assign TupleStore NameStore NameStore Call AttributeLoad NameLoad attr NameLoad Str Assign NameStore Call AttributeLoad NameLoad attr Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr Str Str Assert CompareNotEq NameLoad Num Assign NameStore Call AttributeLoad NameLoad attr Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr Str BinOpAdd AttributeLoad AttributeLoad NameLoad attr attr Str Assert CompareNotEq NameLoad Num Assign NameStore Call AttributeLoad NameLoad attr Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr Str Str Assert CompareNotEq NameLoad Num Assert CompareEq BinOpBitAnd SubscriptLoad Call AttributeLoad NameLoad attr Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr Str Index AttributeLoad NameLoad attr Num Num decorator_list FunctionDef arguments args NameParam defaults body Assign NameStore Str Expr Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr NameLoad Str Assign NameStore Str Expr Call AttributeLoad NameLoad attr NameLoad Str decorator_list FunctionDef arguments args NameParam defaults body Assign NameStore Str Expr Call AttributeLoad NameLoad attr Assign TupleStore NameStore NameStore Call AttributeLoad NameLoad attr NameLoad Str Expr Call AttributeLoad NameLoad attr Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr Str decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults body Assign NameStore Call NameLoad NameLoad Assign NameStore Call AttributeLoad NameLoad attr Return Call AttributeLoad NameLoad attr NameLoad decorator_list FunctionDef arguments args NameParam defaults body Assign NameStore Str Expr Call AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr Assign AttributeStore NameLoad attr Call AttributeLoad NameLoad attr Assign NameStore Call AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr Str Expr Call AttributeLoad NameLoad attr Str Expr Call AttributeLoad NameLoad attr Str NameLoad Expr Call AttributeLoad NameLoad attr Str Expr Call AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr Str Expr Call AttributeLoad NameLoad attr Str Expr Call AttributeLoad NameLoad attr NameLoad Expr Call AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr Str keyword NameLoad decorator_list FunctionDef arguments args NameParam defaults body Expr Str Assign NameStore Str Assign TupleStore NameStore NameStore Call AttributeLoad NameLoad attr NameLoad Str Assign NameStore Str Assign TupleStore NameStore NameStore Call AttributeLoad NameLoad attr NameLoad Str Assign NameStore Str Assign TupleStore NameStore NameStore Call AttributeLoad NameLoad attr NameLoad Str Assign NameStore Str Assign TupleStore NameStore NameStore Call AttributeLoad NameLoad attr NameLoad Str decorator_list FunctionDef arguments args NameParam defaults body Assign NameStore Str Expr Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr NameLoad Str decorator_list FunctionDef arguments args NameParam defaults body Assign NameStore Call AttributeLoad NameLoad attr TryFinally body Expr Call AttributeLoad NameLoad attr BinOpAdd Call AttributeLoad NameLoad attr Str BinOpAdd NameLoad Str Assign AttributeStore AttributeLoad NameLoad attr attr NameLoad Assign NameStore Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr Call AttributeLoad Str attr TupleLoad AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad NameLoad attr Assign NameStore Call AttributeLoad NameLoad attr NameLoad Str Expr Call AttributeLoad NameLoad attr Assert Call AttributeLoad AttributeLoad NameLoad attr attr BinOpAdd AttributeLoad AttributeLoad NameLoad attr attr Str Assert Call AttributeLoad AttributeLoad NameLoad attr attr BinOpAdd AttributeLoad AttributeLoad NameLoad attr attr Str finalbody Expr Call AttributeLoad NameLoad attr NameLoad decorator_list FunctionDef arguments args NameParam defaults body Assign NameStore Str Expr Call AttributeLoad AttributeLoad NameLoad attr attr Assign NameStore Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr NameLoad Str keyword NameLoad keyword AttributeLoad NameLoad attr Expr Call AttributeLoad AttributeLoad NameLoad attr attr Assign NameStore Call AttributeLoad Str attr GeneratorExp NameLoad comprehension NameStore AttributeLoad AttributeLoad NameLoad attr attr CompareIn Str NameLoad Assign NameStore Str Assign NameStore Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr Str Assign NameStore Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr Str Assign NameStore Call AttributeLoad NameLoad attr Str Str Expr Call AttributeLoad NameLoad attr NameLoad NameLoad If CompareNotEq AttributeLoad SubscriptLoad NameLoad Index Num attr AttributeLoad NameLoad attr body Expr Call AttributeLoad NameLoad attr Str If SubscriptLoad NameLoad Index Num body Expr Call AttributeLoad NameLoad attr BinOpMod Str SubscriptLoad NameLoad Index Num decorator_list FunctionDef arguments args NameParam defaults body Assign NameStore Str Expr Call AttributeLoad AttributeLoad NameLoad attr attr Assign NameStore Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr NameLoad Str keyword AttributeLoad NameLoad attr Expr Call AttributeLoad AttributeLoad NameLoad attr attr Assign NameStore Call AttributeLoad Str attr GeneratorExp NameLoad comprehension NameStore AttributeLoad AttributeLoad NameLoad attr attr CompareIn Str NameLoad Assign NameStore Str Assign NameStore Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr Str Assign NameStore Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr Str Expr Call AttributeLoad NameLoad attr NameLoad NameLoad If SubscriptLoad NameLoad Index Num body Expr Call AttributeLoad NameLoad attr BinOpMod Str SubscriptLoad NameLoad Index Num decorator_list FunctionDef arguments args NameParam defaults body Assign NameStore Str Expr Call AttributeLoad AttributeLoad NameLoad attr attr Assign NameStore Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr NameLoad Str keyword AttributeLoad NameLoad attr Expr Call AttributeLoad AttributeLoad NameLoad attr attr Assign NameStore Call AttributeLoad Str attr GeneratorExp NameLoad comprehension NameStore AttributeLoad AttributeLoad NameLoad attr attr CompareIn Str NameLoad Assign NameStore Str Assign NameStore Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr Str Assign NameStore Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr Str Expr Call AttributeLoad NameLoad attr NameLoad NameLoad If SubscriptLoad NameLoad Index Num body Expr Call AttributeLoad NameLoad attr BinOpMod Str SubscriptLoad NameLoad Index Num decorator_list FunctionDef arguments args NameParam defaults body Assign NameStore Str Expr Call AttributeLoad AttributeLoad NameLoad attr attr Assign NameStore Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr NameLoad Str keyword NameLoad keyword AttributeLoad NameLoad attr Expr Call AttributeLoad AttributeLoad NameLoad attr attr Assign NameStore Call AttributeLoad Str attr GeneratorExp NameLoad comprehension NameStore AttributeLoad AttributeLoad NameLoad attr attr CompareIn Str NameLoad Assign NameStore Str Assign NameStore Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr Str Assign NameStore Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr Str Expr Call AttributeLoad NameLoad attr NameLoad NameLoad If SubscriptLoad NameLoad Index Num body Expr Call AttributeLoad NameLoad attr BinOpMod Str SubscriptLoad NameLoad Index Num Assert Call AttributeLoad AttributeLoad NameLoad attr attr BinOpAdd AttributeLoad NameLoad attr Str decorator_list FunctionDef arguments args NameParam defaults body Assign NameStore Str Expr Call AttributeLoad AttributeLoad NameLoad attr attr Assign NameStore Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr NameLoad Str keyword NameLoad keyword AttributeLoad NameLoad attr Expr Call AttributeLoad AttributeLoad NameLoad attr attr Assert CompareNotIn Str Call AttributeLoad Call NameLoad BinOpAdd AttributeLoad NameLoad attr Str attr Assert CompareIn Str Call AttributeLoad Call NameLoad BinOpAdd AttributeLoad NameLoad attr Str attr decorator_list FunctionDef arguments args NameParam defaults body Assign NameStore Str Expr Call AttributeLoad AttributeLoad NameLoad attr attr Assign NameStore Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr NameLoad Str keyword AttributeLoad NameLoad attr Expr Call AttributeLoad AttributeLoad NameLoad attr attr Assert CompareIn Str Call AttributeLoad Call NameLoad BinOpAdd AttributeLoad NameLoad attr Str attr Assign NameStore Call AttributeLoad NameLoad attr Str Str Expr Call AttributeLoad NameLoad attr BinOpAdd AttributeLoad NameLoad attr Str Assign NameStore Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr NameLoad Str keyword AttributeLoad NameLoad attr Assert CompareIn Str Call AttributeLoad Call NameLoad BinOpAdd AttributeLoad NameLoad attr Str attr decorator_list FunctionDef arguments args NameParam defaults body Assign NameStore Str Expr Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr NameLoad Str decorator_list FunctionDef arguments args NameParam defaults body Assign NameStore Str Expr Call AttributeLoad AttributeLoad NameLoad attr attr Expr Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr NameLoad Str Expr Call AttributeLoad AttributeLoad NameLoad attr attr Expr Call AttributeLoad AttributeLoad NameLoad attr attr ListLoad Str decorator_list FunctionDef arguments args NameParam defaults body Assign NameStore Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr Call AttributeLoad Str attr TupleLoad AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad NameLoad attr Assign NameStore Call AttributeLoad NameLoad attr NameLoad Str keyword Str Expr Call AttributeLoad NameLoad attr Assign NameStore Call AttributeLoad NameLoad attr BinOpAdd AttributeLoad AttributeLoad NameLoad attr attr Str Assert BinOpBitAnd AttributeLoad NameLoad attr AttributeLoad NameLoad attr decorator_list FunctionDef arguments args NameParam defaults body Assign NameStore Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr Call AttributeLoad Str attr TupleLoad AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad NameLoad attr Assign NameStore Call AttributeLoad NameLoad attr NameLoad Str keyword Str Expr Call AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr Call AttributeLoad AttributeLoad NameLoad attr attr BinOpAdd AttributeLoad AttributeLoad NameLoad attr attr Str Expr Call AttributeLoad NameLoad attr Call AttributeLoad AttributeLoad NameLoad attr attr BinOpAdd AttributeLoad AttributeLoad NameLoad attr attr Str decorator_list FunctionDef arguments args NameParam defaults body Assign NameStore Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr Call AttributeLoad Str attr TupleLoad AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad NameLoad attr Assign NameStore Call AttributeLoad NameLoad attr NameLoad Str keyword Str Expr Call AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr Call AttributeLoad AttributeLoad NameLoad attr attr BinOpAdd AttributeLoad AttributeLoad NameLoad attr attr Str decorator_list FunctionDef arguments args NameParam defaults body Assign NameStore Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr Call AttributeLoad Str attr TupleLoad AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad NameLoad attr Assign NameStore Call AttributeLoad NameLoad attr NameLoad Str keyword Str Expr Call AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr Call AttributeLoad AttributeLoad NameLoad attr attr BinOpAdd AttributeLoad AttributeLoad NameLoad attr attr Str decorator_list Call AttributeLoad NameLoad attr Str FunctionDef arguments args NameParam defaults body Assign NameStore Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr Call AttributeLoad Str attr TupleLoad AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad NameLoad attr Assign NameStore Call AttributeLoad NameLoad attr NameLoad Str keyword Str keyword Str Expr Call AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr Call AttributeLoad AttributeLoad NameLoad attr attr BinOpAdd AttributeLoad AttributeLoad NameLoad attr attr Str decorator_list FunctionDef arguments args NameParam defaults body Assign NameStore Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr Call AttributeLoad Str attr TupleLoad AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad NameLoad attr Assign NameStore Call AttributeLoad NameLoad attr NameLoad Str keyword Str Expr Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr decorator_list FunctionDef arguments args NameParam defaults body Assign NameStore Str Assign TupleStore NameStore NameStore Call AttributeLoad NameLoad attr NameLoad Str Assign NameStore TupleLoad SubscriptLoad SubscriptLoad NameLoad Index Num Index Num Call NameLoad SubscriptLoad SubscriptLoad NameLoad Index Num Index Num SubscriptLoad SubscriptLoad NameLoad Index Num Index Num Assign NameStore Call AttributeLoad NameLoad attr Assign NameStore Call AttributeLoad NameLoad attr ListLoad TupleLoad SubscriptLoad NameLoad Index Num TupleLoad NameLoad NameLoad TupleLoad SubscriptLoad NameLoad Index Num SubscriptLoad NameLoad Index Num NameLoad Assign NameStore Call AttributeLoad NameLoad attr NameLoad Assign NameStore Call AttributeLoad NameLoad attr NameLoad Assign NameStore Dict For TupleStore NameStore NameStore NameStore NameStore Call AttributeLoad NameLoad attr body Assign NameStore Call AttributeLoad NameLoad attr NameLoad NameLoad Assign NameStore Call AttributeLoad NameLoad attr NameLoad NameLoad Assign SubscriptStore NameLoad Index NameLoad TupleLoad Call AttributeLoad AttributeLoad NameLoad attr attr Call AttributeLoad AttributeLoad NameLoad attr attr Call AttributeLoad AttributeLoad NameLoad attr attr Assign NameStore Dict Str Str Str Str Str Str Str Str Str Str TupleLoad Str Str Str TupleLoad Str Str Str TupleLoad Str Str Str TupleLoad Str Str Str TupleLoad Str Str Str TupleLoad Str Str Str TupleLoad Str Str Str TupleLoad Str Str Str TupleLoad Str Str Str TupleLoad Str Str Str If CompareNotEq NameLoad NameLoad body Assign NameStore ListLoad Assign NameStore Call NameLoad Call NameLoad BinOpSub Call NameLoad Call AttributeLoad NameLoad attr Call NameLoad Call AttributeLoad NameLoad attr For NameStore NameLoad body Expr Call AttributeLoad NameLoad attr BinOpMod Str NameLoad For NameStore Call AttributeLoad NameLoad attr body If BoolOpAnd CompareIn NameLoad NameLoad CompareNotEq SubscriptLoad NameLoad Index NameLoad SubscriptLoad NameLoad Index NameLoad body Expr Call AttributeLoad NameLoad attr BinOpMod Str BinOpAdd BinOpAdd TupleLoad NameLoad SubscriptLoad NameLoad Index NameLoad SubscriptLoad NameLoad Index NameLoad Assign NameStore Call NameLoad Call NameLoad BinOpSub Call NameLoad Call AttributeLoad NameLoad attr Call NameLoad Call AttributeLoad NameLoad attr For NameStore NameLoad body Expr Call AttributeLoad NameLoad attr BinOpMod Str NameLoad Assign NameStore Call AttributeLoad Str attr NameLoad Expr Call AttributeLoad NameLoad attr NameLoad decorator_list FunctionDef arguments args NameParam defaults body Assign NameStore Str Assign TupleStore NameStore NameStore Call AttributeLoad NameLoad attr NameLoad Str Assign NameStore TupleLoad SubscriptLoad SubscriptLoad NameLoad Index Num Index Num Call NameLoad SubscriptLoad SubscriptLoad NameLoad Index Num Index Num SubscriptLoad SubscriptLoad NameLoad Index Num Index Num Assign NameStore Call AttributeLoad NameLoad attr Assign NameStore Call AttributeLoad NameLoad attr ListLoad TupleLoad SubscriptLoad NameLoad Index Num TupleLoad NameLoad NameLoad TupleLoad SubscriptLoad NameLoad Index Num SubscriptLoad NameLoad Index Num NameLoad Assign NameStore Call AttributeLoad NameLoad attr NameLoad Assign NameStore Call AttributeLoad NameLoad attr NameLoad Assign NameStore Dict For TupleStore NameStore NameStore NameStore NameStore Call AttributeLoad NameLoad attr body Assign NameStore Call AttributeLoad NameLoad attr NameLoad NameLoad Assign NameStore Call AttributeLoad NameLoad attr NameLoad NameLoad Assign SubscriptStore NameLoad Index NameLoad TupleLoad Call AttributeLoad AttributeLoad NameLoad attr attr Call AttributeLoad AttributeLoad NameLoad attr attr Assign NameStore Dict Str Str Str Str Str Str Str Str Str Str Str Str Str Str Str Str Str Str Str Str TupleLoad Str Str TupleLoad Str Str TupleLoad Str Str TupleLoad Str Str TupleLoad Str Str TupleLoad Str Str TupleLoad Str Str TupleLoad Str Str TupleLoad Str Str TupleLoad Str Str TupleLoad Str Str TupleLoad Str Str TupleLoad Str Str TupleLoad Str Str TupleLoad Str Str TupleLoad Str Str TupleLoad Str Str TupleLoad Str Str TupleLoad Str Str TupleLoad Str Str If CompareNotEq NameLoad NameLoad body Assign NameStore ListLoad For NameStore Call AttributeLoad NameLoad attr body If CompareNotEq SubscriptLoad NameLoad Index NameLoad SubscriptLoad NameLoad Index NameLoad body Expr Call AttributeLoad NameLoad attr BinOpMod Str BinOpAdd BinOpAdd TupleLoad NameLoad SubscriptLoad NameLoad Index NameLoad SubscriptLoad NameLoad Index NameLoad Assign NameStore Call AttributeLoad Str attr NameLoad Expr Call AttributeLoad NameLoad attr NameLoad Assign NameStore Str TryExcept body Expr Call AttributeLoad NameLoad attr NameLoad Str handlers ExceptHandler type AttributeLoad NameLoad attr name NameStore body Assert CompareEq Call NameLoad NameLoad Str orelse Assert Num Assign NameStore Str TryExcept body Expr Call AttributeLoad NameLoad attr NameLoad Str handlers ExceptHandler type AttributeLoad NameLoad attr name NameStore body Assert CompareEq Call NameLoad NameLoad Str orelse Assert Num Assign NameStore Str TryExcept body Expr Call AttributeLoad NameLoad attr NameLoad Str handlers ExceptHandler type AttributeLoad NameLoad attr name NameStore body Assert CompareEq Call NameLoad NameLoad Str orelse Assert Num decorator_list FunctionDef arguments args NameParam defaults body Assign NameStore Str Assign NameStore SubscriptLoad Call AttributeLoad NameLoad attr NameLoad Str Index Num Assert NameLoad decorator_list Call AttributeLoad NameLoad attr Str decorator_list ClassDef bases AttributeLoad NameLoad attr body FunctionDef arguments args NameParam defaults body Assign NameStore Str TryExcept body Expr Call AttributeLoad NameLoad attr NameLoad Str handlers ExceptHandler type AttributeLoad NameLoad attr name NameStore body Assert CompareEq Call NameLoad NameLoad Str orelse Assert NameLoad decorator_list FunctionDef arguments args NameParam defaults body Assign NameStore Str ClassDef bases NameLoad body Pass decorator_list FunctionDef arguments args NameParam defaults body Assign NameStore Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr NameLoad Call AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad NameLoad attr AttributeLoad AttributeLoad AttributeLoad NameLoad attr attr attr Str Raise NameLoad decorator_list FunctionDef arguments args defaults vararg kwarg body Raise Call NameLoad Str decorator_list Expr Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr Str NameLoad Expr Call AttributeLoad NameLoad attr NameLoad Str NameLoad Expr Call AttributeLoad NameLoad attr NameLoad AttributeLoad NameLoad attr NameLoad Str decorator_list FunctionDef arguments args NameParam defaults body Assign NameStore Str Expr Call AttributeLoad NameLoad attr NameLoad Str decorator_list FunctionDef arguments args NameParam defaults body Assign NameStore Str Expr Call AttributeLoad NameLoad attr NameLoad Str decorator_list FunctionDef arguments args NameParam defaults body Assign NameStore Str TryExcept body Expr Call AttributeLoad NameLoad attr NameLoad Str handlers ExceptHandler type NameLoad name NameStore body If CompareNotEq AttributeLoad NameLoad attr Num body Raise Expr Call AttributeLoad NameLoad attr Call NameLoad NameLoad Str orelse Expr Call AttributeLoad NameLoad attr Str decorator_list FunctionDef arguments args NameParam defaults body ClassDef bases AttributeLoad NameLoad attr body Assign NameStore Str FunctionDef arguments args NameParam defaults body Pass decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults Dict NameLoad body Return ListLoad Str Str Str decorator_list Assign NameStore Lambda arguments args defaults vararg kwarg NameLoad FunctionDef arguments args NameParam NameParam defaults body Expr Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad decorator_list decorator_list Assign AttributeStore NameLoad attr ListLoad Assign NameStore Call NameLoad Expr Call AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr ListLoad Str Str Str decorator_list FunctionDef arguments args NameParam NameParam defaults body ClassDef bases AttributeLoad NameLoad attr body Assign NameStore Num FunctionDef arguments args NameParam defaults vararg kwarg body Expr Call AttributeLoad Call NameLoad NameLoad Str attr BinOpMod Str AttributeLoad NameLoad attr decorator_list FunctionDef arguments args NameParam defaults body If Call AttributeLoad AttributeLoad NameLoad attr attr Str body Assign NameStore Str Assign NameStore BinOpAdd AttributeLoad NameLoad attr Str AugAssignAdd AttributeStore NameLoad attr Num Expr Call AttributeLoad Call NameLoad NameLoad Str attr BinOpMod Str AttributeLoad NameLoad attr orelse If BoolOpOr Call AttributeLoad AttributeLoad NameLoad attr attr Str UnaryOpNot Call AttributeLoad AttributeLoad NameLoad attr attr Str body Expr Call AttributeLoad NameLoad attr Num Expr Call AttributeLoad NameLoad attr Return orelse If Call AttributeLoad AttributeLoad NameLoad attr attr Str body Assign NameStore Call AttributeLoad AttributeLoad NameLoad attr attr Call AttributeLoad NameLoad attr Str Assign NameStore Str orelse Assign NameStore Call AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad NameLoad attr Str Expr Call AttributeLoad Call NameLoad NameLoad Str attr Str Assign NameStore Str Assign NameStore AttributeLoad Call AttributeLoad NameLoad attr NameLoad attr Expr Call AttributeLoad NameLoad attr Num Expr Call AttributeLoad NameLoad attr Str NameLoad Expr Call AttributeLoad NameLoad attr Str NameLoad Expr Call AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr Call NameLoad NameLoad AttributeLoad NameLoad attr decorator_list decorator_list Assign NameStore Call AttributeLoad NameLoad attr NameLoad Return NameLoad decorator_list FunctionDef arguments args NameParam defaults body Assign NameStore Str Assign NameStore Str Assign NameStore Call AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad NameLoad attr Str Assign NameStore Call AttributeLoad NameLoad attr NameLoad TryFinally body Assign NameStore Call AttributeLoad NameLoad attr BinOpMod NameLoad Call NameLoad keyword AttributeLoad NameLoad attr Str Expr Call AttributeLoad NameLoad attr Call NameLoad ListComp SubscriptLoad NameLoad Index Num comprehension NameStore Call AttributeLoad NameLoad attr Call NameLoad ListLoad Str Str Str Assign NameStore Call AttributeLoad NameLoad attr Str Str Assign NameStore Call AttributeLoad NameLoad attr BinOpMod NameLoad Call NameLoad keyword AttributeLoad NameLoad attr Str Assign NameStore Call AttributeLoad NameLoad attr Str Str Assign NameStore Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr BinOpMod NameLoad Call NameLoad keyword AttributeLoad NameLoad attr Str Assign NameStore Call NameLoad NameLoad Assign NameStore SubscriptLoad NameLoad Slice Call AttributeLoad NameLoad attr Str Expr Call AttributeLoad NameLoad attr NameLoad Str Assign NameStore BinOpMod NameLoad Call NameLoad keyword AttributeLoad NameLoad attr Assign NameStore Call AttributeLoad NameLoad attr NameLoad Str Expr Call AttributeLoad NameLoad attr ListComp SubscriptLoad NameLoad Index Num comprehension NameStore Call AttributeLoad NameLoad attr ListLoad Str Expr Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr Str Expr Call AttributeLoad NameLoad attr Str Expr Call AttributeLoad Call NameLoad Str Str attr NameLoad Expr Call AttributeLoad NameLoad attr finalbody Expr Call AttributeLoad NameLoad attr decorator_list FunctionDef arguments args NameParam defaults body Assign NameStore Str Assign NameStore Call AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad NameLoad attr Str Assign NameStore Call AttributeLoad NameLoad attr NameLoad TryFinally body Expr Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr Str Expr Call AttributeLoad NameLoad attr Str Expr Call AttributeLoad NameLoad attr Str BinOpMod NameLoad Call NameLoad keyword AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr Str Expr Call AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr Assign NameStore Call AttributeLoad NameLoad attr Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr Str Expr Call AttributeLoad NameLoad attr Str Expr Call AttributeLoad NameLoad attr Call AttributeLoad Call NameLoad BinOpAdd AttributeLoad AttributeLoad NameLoad attr attr Str attr Str finalbody Expr Call AttributeLoad NameLoad attr decorator_list FunctionDef arguments args NameParam defaults body Assign NameStore Str Assign NameStore Call AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad NameLoad attr Str Assign NameStore Call AttributeLoad NameLoad attr NameLoad Assign NameStore Call AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad NameLoad attr Str Expr Call AttributeLoad NameLoad attr NameLoad Expr Call AttributeLoad Call NameLoad Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad Str Str attr BinOpMod Str TupleLoad AttributeLoad NameLoad attr AttributeLoad NameLoad attr Expr Call AttributeLoad Call NameLoad Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad Str Str attr BinOpMod Str TupleLoad AttributeLoad NameLoad attr AttributeLoad NameLoad attr Assign AttributeStore AttributeLoad NameLoad attr attr ListLoad NameLoad TryFinally body Assign NameStore Call AttributeLoad NameLoad attr BinOpMod NameLoad Call NameLoad keyword Str Str Expr Call AttributeLoad NameLoad attr Call NameLoad ListComp SubscriptLoad NameLoad Index Num comprehension NameStore Call AttributeLoad NameLoad attr Call NameLoad ListLoad Str Str Str Assign NameStore ListComp Call AttributeLoad NameLoad attr comprehension NameStore Call NameLoad NameLoad Expr Call AttributeLoad NameLoad attr SubscriptLoad NameLoad Index Num Str Assign NameStore Call NameLoad GeneratorExp Call AttributeLoad Str attr SubscriptLoad Call AttributeLoad NameLoad attr Str Slice Num comprehension NameStore NameLoad Call AttributeLoad NameLoad attr Str Expr Call AttributeLoad NameLoad attr NameLoad Call NameLoad ListLoad Str Str Str Expr Call NameLoad NameLoad Str Expr Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr keyword NameLoad Assign NameStore Call AttributeLoad NameLoad attr BinOpMod NameLoad Call NameLoad keyword Str Str Assign NameStore ListComp Call AttributeLoad NameLoad attr comprehension NameStore Call NameLoad NameLoad Expr Call AttributeLoad NameLoad attr SubscriptLoad NameLoad Index Num Str Assign NameStore Call NameLoad GeneratorExp Call AttributeLoad Str attr SubscriptLoad Call AttributeLoad NameLoad attr Str Slice Num comprehension NameStore NameLoad Call AttributeLoad NameLoad attr Str Expr Call AttributeLoad NameLoad attr NameLoad Call NameLoad ListLoad Str Str Str finalbody Expr Call AttributeLoad NameLoad attr decorator_list FunctionDef arguments args NameParam defaults body Assign NameStore Str Assign NameStore Call AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad NameLoad attr Str Assign NameStore Call AttributeLoad NameLoad attr NameLoad Assign NameStore Call AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad NameLoad attr Str Expr Call AttributeLoad NameLoad attr NameLoad Expr Call AttributeLoad Call NameLoad Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad Str Str attr BinOpMod Str TupleLoad AttributeLoad NameLoad attr AttributeLoad NameLoad attr Assign AttributeStore AttributeLoad NameLoad attr attr ListLoad NameLoad TryFinally body Assign NameStore Call AttributeLoad NameLoad attr NameLoad Str Expr Call AttributeLoad NameLoad attr Call NameLoad ListComp SubscriptLoad NameLoad Index Num comprehension NameStore Call AttributeLoad NameLoad attr Call NameLoad ListLoad Str Str Str Assign NameStore ListComp Call AttributeLoad NameLoad attr comprehension NameStore Call NameLoad NameLoad Assign NameStore ListComp NameLoad comprehension NameStore NameLoad BoolOpAnd Call AttributeLoad NameLoad attr Str Call AttributeLoad NameLoad attr Str Expr Call AttributeLoad NameLoad attr NameLoad ListLoad Str Assign NameStore ListComp NameLoad comprehension NameStore NameLoad Call AttributeLoad NameLoad attr Str Expr Call AttributeLoad NameLoad attr NameLoad ListLoad Str Str finalbody Expr Call AttributeLoad NameLoad attr decorator_list FunctionDef arguments args NameParam defaults body Assign NameStore Str Expr Call AttributeLoad NameLoad attr Str ListLoad TupleLoad Str NameLoad TupleLoad Str Str TupleLoad Str Call AttributeLoad Call NameLoad Call AttributeLoad AttributeLoad NameLoad attr attr Call AttributeLoad NameLoad attr Str attr Assign NameStore Call AttributeLoad NameLoad attr Assign NameStore Call AttributeLoad NameLoad attr Assign TupleStore NameStore NameStore Call AttributeLoad NameLoad attr NameLoad AttributeLoad NameLoad attr Str Assign NameStore SubscriptLoad NameLoad Index Num Assign NameStore SubscriptLoad Call AttributeLoad NameLoad attr NameLoad NameLoad Index Num Assign NameStore Call AttributeLoad NameLoad attr NameLoad Expr Call AttributeLoad NameLoad attr Call AttributeLoad SubscriptLoad NameLoad Index Str attr Str Assign NameStore Call AttributeLoad Call NameLoad Call AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad AttributeLoad NameLoad attr attr Str Str Str Str attr Expr Call AttributeLoad NameLoad attr NameLoad Str Assign NameStore Call AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad AttributeLoad NameLoad attr attr Str Str Expr Call AttributeLoad NameLoad attr Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad Str decorator_list Call AttributeLoad NameLoad attr Str FunctionDef arguments args NameParam defaults body Assign NameStore Str Expr Call AttributeLoad NameLoad attr Str ListLoad TupleLoad Str NameLoad TupleLoad Str Str TupleLoad Str Call AttributeLoad Call NameLoad Call AttributeLoad AttributeLoad NameLoad attr attr Call AttributeLoad NameLoad attr Str attr Assign NameStore Call AttributeLoad NameLoad attr Assign NameStore Call AttributeLoad NameLoad attr Assign TupleStore NameStore NameStore Call AttributeLoad NameLoad attr NameLoad AttributeLoad NameLoad attr Str Assign NameStore SubscriptLoad NameLoad Index Num Assign NameStore SubscriptLoad Call AttributeLoad NameLoad attr NameLoad NameLoad Index Num Assign NameStore Call AttributeLoad NameLoad attr NameLoad Expr Call AttributeLoad NameLoad attr Call AttributeLoad SubscriptLoad NameLoad Index Str attr Str Assign NameStore Call AttributeLoad Call NameLoad Call AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad AttributeLoad NameLoad attr attr Str Str Str Str attr Expr Call AttributeLoad NameLoad attr NameLoad Str Assign NameStore Call AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad AttributeLoad NameLoad attr attr Str Str Expr Call AttributeLoad NameLoad attr Call AttributeLoad Call NameLoad NameLoad attr Str Expr Call AttributeLoad NameLoad attr Call AttributeLoad SubscriptLoad NameLoad Index Str attr Str decorator_list Call AttributeLoad NameLoad attr Str FunctionDef arguments args NameParam defaults body Assign NameStore Str Expr Call AttributeLoad NameLoad attr Str ListLoad TupleLoad Str NameLoad TupleLoad Str Str TupleLoad Str Call AttributeLoad Call NameLoad Call AttributeLoad AttributeLoad NameLoad attr attr Call AttributeLoad NameLoad attr Str attr TupleLoad Str Call AttributeLoad Call NameLoad Call AttributeLoad AttributeLoad NameLoad attr attr Call AttributeLoad NameLoad attr Str attr Assign NameStore Call AttributeLoad NameLoad attr Assign NameStore Call AttributeLoad NameLoad attr Assign TupleStore NameStore NameStore Call AttributeLoad NameLoad attr NameLoad AttributeLoad NameLoad attr Str Assign NameStore SubscriptLoad NameLoad Index Num Assign NameStore SubscriptLoad Call AttributeLoad NameLoad attr NameLoad NameLoad Index Num Assign NameStore Call AttributeLoad NameLoad attr NameLoad Expr Call AttributeLoad NameLoad attr CompareIn Str Call AttributeLoad SubscriptLoad NameLoad Index Str attr Expr Call AttributeLoad NameLoad attr CompareIn Str Call AttributeLoad SubscriptLoad NameLoad Index Str attr Expr Call AttributeLoad NameLoad attr Call NameLoad Call AttributeLoad NameLoad attr Call NameLoad ListLoad Str Str decorator_list Call AttributeLoad NameLoad attr Str FunctionDef arguments args NameParam defaults body Assign NameStore Str Expr Call AttributeLoad NameLoad attr Str ListLoad TupleLoad Str NameLoad TupleLoad Str Str TupleLoad Str Call AttributeLoad Call NameLoad Call AttributeLoad AttributeLoad NameLoad attr attr Call AttributeLoad NameLoad attr Str attr Assign NameStore Call AttributeLoad NameLoad attr Assign NameStore Call AttributeLoad NameLoad attr Assign NameStore Call AttributeLoad NameLoad attr NameLoad AttributeLoad NameLoad attr NameLoad AttributeLoad NameLoad attr Str Expr Call AttributeLoad NameLoad attr Call NameLoad NameLoad Str decorator_list Call AttributeLoad NameLoad attr Str FunctionDef arguments args NameParam defaults body Assign NameStore Str Assign NameStore Call AttributeLoad NameLoad attr Assign NameStore Call AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad NameLoad attr Str Assign NameStore Call AttributeLoad NameLoad attr NameLoad TryFinally body Assign NameStore Call AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr Str Expr Call AttributeLoad NameLoad attr Str Expr Call AttributeLoad NameLoad attr Str BinOpMod NameLoad Call NameLoad keyword AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr Str Expr Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr ListComp Call AttributeLoad NameLoad attr comprehension NameStore Call NameLoad NameLoad ListLoad Str Str Expr Call AttributeLoad NameLoad attr Call AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad NameLoad attr Str Expr Call AttributeLoad NameLoad attr NameLoad AttributeLoad NameLoad attr Str Expr Call AttributeLoad NameLoad attr ListComp Call AttributeLoad NameLoad attr comprehension NameStore Call NameLoad NameLoad ListLoad Str Str finalbody Expr Call AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr NameLoad decorator_list FunctionDef arguments args NameParam defaults body If UnaryOpNot Call AttributeLoad AttributeLoad NameLoad attr attr Str body Raise Call AttributeLoad NameLoad attr Str Assign NameStore Str Assign TupleStore NameStore NameStore Call AttributeLoad NameLoad attr NameLoad Str Assign NameStore ListComp NameLoad comprehension NameStore NameLoad CompareEq SubscriptLoad NameLoad Index Num Str Assign NameStore ListComp TupleLoad SubscriptLoad NameLoad Index Num Call NameLoad SubscriptLoad NameLoad Index Num SubscriptLoad NameLoad Index Num comprehension NameStore NameLoad Assign NameStore Call AttributeLoad NameLoad attr Assign NameStore SubscriptLoad Call AttributeLoad NameLoad attr NameLoad Index Num Expr Call AttributeLoad NameLoad attr Call NameLoad GeneratorExp Call AttributeLoad AttributeLoad NameLoad attr attr SubscriptLoad NameLoad Index Num comprehension NameStore Call AttributeLoad NameLoad attr ListLoad Str Str decorator_list decorator_list
N/A testrunner decorators N/A os N/A stat N/A shutil N/A tempfile testrunner testhelp N/A SimpleHTTPServer conary files versions rpmhelper conary trove trovemod N/A VFS N/A versions VersionFromString conary.lib log conary.lib openpgpfile util conary_test rephelp conary.build errors conary.build lookaside conary.build source conary_test resources conary_test.cvctest.buildtest policytest SourceTest N/A N/A rephelp RepositoryHelper N/A testSourceManifest N/A N/A self N/A N/A N/A recipestr 
class TestSourceManifest(PackageRecipe):
    name = 'test'
    version = '1'
    clearBuildReqs()
    
    def setup(r):
        # random files we have around in archive...
        r.addArchive('asdf.tar.gz', dir='/', package='asdf')
        r.addSource('sourcefile', dir='/var/test/')
 N/A N/A built d N/A N/A self buildRecipe recipestr TestSourceManifest N/A repos N/A N/A self openRepository N/A N/A troveName troveVersionString troveFlavor built N/A N/A N/A pathId path fileId version fileObj N/A N/A repos iterFilesInTrove troveName N/A N/A versions VersionFromString troveVersionString troveFlavor withFiles True N/A N/A N/A N/A fdsa path N/A bam path N/A N/A N/A troveName asdf:runtime N/A N/A N/A sourcefile path N/A N/A N/A troveName test:runtime N/A testISOArchiveJoliet N/A N/A self N/A N/A N/A recipestr 
class TestISOArchive(PackageRecipe):
    name = 'test'
    version = '1'
    clearBuildReqs()
    
    def setup(r):
        r.addArchive('jcd.iso', dir='/')
        r.SetModes('%(bindir)s/touch', 0755)
 N/A trove N/A N/A self build recipestr TestISOArchive N/A repos N/A N/A self openRepository N/A paths N/A N/A N/A pathId path fileId version fileObj N/A N/A repos iterFilesInTrove N/A N/A trove getName N/A N/A trove getVersion N/A N/A trove getFlavor withFiles True N/A N/A N/A N/A paths append path N/A N/A N/A sorted paths N/A /a/b /aaa/blah /b/bar /usr/bin/touch N/A testISOArchiveRockRidge N/A N/A self N/A N/A N/A recipestr 
class TestISOArchive(PackageRecipe):
    name = 'test'
    version = '1'
    clearBuildReqs()
    
    def setup(r):
        r.addArchive('rrcd.iso', dir='/')
        r.SetModes('%(bindir)s/touch', 0755)
 N/A trove N/A N/A self build recipestr TestISOArchive N/A repos N/A N/A self openRepository N/A paths N/A N/A N/A pathId path fileId version fileObj N/A N/A repos iterFilesInTrove N/A N/A trove getName N/A N/A trove getVersion N/A N/A trove getFlavor withFiles True N/A N/A N/A N/A paths append path N/A N/A N/A sorted paths N/A /a/b /aaa/blah /b/bar /usr/bin/touch N/A testSourceTest1 N/A N/A self N/A N/A N/A 
        Test build.source
         N/A recipestr 
class TestSource(PackageRecipe):
    name = 'tmpwatch'
    version = '2.9.0'
    clearBuildReqs()
    
    def setup(r):
        # test unpacking and extracting from an RPM
        r.addArchive('tmpwatch-2.9.0.tar.gz', rpm='tmpwatch-2.9.0-2.src.rpm')

        # test unpacking and extracting from a src bz2 RPM
        r.addSource('mkinitrd.spec', rpm='rpm-with-bzip-5.0.29-1.src.rpm')

        # test unpacking and extracting from a bz2 RPM
        r.addArchive('rpm-with-bzip-5.0.29-1.i386.rpm')

        # test unpacking and extracting from an lzma RPM
        r.addArchive('gnome-main-menu-0.9.10-26.x86_64.rpm')

        # test unpacking from a tar.xz (CNY-3207)
        r.addArchive('foo.tar.xz', dir='/')

        # test applying a patch
        r.addPatch('tmpwatch.fakebug.patch')
        # test taking that patch right back out with a string to extraArgs
        r.addPatch('tmpwatch.fakebug.patch', extraArgs='--reverse')
        # test putting the patch back in again with a list to extraArgs this time
        r.addPatch('tmpwatch.fakebug.patch', extraArgs=['--ignore-whitespace',])
        # test the dest= capability of addSource
        r.addSource('tmpwatch.fakebug.patch', dest='foo')
        r.addSource('tmpwatch.fakebug.patch', dir='/asdf', dest='foo')
        r.addSource('tmpwatch.fakebug.patch', dest='/asdf/foo2%%')
        r.addSource('tmpwatch.fakebug.patch', dest='/asdf/')
        # make sure spaces are OK
        r.addSource('name with spaces')
        r.addSource('localfoo')
        r.addSource('local name with spaces')
        r.addAction('ls foo')
        r.addAction('ls foo', dir='/asdf')
        r.addAction('ls foo2%%', dir='/asdf')
        r.addAction('ls tmpwatch.fakebug.patch', dir='/asdf')
        r.addArchive('tmpwatch-2.9.0.tar.gz', rpm='tmpwatch-2.9.0-2.src.rpm',
                        dir='/asdf')
        r.addAction('ls tmpwatch-2.9.0', dir='/asdf')
        # XXX I'm not sure what this was intended to show
        #r.addAction('ls tmpwatch-2.9.0', dir='%(destdir)s/asdf')
        r.addPatch('tmpwatch.fakebug.patch', dir='/asdf/tmpwatch-2.9.0')
 N/A N/A N/A self resetWork N/A N/A N/A self resetRepository N/A N/A self repos N/A N/A self openRepository N/A origDir N/A N/A os getcwd N/A N/A N/A os chdir N/A self workDir N/A N/A N/A self newpkg tmpwatch N/A N/A N/A os chdir tmpwatch N/A N/A N/A N/A file localfoo w close N/A N/A N/A N/A file local name with spaces w close N/A N/A N/A self writeFile tmpwatch.recipe recipestr N/A N/A N/A self addfile tmpwatch.recipe N/A N/A N/A self addfile localfoo text True N/A N/A N/A self addfile local name with spaces text True N/A N/A N/A self commit N/A N/A N/A os chdir .. N/A N/A N/A shutil rmtree tmpwatch N/A N/A N/A os chdir origDir N/A N/A N/A self resetCache N/A realExists N/A N/A os path exists access_xz N/A N/A N/A args N/A N/A N/A N/A N/A args N/A 0 endswith /unlzma N/A N/A False N/A N/A realExists args N/A N/A N/A N/A self mock N/A os path exists access_xz N/A N/A N/A self cookItem N/A self repos N/A self cfg tmpwatch requireCleanSources False N/A N/A N/A decorators requireBinary xz testSourceTestUnlzma N/A N/A self N/A N/A N/A 
        Test build.source
         N/A recipestr 
class TestSource(PackageRecipe):
    name = 'gnome-main-menu'
    version = '0.9.10'
    clearBuildReqs()
    
    def setup(r):
        # test unpacking and extracting from an lzma RPM if xz not available
        r.addArchive('gnome-main-menu-0.9.10-26.x86_64.rpm', dir='/')
        del r.NonMultilibDirectories
 N/A realExists N/A N/A os path exists access_lzma N/A N/A N/A args N/A N/A N/A N/A N/A args N/A 0 endswith /xz N/A N/A False N/A N/A realExists args N/A N/A N/A N/A self mock N/A os path exists access_lzma N/A N/A built d N/A N/A self buildRecipe recipestr TestSource N/A N/A gnome-main-menu:runtime N/A N/A x N/A 0 N/A x built N/A N/A N/A decorators requireBinary unlzma testSourceTestMissinglzma N/A N/A self N/A N/A N/A 
        Test build.source
         N/A recipestr 
class TestSource(PackageRecipe):
    name = 'gnome-main-menu'
    version = '0.9.10'
    clearBuildReqs()
    
    def setup(r):
        # test unpacking and extracting from an lzma RPM if xz not available
        r.addArchive('gnome-main-menu-0.9.10-26.x86_64.rpm', dir='/')
 N/A realExists N/A N/A os path exists access_nolzma N/A N/A N/A args N/A N/A N/A N/A N/A N/A N/A args N/A 0 split N/A os sep N/A -1 N/A xz unlzma N/A N/A False N/A N/A realExists args N/A N/A N/A N/A self mock N/A os path exists access_nolzma N/A N/A N/A self assertRaises RuntimeError N/A self buildRecipe recipestr TestSource N/A testUnpackOldRpm30 N/A N/A self N/A N/A N/A destdir N/A N/A N/A os path join N/A self workDir dest N/A N/A N/A util mkdirChain destdir N/A rpmfile N/A N/A N/A os path join N/A N/A self cfg sourceSearchDir popt-1.5-4x.i386.rpm N/A N/A N/A source _extractFilesFromRPM rpmfile directory destdir N/A N/A N/A self assertTrue N/A N/A N/A os path exists N/A N/A util joinPaths destdir /usr/include/popt.h N/A testUnpackRPMWithUnsupportedTag N/A N/A self N/A N/A N/A destdir N/A N/A N/A os path join N/A self workDir dest N/A N/A N/A util mkdirChain destdir N/A rpmfile N/A N/A N/A os path join N/A N/A self cfg sourceSearchDir tags-1.2-3.noarch.rpm N/A N/A N/A self mock source _forbiddenRPMTags N/A N/A SIG_SHA1 N/A rpmhelper SIG_SHA1 N/A BLINKPKGID N/A rpmhelper BLINKPKGID N/A NAME N/A rpmhelper NAME N/A N/A N/A self assertRaises N/A source SourceError N/A source _extractFilesFromRPM rpmfile directory destdir N/A testSourcePerms N/A N/A self N/A N/A N/A recipestr 
class TestSource(PackageRecipe):
    name = 'test'
    version = '1'
    clearBuildReqs()
    
    def setup(r):
        # test not preserving world-writeable permissions in builddir
        r.addArchive('worldwriteable.tar.bz2', dir='test-1')
        r.Install('worldwriteable', '/ww/notworldwriteable')
        # test preserving world-writeable permissions in root proxy
        r.addArchive('worldwriteable.tar.bz2', dir='/ww/')
        # test missing intermediate directory in tarball CNY-3060
        r.addArchive('missing.tar', dir='/opt/f', preserveOwnership=True)
 N/A N/A N/A N/A self logFilter add N/A N/A built d N/A N/A self buildRecipe recipestr TestSource N/A N/A N/A N/A self logFilter remove N/A N/A N/A N/A self logFilter compare warning: WarnWriteable: Possibly inappropriately writeable permission 0666 for file /ww/worldwriteable N/A testSourceTestSRPMCache N/A N/A self N/A N/A N/A 
        Test SRPM lookaside handling (CNY-771)
         N/A recipe1 
class foo(PackageRecipe):
    name = 'foo'
    version = '1.0'
    clearBuildReqs()

    def setup(r):
        r.macros.release = '1'
        r.macros.srpm = '%(name)s-%(version)s-%(release)s.src.rpm'
        r.addSource('bar', rpm='%(srpm)s')
        r.addSource('baz', rpm='%(srpm)s')
 N/A recipe2 
class foo(PackageRecipe):
    name = 'foo'
    version = '1.0'
    clearBuildReqs()

    def setup(r):
        r.macros.release = '2'
        r.macros.srpm = '%(name)s-%(version)s-%(release)s.src.rpm'
        r.addSource('bar', rpm='%(srpm)s')
        r.addSource('baz', rpm='%(srpm)s')
 N/A N/A N/A self resetRepository N/A N/A self repos N/A N/A self openRepository N/A N/A N/A self resetWork N/A N/A N/A self resetCache N/A N/A N/A os chdir N/A self workDir N/A N/A N/A self newpkg foo N/A N/A N/A os chdir foo N/A N/A N/A self writeFile foo.recipe recipe1 N/A N/A N/A self addfile foo.recipe N/A N/A N/A self commit N/A N/A N/A self resetWork N/A N/A N/A os chdir N/A self workDir N/A N/A N/A self checkout foo N/A N/A N/A os chdir foo N/A N/A N/A self writeFile foo.recipe recipe2 N/A N/A N/A N/A N/A self commit N/A N/A N/A IOError N/A N/A N/A N/A N/A self resetWork N/A N/A N/A self resetCache N/A N/A N/A os chdir N/A self workDir N/A N/A N/A self cookItem N/A self repos N/A self cfg foo N/A testSourceTestSigCheck N/A N/A self N/A N/A N/A 
        Test signatures
         N/A recipestr1 
class TestSig1(PackageRecipe):
    name = 'distcc'
    version = '2.9'
    clearBuildReqs()
    
    def setup(r):
        r.addArchive('distcc-2.9.tar.bz2', keyid='A0B3E88B')
        r.addArchive('tmpwatch-2.9.0.tar.gz', rpm='tmpwatch-2.9.0-2.src.rpm', keyid='sdds', dir='new-subdir')
 mockedDownloadPublicKey N/A N/A slf N/A N/A N/A N/A N/A slf keyid A0B3E88B N/A N/A f N/A file N/A N/A N/A os path join N/A N/A resources get_archive 0xA0B3E88B.pgp N/A N/A N/A openpgpfile parseAsciiArmorKey f N/A N/A N/A source SourceError N/A Failed to retrieve PGP key %s N/A slf keyid N/A N/A N/A N/A self mock N/A source _Source _downloadPublicKey mockedDownloadPublicKey N/A N/A N/A util rmtree N/A self buildDir ignore_errors True N/A N/A N/A self resetWork N/A N/A N/A N/A self logFilter add N/A N/A built d N/A N/A self buildRecipe recipestr1 TestSig1 N/A N/A N/A N/A self logFilter remove N/A N/A N/A N/A self logFilter compare N/A warning: No GPG signature file found for tmpwatch-2.9.0.tar.gz error: No files were found to add to package distcc N/A recipestr2 
class TestSig2(PackageRecipe):
    name = 'distcc'
    version = '2.9'
    clearBuildReqs()
    def setup(r):
        r.addArchive('distcc-2.9.tar.bz2', keyid='BADBAD')
 N/A N/A N/A self resetWork N/A N/A N/A self assertRaises N/A source SourceError N/A self buildRecipe recipestr2 TestSig2 N/A testSourceTestSigCheckFailedDownload N/A N/A self N/A N/A N/A 
        Test a download failure for the key
         N/A recipestr1 
class TestSig1(PackageRecipe):
    name = 'distcc'
    version = '2.9'
    clearBuildReqs()

    def setup(r):
        r.addArchive('distcc-2.9.tar.bz2', keyid='A0B3E88B')
        r.Create("/usr/foo", contents="Bar!!!\n")
 conary.repository transport N/A listcounter N/A mockedDoDownloadPublicKey N/A N/A slf keyServer lc N/A listcounter N/A N/A N/A N/A lc append None N/A N/A N/A len lc 7 N/A N/A N/A N/A transport TransportError Blah! N/A f N/A file N/A N/A N/A os path join N/A N/A resources get_archive 0xA0B3E88B.pgp N/A data N/A N/A openpgpfile parseAsciiArmorKey f N/A data N/A N/A N/A N/A self mock N/A source _Source _doDownloadPublicKey mockedDoDownloadPublicKey N/A N/A N/A util rmtree N/A self buildDir ignore_errors True N/A N/A N/A self resetWork N/A N/A N/A N/A self logFilter add N/A N/A built d N/A N/A self buildRecipe recipestr1 TestSig1 prep True N/A N/A N/A N/A self logFilter remove N/A N/A N/A self assertEqual N/A len listcounter 7 N/A testDontCheckKeyOfCommitedSource N/A N/A self N/A N/A N/A recipestr1 
class TestSig1(PackageRecipe):
    name = 'distcc'
    version = '2.9'
    clearBuildReqs()

    def setup(r):
        r.addArchive('distcc-2.9.tar.bz2', keyid='A0B3E88B')
        r.Create("/usr/foo", contents="Bar!!!\n")
 N/A listcounter N/A _checkSignature N/A N/A self file N/A N/A N/A N/A N/A listcounter append None N/A N/A N/A N/A N/A self mock N/A source _Source checkSignature _checkSignature N/A N/A N/A os chdir N/A self workDir N/A N/A N/A self newpkg distcc N/A N/A N/A os chdir distcc N/A N/A N/A self writeFile distcc.recipe recipestr1 N/A N/A N/A self addfile distcc.recipe N/A N/A N/A self commit N/A listcounter N/A N/A listcounter N/A N/A N/A N/A listcounter N/A N/A N/A self cookItem N/A N/A self openRepository N/A self cfg distcc requireCleanSources True N/A N/A listcounter N/A testSourceTestApplyMacros N/A N/A self N/A N/A N/A 
        Test applymacros
         N/A recipestr1 
class TestApplyMacrosPatch(PackageRecipe):
    name = 'tmpwatch'
    version = '2.9.0'
    clearBuildReqs()

    def cleanup(r, builddir, destdir):
        pass
    
    def setup(r):
        # avoid cleanup
        r.addArchive('tmpwatch-2.9.0.tar.gz', rpm='tmpwatch-2.9.0-2.src.rpm')
        # test applying a patch
        r.macros.bugid = 'BUGID'
        r.addPatch('tmpwatch.fakebug.patch', macros=True)
 N/A N/A N/A self resetWork N/A N/A built d N/A N/A self buildRecipe recipestr1 TestApplyMacrosPatch N/A rv N/A N/A self findInFile N/A N/A util joinPaths N/A self buildDir tmpwatch/tmpwatch-2.9.0/tmpwatch.c BUGID N/A N/A rv -1 N/A testSourceApplyMacros2 N/A N/A self N/A N/A N/A 
        Test applymacros
         N/A recipestr1 
class TestApplyMacrosSource(PackageRecipe):
    name = 'tmpwatch'
    version = '2.9.0'
    clearBuildReqs()

    def cleanup(r, builddir, destdir):
        pass
    
    def setup(r):
        # avoid cleanup
        r.macros.sourcemacros = 'source-apply-macros'
        r.addSource('myfile', contents="%(sourcemacros)s %(destdir)s",
                                                        macros=True)
        r.macros.a = 'XXX'
        r.macros.b = 'YYY'
        r.macros.c = 'ZZZ'
        r.addSource('sourcefile', macros=True, mode=0676)
 N/A N/A N/A self resetWork N/A N/A built d N/A N/A self buildRecipe recipestr1 TestApplyMacrosSource N/A rv N/A N/A self findInFile N/A N/A util joinPaths N/A self buildDir tmpwatch/tmpwatch-2.9.0/myfile source-apply-macros N/A N/A rv -1 N/A rv N/A N/A self findInFile N/A N/A util joinPaths N/A self buildDir tmpwatch/tmpwatch-2.9.0/myfile N/A N/A N/A self cfg buildPath /tmpwatch/_ROOT_ N/A N/A rv -1 N/A rv N/A N/A self findInFile N/A N/A util joinPaths N/A self buildDir tmpwatch/tmpwatch-2.9.0/sourcefile XXX YYY ZZZ N/A N/A rv -1 N/A N/A N/A N/A N/A N/A os stat N/A N/A util joinPaths N/A self buildDir tmpwatch/tmpwatch-2.9.0/sourcefile N/A N/A stat ST_MODE 4095 446 N/A testPatchFilter N/A N/A self N/A N/A N/A recipestr 
class TestPatchFilter(PackageRecipe):
    name = 'test'
    version = '1'
    clearBuildReqs()

    def setup(r):
        # avoid cleanup
        r.addSource('unpatched1')
        r.addSource('unpatched2')
        r.addPatch('patchToFilter.patch')
 N/A N/A N/A self assertRaises N/A source SourceError N/A self buildRecipe recipestr TestPatchFilter N/A recipestr 
class TestPatchFilter(PackageRecipe):
    name = 'test'
    version = '1'
    clearBuildReqs()

    def setup(r):
        # avoid cleanup
        r.addSource('unpatched1')
        r.addSource('unpatched2')
        r.addPatch('patchToFilter.patch', filter='sed s/Oops// |cat | cat')
 N/A N/A N/A self buildRecipe recipestr TestPatchFilter N/A testAction N/A N/A self N/A N/A N/A recipestr1 
class TestAction(PackageRecipe):
    name = 'tmpwatch'
    version = '2.9.0'
    clearBuildReqs()

    def cleanup(r, builddir, destdir):
        pass

    def setup(r):
        r.addAction('mkdir asdf')
        r.addAction('touch foo', dir='asdf')
 N/A N/A N/A self resetWork N/A N/A built d N/A N/A self buildRecipe recipestr1 TestAction N/A N/A N/A os stat N/A N/A util joinPaths N/A self buildDir tmpwatch/tmpwatch-2.9.0/asdf/foo N/A findInFile N/A N/A self filename key N/A N/A N/A f N/A open filename N/A contents N/A N/A f read N/A N/A N/A contents find key N/A testAutoSourcePermissions N/A N/A self N/A N/A N/A permsRecipe class TestPerms(PackageRecipe):
    name = 'test'
    version = '1.0'
    clearBuildReqs()

    def setup(r):
        r.addSource('dc_client.init', rpm='distcache-1.4.5-2.src.rpm')
        r.Run('test -x dc_client.init')
        # get rid of "cowardlily refusing" message
        r.Create('/foo')
 N/A N/A N/A self resetWork N/A N/A N/A self resetRepository N/A N/A self repos N/A N/A self openRepository N/A origDir N/A N/A os getcwd N/A N/A N/A os chdir N/A self workDir N/A N/A N/A self newpkg test N/A N/A N/A os chdir test N/A N/A N/A self writeFile test.recipe permsRecipe N/A N/A N/A self addfile test.recipe N/A N/A N/A self commit N/A N/A N/A os chdir .. N/A N/A N/A shutil rmtree test N/A N/A N/A os chdir origDir N/A N/A N/A self resetCache N/A N/A N/A self cookItem N/A self repos N/A self cfg test requireCleanSources False N/A testAutoMainDir N/A N/A self N/A N/A N/A 
        Test mainDir automagic guessing.
         N/A recipestr1 
class TestSource(PackageRecipe):
    name = 'test'
    version = '1'
    clearBuildReqs()
    
    def setup(r):
        # asdf.tar.gz contains asdf/fdsa and bam, not test-1/fdsa
        r.addArchive('asdf.tar.gz')
        # the next line will only work if mainDir was auto-set to asdf
        r.Install('fdsa', '/')
 N/A N/A built d N/A N/A self buildRecipe recipestr1 TestSource N/A recipestr2 
class TestSource(PackageRecipe):
    name = 'test'
    version = '1'
    clearBuildReqs()
    
    def setup(r):
        # asdf.tar.gz contains asdf/fdsa and bam, not test-1/fdsa
        r.addArchive('asdf.tar.gz', dir='blah')
        # the next line will only work if mainDir was auto-set to blah
        r.Install('asdf/fdsa', '/')
 N/A N/A built d N/A N/A self buildRecipe recipestr2 TestSource N/A recipestr3 
class TestSource(PackageRecipe):
    name = 'foo'
    version = '1.0'
    clearBuildReqs()
    
    def setup(r):
        # foo-1.0.tar.gz has foo-1.0/a and blah/b
        r.addArchive('foo-1.0.tar.gz')
        r.Install('a', '/')
 N/A N/A built d N/A N/A self buildRecipe recipestr3 TestSource N/A recipestr4 
class TestSource(PackageRecipe):
    name = 'foo'
    version = '1.0'
    clearBuildReqs()
    
    def setup(r):
        # foo-1.0.tar.gz has foo-1.0/a and blah/b
        r.addArchive('foo-1.0&;.tar.gz')
        r.Install('a', '/')
 N/A N/A built d N/A N/A self buildRecipe recipestr4 TestSource N/A testAutoMainDirGuessFailure N/A N/A self N/A N/A N/A recipestr 
class TestSource(PackageRecipe):
    name = 'foo'
    version = '1.0'
    clearBuildReqs()
    
    def setup(r):
        # foo-1.0.tar.gz has foo-1.0/a and blah/b
        r.addSource('macros')
        r.addArchive('distcc-2.9.tar.bz2')
 N/A N/A N/A self assertRaises N/A source SourceError N/A self buildRecipe recipestr TestSource N/A testSourceMagic N/A N/A self N/A N/A N/A d N/A N/A tempfile mkdtemp N/A N/A N/A N/A N/A shutil copyfile N/A N/A N/A resources get_archive /asdf.tar.gz N/A d /asdf N/A N/A N/A self cfg sourceSearchDir d N/A r N/A N/A policytest DummyRecipe N/A self cfg N/A N/A N/A os mkdir N/A N/A / join N/A N/A N/A r macros builddir N/A r theMainDir N/A a N/A N/A source Archive r asdf N/A N/A N/A a doAction N/A N/A N/A N/A os path isdir N/A N/A N/A r macros builddir /asdf N/A N/A N/A N/A os path isfile N/A N/A N/A r macros builddir /asdf/fdsa N/A N/A N/A N/A shutil rmtree d N/A testAddBadPatch N/A N/A self N/A N/A N/A recipestr1 class PatchTest(PackageRecipe):
    name = 'test'
    version = '1.0'
    clearBuildReqs()

    def setup(r):
        r.addArchive('tmpwatch-2.9.0.tar.gz', rpm='tmpwatch-2.9.0-2.src.rpm')
        r.addPatch('unrelated.patch')
 N/A N/A N/A N/A self logFilter add N/A rc N/A N/A self captureOutput N/A self buildRecipe recipestr1 PatchTest _returnException True logLevel N/A log INFO N/A N/A N/A N/A self logFilter remove N/A msg N/A N/A join N/A x N/A x N/A N/A self logFilter records N/A patch x N/A expected + attempting to apply /unrelated.patch to /test/tmpwatch-2.9.0/ with patch level(s) 1, 0, 2, 3
+ patch did not apply with --dry-run, trying level 1 directly
+ patch level 1 FAILED
+ can't find file to patch at input line 3
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|--- foo1	2006-06-19 21:52:47.000000000 -0400
|+++ foo2	2006-06-19 21:52:50.000000000 -0400
--------------------------
File to patch: 
Skip this patch? [y] 
Skipping patch.
1 out of 1 hunk ignored
+ patch level 0 FAILED
+ can't find file to patch at input line 3
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|--- foo1	2006-06-19 21:52:47.000000000 -0400
|+++ foo2	2006-06-19 21:52:50.000000000 -0400
--------------------------
File to patch: 
Skip this patch? [y] 
Skipping patch.
1 out of 1 hunk ignored
+ patch level 2 FAILED
+ can't find file to patch at input line 3
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|--- foo1	2006-06-19 21:52:47.000000000 -0400
|+++ foo2	2006-06-19 21:52:50.000000000 -0400
--------------------------
File to patch: 
Skip this patch? [y] 
Skipping patch.
1 out of 1 hunk ignored
+ patch level 3 FAILED
+ can't find file to patch at input line 3
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|--- foo1	2006-06-19 21:52:47.000000000 -0400
|+++ foo2	2006-06-19 21:52:50.000000000 -0400
--------------------------
File to patch: 
Skip this patch? [y] 
Skipping patch.
1 out of 1 hunk ignored
error: could not apply patch /unrelated.patch in directory /test/tmpwatch-2.9.0/ N/A msg N/A N/A msg replace N/A self buildDir N/A msg N/A N/A msg replace N/A self sourceSearchDir N/A msg N/A N/A msg replace missing header for unified diff at line 3 of patch
 N/A N/A N/A self assertEqual msg expected N/A N/A N/A N/A rc N/A 0 __class__ N/A source SourceError N/A N/A N/A N/A self fail expected SourceError exception not raised N/A N/A rc N/A 1 N/A N/A N/A N/A self fail N/A unexpected output: %s N/A rc N/A 1 N/A testAddGoodPatch N/A N/A self N/A N/A N/A recipestr1 class PatchTest(PackageRecipe):
    name = 'test'
    version = '1.0'
    clearBuildReqs()

    def setup(r):
        r.addArchive('tmpwatch-2.9.0.tar.gz', rpm='tmpwatch-2.9.0-2.src.rpm')
        r.addPatch('tmpwatch.fakebug.patch')
 N/A N/A N/A N/A self logFilter add N/A rc N/A N/A self captureOutput N/A self buildRecipe recipestr1 PatchTest logLevel N/A log INFO N/A N/A N/A N/A self logFilter remove N/A msg N/A N/A join N/A x N/A x N/A N/A self logFilter records N/A patch x N/A expected + attempting to apply /tmpwatch.fakebug.patch to /test/tmpwatch-2.9.0/ with patch level(s) 1, 0, 2, 3
+ patching file tmpwatch.c
+ applied successfully with patch level 1 N/A msg N/A N/A msg replace N/A self buildDir N/A msg N/A N/A msg replace N/A self sourceSearchDir N/A N/A N/A self assertEqual msg expected N/A N/A rc N/A 1 N/A N/A N/A N/A self fail N/A unexpected output: %s N/A rc N/A 1 N/A testAddGoodLevel0Patch N/A N/A self N/A N/A N/A recipestr1 class PatchTest(PackageRecipe):
    name = 'test'
    version = '1.0'
    clearBuildReqs()

    def setup(r):
        r.addArchive('tmpwatch-2.9.0.tar.gz', rpm='tmpwatch-2.9.0-2.src.rpm')
        r.addPatch('tmpwatch.fakebug.level0.patch')
 N/A N/A N/A N/A self logFilter add N/A rc N/A N/A self captureOutput N/A self buildRecipe recipestr1 PatchTest logLevel N/A log INFO N/A N/A N/A N/A self logFilter remove N/A msg N/A N/A join N/A x N/A x N/A N/A self logFilter records N/A patch x N/A expected + attempting to apply /tmpwatch.fakebug.level0.patch to /test/tmpwatch-2.9.0/ with patch level(s) 1, 0, 2, 3
+ patching file tmpwatch.c
+ applied successfully with patch level 0 N/A msg N/A N/A msg replace N/A self buildDir N/A msg N/A N/A msg replace N/A self sourceSearchDir N/A N/A N/A self assertEqual msg expected N/A N/A rc N/A 1 N/A N/A N/A N/A self fail N/A unexpected output: %s N/A rc N/A 1 N/A testAddGoodButRejectedPatch N/A N/A self N/A N/A N/A recipestr1 class PatchTest(PackageRecipe):
    name = 'test'
    version = '1.0'
    clearBuildReqs()

    def setup(r):
        r.addArchive('tmpwatch-2.9.0.tar.gz', rpm='tmpwatch-2.9.0-2.src.rpm')
        r.addPatch('tmpwatch.fakebug.rej.patch')
 N/A N/A N/A N/A self logFilter add N/A rc N/A N/A self captureOutput N/A self buildRecipe recipestr1 PatchTest _returnException True logLevel N/A log INFO N/A N/A N/A N/A self logFilter remove N/A msg N/A N/A join N/A x N/A x N/A N/A self logFilter records N/A patch x N/A expected + attempting to apply /tmpwatch.fakebug.rej.patch to /test/tmpwatch-2.9.0/ with patch level(s) 1, 0, 2, 3
+ patch did not apply with --dry-run, trying level 1 directly
+ patch level 1 FAILED
+ patching file tmpwatch.c
Hunk #1 FAILED at 419.
1 out of 1 hunk FAILED -- saving rejects to file tmpwatch.c.rej
+ patch level 0 failed - probably wrong level
+ patch level 2 failed - probably wrong level
+ patch level 3 failed - probably wrong level
error: could not apply patch /tmpwatch.fakebug.rej.patch in directory /test/tmpwatch-2.9.0/ N/A msg N/A N/A msg replace N/A self buildDir N/A msg N/A N/A msg replace N/A self sourceSearchDir N/A N/A N/A self assertEqual msg expected N/A N/A rc N/A 1 N/A N/A N/A N/A self fail N/A unexpected output: %s N/A rc N/A 1 N/A N/A N/A N/A os path exists N/A N/A self buildDir /test/tmpwatch-2.9.0/tmpwatch.c.rej N/A testAddPartiallyApplicablePatch N/A N/A self N/A N/A N/A recipestr1 class PatchTest(PackageRecipe):
    name = 'test'
    version = '1.0'
    clearBuildReqs()

    def setup(r):
        contents = '\n'.join(str(x) for x in range(1, 21)) + '\n'
        r.addSource('foo', contents=contents)
        r.addSource('bar', contents=contents)
        r.addAction('mkdir subdir; cp foo subdir/; touch subdir/bar')
        r.addPatch('partial.patch')
 N/A N/A N/A N/A self logFilter add N/A rc N/A N/A self captureOutput N/A self buildRecipe recipestr1 PatchTest _returnException True logLevel N/A log INFO N/A N/A N/A N/A self logFilter remove N/A N/A change N/A N/A N/A open N/A N/A self buildDir /test/test-1.0/subdir/foo read N/A N/A change N/A N/A N/A open N/A N/A self buildDir /test/test-1.0/foo read N/A testPatchSameFileTwiceInOnePatch N/A N/A self N/A N/A N/A recipestr1 class PatchTest(PackageRecipe):
    name = 'test'
    version = '1.0'
    clearBuildReqs()

    def setup(r):
        contents = '\n'.join(str(x) for x in range(1, 11)) + '\n'
        r.addSource('foo', contents=contents)
        r.addPatch('patches/foo.patch')
 N/A N/A N/A N/A self logFilter add N/A rc N/A N/A self captureOutput N/A self buildRecipe recipestr1 PatchTest logLevel N/A log INFO N/A N/A N/A N/A self logFilter remove N/A N/A 444 N/A N/A N/A open N/A N/A self buildDir /test/test-1.0/foo read N/A recipestr1 N/A N/A recipestr1 replace foo.patch' foo.patch', level=1 N/A N/A N/A shutil rmtree N/A N/A self buildDir /test N/A rc N/A N/A self captureOutput N/A self buildRecipe recipestr1 PatchTest logLevel N/A log INFO N/A N/A 444 N/A N/A N/A open N/A N/A self buildDir /test/test-1.0/foo read N/A testLargePatch N/A N/A self N/A N/A N/A recipestr1 class PatchTest(PackageRecipe):
    name = 'test'
    version = '1.0'
    clearBuildReqs()

    def setup(r):
        r.addArchive('tmpwatch-2.9.0.tar.gz', rpm = 'tmpwatch-2.9.0-2.src.rpm')
        r.addPatch('tmpwatch-2.9.0.tar.gz', rpm = 'tmpwatch-2.9.0-2.src.rpm')
 N/A N/A N/A self assertRaises N/A source SourceError N/A self captureOutput N/A self buildRecipe recipestr1 PatchTest N/A testMissingPatchProgram N/A N/A self N/A N/A N/A recipestr class PatchTest(PackageRecipe):
    name = 'test'
    version = '1.0'
    clearBuildReqs()

    def setup(r):
        r.addPatch('tmpwatch.fakebug.patch', patchName='noSuchPatchProgram')
 N/A N/A N/A N/A self logFilter add N/A N/A N/A self assertRaises N/A source SourceError N/A self buildRecipe recipestr PatchTest N/A N/A N/A N/A self logFilter remove N/A N/A N/A N/A self logFilter compare N/A warning: Failed to find possible build requirement for path "noSuchPatchProgram" N/A testTarPermissions N/A N/A self N/A N/A N/A r N/A N/A policytest DummyRecipe N/A self cfg N/A N/A N/A os mkdir N/A N/A / join N/A N/A N/A r macros builddir N/A r theMainDir N/A a N/A N/A source Archive r group-write.tar.gz dir / N/A N/A N/A a doAction N/A sb N/A N/A os stat N/A N/A N/A r macros destdir /foo/foo N/A N/A N/A sb st_mode N/A stat S_IWGRP N/A testDeb N/A N/A self N/A N/A N/A r N/A N/A policytest DummyRecipe N/A self cfg N/A N/A N/A os mkdir N/A N/A / join N/A N/A N/A r macros builddir N/A r theMainDir N/A a N/A N/A source Archive r bash.deb dir / N/A N/A N/A a doAction N/A N/A N/A self assertTrue N/A N/A N/A os path isfile N/A N/A N/A r macros destdir /bin/bash N/A N/A N/A self assertTrue N/A N/A N/A os path islink N/A N/A N/A r macros destdir /bin/sh N/A testBzipDeb N/A N/A self N/A N/A N/A r N/A N/A policytest DummyRecipe N/A self cfg N/A N/A N/A os mkdir N/A N/A / join N/A N/A N/A r macros builddir N/A r theMainDir N/A a N/A N/A source Archive r test.deb dir / N/A N/A N/A a doAction N/A N/A N/A self assertTrue N/A N/A N/A os path isfile N/A N/A N/A r macros destdir /testme N/A testLZMADeb N/A N/A self N/A N/A N/A r N/A N/A policytest DummyRecipe N/A self cfg N/A N/A N/A os mkdir N/A N/A / join N/A N/A N/A r macros builddir N/A r theMainDir N/A a N/A N/A source Archive r testlzma.deb dir / N/A N/A N/A a doAction N/A N/A N/A self assertTrue N/A N/A N/A os path isfile N/A N/A N/A r macros destdir /testme N/A N/A N/A decorators requireBinary xz testBzipDebControl N/A N/A self N/A N/A N/A r N/A N/A policytest DummyRecipe N/A self cfg N/A N/A N/A os mkdir N/A N/A / join N/A N/A N/A r macros builddir N/A r theMainDir N/A a N/A N/A source Archive r test.deb debArchive control.tar dir / N/A N/A N/A a doAction N/A N/A N/A self assertTrue N/A N/A N/A os path isfile N/A N/A N/A r macros destdir /controlData N/A testEmptyDeb N/A N/A self N/A N/A N/A r N/A N/A policytest DummyRecipe N/A self cfg N/A N/A N/A os mkdir N/A N/A / join N/A N/A N/A r macros builddir N/A r theMainDir N/A a N/A N/A source Archive r testempty.deb dir / N/A N/A N/A self assertRaises N/A source SourceError N/A a doAction N/A testAllPermissionsRetention N/A N/A self N/A N/A N/A recipestr 
class TestTar(PackageRecipe):
    name = 'foo'
    version = '1.0'
    clearBuildReqs()

    def setup(r):
        r.addArchive('allperms.tar', dir = '/tar',
                     preserveOwnership = True,
                     preserveSetid = True,
                     preserveDirectories = True)
        r.ExcludeDirectories(exceptions = [ '.*/foo' ] )
 N/A N/A built d N/A N/A self buildRecipe recipestr TestTar N/A trvInfo N/A N/A N/A built N/A 0 N/A 0 N/A VFS N/A N/A built N/A 0 N/A 1 N/A N/A built N/A 0 N/A 2 N/A repos N/A N/A self openRepository N/A cs N/A N/A repos createChangeSet N/A N/A N/A trvInfo N/A 0 N/A None None N/A N/A trvInfo N/A 1 N/A trvInfo N/A 2 True N/A trvCs N/A N/A cs getNewTroveVersion trvInfo N/A trv N/A N/A trovemod Trove trvCs N/A actual N/A N/A N/A pathId path fileId version N/A N/A trv iterFileList N/A N/A stream N/A N/A cs getFileChange None fileId N/A fObj N/A N/A files ThawFile stream pathId N/A N/A actual N/A path N/A N/A N/A N/A fObj inode owner N/A N/A N/A fObj inode group N/A N/A N/A fObj inode permsString N/A expected N/A /tar/allperms/empty /tar/allperms/normaldir/normalfile /tar/allperms/permsdir /tar/allperms/permsdir/notempty /tar/allperms/owneddir /tar/allperms/owneddir/ownedfile /tar/allperms/setuid /tar/allperms/setgid /tar/allperms/setudir /tar/allperms/setgdir N/A root root rwxr-xr-x N/A root root rw-r--r-- N/A root root rwx------ N/A root root rw-r--r-- N/A bin daemon rwxr-xr-x N/A nobody nobody rw-r--r-- N/A bin daemon rwsr-xr-x N/A bin daemon rwxr-sr-x N/A root root rwsr-xr-x N/A root root rwxr-sr-x N/A N/A actual expected N/A N/A l N/A N/A extra N/A sorted N/A list N/A N/A set N/A N/A actual keys N/A set N/A N/A expected keys N/A m extra N/A N/A N/A N/A l append N/A %s is extra m N/A path N/A N/A actual keys N/A N/A N/A N/A path expected N/A N/A actual N/A path N/A expected N/A path N/A N/A N/A N/A l append N/A %s should be %s:%s %s but is %s:%s %s N/A N/A N/A path N/A expected N/A path N/A actual N/A path N/A missing N/A sorted N/A list N/A N/A set N/A N/A expected keys N/A set N/A N/A actual keys N/A m missing N/A N/A N/A N/A l append N/A %s is missing m N/A msg N/A N/A join l N/A N/A N/A self fail msg N/A testOwnershipRetention N/A N/A self N/A N/A N/A recipestr 
class TestTar(PackageRecipe):
    name = 'foo'
    version = '1.0'
    clearBuildReqs()

    def setup(r):
        r.addArchive('ownerships.tar', dir = '/tar',
                     preserveOwnership = True)
#        r.addArchive('ownerships.cpio.gz', dir = '/cpio',
#                     preserveOwnership = True)
#        r.addArchive('ownerships.cpio.gz', dir = '/',
#                     preserveOwnership = True)
        r.addArchive('ownerships-1.0-1.i386.rpm', dir = '/rpm',
                     preserveOwnership = True)
        r.addArchive('dotslashownerships.tar', dir = '/dotslash',
                     preserveOwnership = True)
        r.addArchive('ownerships_spaces.tar', dir='/spaces',
                preserveOwnership=True)
        r.ExcludeDirectories(exceptions = [ '.*/foo', '/spaces/.*' ] )
 N/A N/A built d N/A N/A self buildRecipe recipestr TestTar N/A trvInfo N/A N/A N/A built N/A 0 N/A 0 N/A VFS N/A N/A built N/A 0 N/A 1 N/A N/A built N/A 0 N/A 2 N/A repos N/A N/A self openRepository N/A cs N/A N/A repos createChangeSet N/A N/A N/A trvInfo N/A 0 N/A None None N/A N/A trvInfo N/A 1 N/A trvInfo N/A 2 True N/A trvCs N/A N/A cs getNewTroveVersion trvInfo N/A trv N/A N/A trovemod Trove trvCs N/A actual N/A N/A N/A pathId path fileId version N/A N/A trv iterFileList N/A N/A stream N/A N/A cs getFileChange None fileId N/A fObj N/A N/A files ThawFile stream pathId N/A N/A actual N/A path N/A N/A N/A N/A fObj inode owner N/A N/A N/A fObj inode group N/A expected N/A /rpm/foo /rpm/foo/first /rpm/foo/fourth /rpm/foo/second /rpm/foo/third /tar/foo /tar/foo/first /tar/foo/fourth /tar/foo/second /tar/foo/third /dotslash/foo /dotslash/foo/first /dotslash/foo/fourth /dotslash/foo/second /dotslash/foo/third /spaces/without /spaces/without/bork bork /spaces/with spaces /spaces/with spaces/foo /spaces/with spaces/bar baz N/A ewt ewt N/A bin daemon N/A nobody nobody N/A postfix rmake N/A ident dovecot N/A msw msw N/A bin daemon N/A nobody nobody N/A ident dovecot N/A postfix rmake N/A msw msw N/A bin daemon N/A nobody nobody N/A postfix rmake N/A ident dovecot N/A nobody nobody N/A nobody nobody N/A nobody nobody N/A nobody nobody N/A nobody nobody N/A N/A actual expected N/A N/A l N/A N/A path N/A N/A actual keys N/A N/A N/A N/A actual N/A path N/A expected N/A path N/A N/A N/A N/A l append N/A %s should be %s:%s but is %s:%s N/A N/A N/A path N/A expected N/A path N/A actual N/A path N/A msg N/A N/A join l N/A N/A N/A self fail msg N/A recipestr 
class TestTar(PackageRecipe):
    name = 'foo'
    version = '1.0'
    clearBuildReqs()

    def setup(r):
        r.addArchive('ownerships.tar', preserveOwnership = True)
 N/A N/A N/A N/A N/A self buildRecipe recipestr TestTar N/A N/A N/A N/A source SourceError N/A e N/A N/A N/A N/A str e preserveOwnership, preserveSetid, and preserveDirectories not allowed when unpacking into build directory N/A N/A 0 N/A recipestr 
class TestTar(PackageRecipe):
    name = 'foo'
    version = '1.0'
    clearBuildReqs()

    def setup(r):
        r.addArchive('rrcd.iso', preserveOwnership = True, dir = '/')
 N/A N/A N/A N/A N/A self buildRecipe recipestr TestTar N/A N/A N/A N/A source SourceError N/A e N/A N/A N/A N/A str e cannot preserveOwnership, preserveSetid, or preserveDirectories for iso images N/A N/A 0 N/A recipestr 
class TestTar(PackageRecipe):
    name = 'foo'
    version = '1.0'
    clearBuildReqs()

    def setup(r):
        r.addArchive('ownerships.zip', preserveOwnership = True, dir = '/')
 N/A N/A N/A N/A N/A self buildRecipe recipestr TestTar N/A N/A N/A N/A source SourceError N/A e N/A N/A N/A N/A str e cannot preserveOwnership, preserveSetid, or preserveDirectories for xpi or zip archives N/A N/A 0 N/A testSourceLzop N/A N/A self N/A N/A N/A recipestr 
class TestSource(PackageRecipe):
    name = 'foo'
    version = '1.0'
    clearBuildReqs()

    def setup(r):
        r.addArchive('foo.tar.lzo', dir='/')
 N/A built N/A N/A N/A self buildRecipe recipestr TestSource N/A 0 N/A built N/A N/A N/A decorators requireBinary lzop N/A TestBadaddSource N/A N/A rephelp RepositoryHelper N/A testBadaddSource N/A N/A self N/A N/A N/A recipestr 
class Yo(PackageRecipe):
    name = 'yo'
    version = '1.3'
    clearBuildReqs()

    def setup(r):
        r.addSource('http://foo.bar.com/directory/', dest='/mumble/')
 N/A N/A N/A N/A N/A self buildRecipe recipestr Yo N/A N/A N/A N/A source SourceError N/A e N/A N/A N/A N/A str e cannot specify a directory as input to addSource N/A N/A False N/A testAddSourceDir N/A N/A self N/A N/A N/A recipeStr 
class TestAddSourceDir(PackageRecipe):
    name = 'addsource'
    version = '1.9'
    clearBuildReqs()

    def setup(r):
        r.addSource('test', sourceDir = '') Stop N/A Exception N/A N/A N/A mockDoDownload N/A N/A x N/A N/A N/A f N/A N/A x _findSource N/A x httpHeaders N/A N/A N/A self assertEquals f N/A N/A N/A os path join N/A x builddir N/A N/A N/A x recipe macros maindir test N/A Stop N/A mockFindAll N/A N/A N/A args kwargs N/A N/A N/A AssertionError lookaside cache should not have been used N/A N/A N/A N/A self mock N/A source addSource doDownload mockDoDownload N/A N/A N/A self mock lookaside findAll mockFindAll N/A N/A N/A self assertRaises Stop N/A self buildRecipe recipeStr TestAddSourceDir N/A testAddMaindirPatch N/A N/A self N/A N/A N/A recipestr 
class TestSource(PackageRecipe):
    name = 'tmpwatch'
    version = '2.9.0'
    clearBuildReqs()

    def setup(r):
        r.addArchive('tmpwatch-2.9.0.tar.gz', rpm='tmpwatch-2.9.0-2.src.rpm')
        r.addSource('mkinitrd.spec', rpm='rpm-with-bzip-5.0.29-1.src.rpm')
        r.addArchive('rpm-with-bzip-5.0.29-1.i386.rpm')

        # add patch file so it exists in builddir
        r.addArchive('tmpwatch.fakebug.patch.tgz', dir = '%(maindir)s')
        # test applying a patch using sourceDir
        r.addPatch('tmpwatch.fakebug.patch', sourceDir='') N/A N/A N/A self buildRecipe recipestr TestSource N/A testAddPatchGlob N/A N/A self N/A N/A N/A recipestr 
class TestSource(PackageRecipe):
    name = 'tmpwatch'
    version = '3.9.0'
    clearBuildReqs()

    def setup(r):
        r.addArchive('tmpwatch-2.9.0.tar.gz', rpm='tmpwatch-2.9.0-2.src.rpm')
        r.addSource('mkinitrd.spec', rpm='rpm-with-bzip-5.0.29-1.src.rpm')
        r.addArchive('rpm-with-bzip-5.0.29-1.i386.rpm')

        # add patch file so it exists in builddir
        r.addArchive('tmpwatch.fakebug.patch.tgz', dir = '%(maindir)s')
        # test applying a patch using globs and sourceDir
        r.addPatch('tmpwatch.fakebug.*', sourceDir='') N/A N/A N/A self buildRecipe recipestr TestSource N/A testAddPatchBadGlob N/A N/A self N/A N/A N/A recipestr 
class TestSource(PackageRecipe):
    name = 'tmpwatch'
    version = '2.4.0'
    clearBuildReqs()

    def setup(r):
        # test applying a patch using globs without sourceDir. this will fail
        r.addPatch('tmpwatch.fakebug.*') N/A N/A N/A N/A N/A self buildRecipe recipestr TestSource N/A N/A N/A OSError N/A e N/A N/A N/A N/A e errno 2 N/A N/A N/A N/A N/A self assertEquals N/A str e [Errno 2] No such file or directory: 'tmpwatch.fakebug.*' N/A N/A N/A N/A self fail addPatch on bad filename should have failed N/A testAddPatchSortOrder N/A N/A self N/A N/A TestAddPatch N/A N/A source addPatch N/A N/A sourceDir . __init__ N/A N/A x N/A N/A N/A N/A _findSource N/A N/A x httpArgs braceGlob N/A N/A False N/A N/A N/A 3 2 1 N/A N/A _checkSignature N/A N/A N/A N/A args kwargs None doFile N/A N/A x path N/A N/A N/A N/A N/A N/A self orderedCalls append path N/A N/A N/A N/A self orderedCalls N/A N/A addPatch N/A TestAddPatch N/A N/A N/A addPatch do N/A N/A N/A self assertEquals N/A self orderedCalls N/A 1 2 3 N/A _getHTTPServer N/A N/A self logFile N/A N/A FileHandler N/A N/A SimpleHTTPServer SimpleHTTPRequestHandler N/A N/A count 0 log_message N/A N/A slf N/A args kw N/A N/A N/A N/A N/A file logFile a write N/A %s
 N/A slf path N/A do_GET N/A N/A slf N/A N/A N/A N/A N/A N/A slf path endswith /count N/A N/A contentType text/plain N/A archpath N/A N/A self workDir /count N/A N/A FileHandler count 1 N/A N/A N/A N/A open archpath w write N/A %s
 N/A slf count N/A N/A N/A N/A N/A N/A slf path startswith /bad/ N/A N/A N/A N/A slf path endswith .tar.gz N/A N/A N/A N/A slf send_response 404 N/A N/A N/A slf end_headers N/A N/A N/A N/A N/A N/A slf path endswith .tar.gz N/A N/A archpath N/A N/A N/A os path join N/A N/A resources get_archive foo-1.0.tar.gz N/A contentType application/x-gzip N/A N/A archpath N/A N/A N/A os path join N/A self workDir foo.asc N/A N/A N/A N/A file archpath w+ write Pretend this is a PGP sig N/A contentType application/pgp-signature N/A fileSize N/A N/A N/A os stat archpath st_size N/A N/A N/A slf send_response 200 N/A N/A N/A slf send_header Content-Type contentType N/A N/A N/A slf send_header Content-Length fileSize N/A N/A N/A slf end_headers N/A N/A N/A util copyStream N/A open archpath N/A slf wfile N/A N/A N/A hs N/A N/A rephelp HTTPServerController FileHandler N/A hs N/A testAddArchiveMultiURL N/A N/A self N/A N/A N/A recipestr 
class Foo(PackageRecipe):
    name = 'foo'
    version = '1.0'
    clearBuildReqs()

    def setup(r):
        r.addArchive([
            "http://localhost:%(port)s/bad/",
            "http://localhost:%(port)s/good/",
        ], dir="/usr/share/foo/")
 N/A recipestrSrc 
class FooSrc(PackageRecipe):
    name = 'foosrc'
    version = '1.0'
    clearBuildReqs()

    def setup(r):
        r.addSource([
            "http://localhost:%(port)s/bad/foo-1.99.tar.gz",
            "http://localhost:%(port)s/good/",
        ], dir="/usr/share/foo/")
 N/A logFile N/A N/A N/A os path join N/A self workDir webserver.log N/A hs N/A N/A self _getHTTPServer logFile N/A N/A N/A trv N/A N/A self build N/A recipestr N/A dict port N/A hs port Foo N/A N/A N/A self assertEqual N/A sorted N/A N/A x N/A 1 N/A x N/A N/A trv iterFileList N/A sorted N/A /usr/share/foo/blah/b /usr/share/foo/bam /usr/share/foo/foo-1.0/a N/A recipestr2 N/A N/A recipestr replace good/ good/foo-1.1.tar.gz N/A trv N/A N/A self build N/A recipestr2 N/A dict port N/A hs port Foo N/A recipestr3 N/A N/A recipestr2 replace bad/ bad/blam-1.1.tar.gz N/A err N/A N/A self assertRaises N/A errors CookError N/A self build N/A recipestr3 N/A dict port N/A hs port Foo N/A strerr N/A str err N/A strerr N/A strerr N/A N/A N/A strerr find SourceError:  N/A N/A N/A self assertEqual strerr SourceError: Inconsistent archive names: 'blam-1.1.tar.gz' and 'foo-1.1.tar.gz' N/A recipeData N/A recipestrSrc N/A dict port N/A hs port N/A trv N/A N/A self build recipeData FooSrc N/A N/A N/A self assertEqual N/A N/A x N/A 1 N/A x N/A N/A trv iterFileList N/A /usr/share/foo/foo-1.99.tar.gz N/A N/A N/A os chdir N/A self workDir N/A N/A N/A self newpkg foosrc N/A N/A N/A os chdir foosrc N/A N/A N/A N/A open foosrc.recipe w write recipeData N/A N/A N/A self commit N/A N/A N/A N/A hs close N/A testAddArchivePassword N/A N/A self N/A N/A N/A recipestr 
class Foo(PackageRecipe):
    name = 'foo'
    version = '1.0'
    clearBuildReqs()

    def setup(r):
        r.addSource("http://foo:bar@localhost:%(port)s/good/count",
                     dest='/foo')
 N/A logFile N/A N/A N/A os path join N/A self workDir webserver.log N/A hs N/A N/A self _getHTTPServer logFile N/A N/A N/A N/A N/A os chdir N/A self workDir N/A N/A N/A self newpkg foo N/A N/A N/A os chdir foo N/A N/A N/A self writeFile foo.recipe N/A recipestr N/A dict port N/A hs port N/A N/A N/A self addfile foo.recipe N/A N/A N/A self commit N/A N/A N/A self refresh N/A N/A N/A self commit N/A xx N/A N/A self cookItem N/A N/A self openRepository N/A self cfg foo N/A N/A N/A self updatePkg foo N/A N/A N/A self assertEquals N/A N/A N/A open N/A N/A N/A self cfg root /foo read 2
 N/A N/A N/A N/A hs close N/A testMultiURLMirror N/A N/A self N/A N/A N/A recipestr 
class Foo(PackageRecipe):
    name = 'foo'
    version = '1.0'
    clearBuildReqs()

    def setup(r):
        r.addArchive([
            "mirror://alif/%(rest)s",
            "mirror://ba/%(rest)s",
        ], dir="/usr/share/foo/")
 N/A logFile N/A N/A N/A os path join N/A self workDir webserver.log N/A hs N/A N/A self _getHTTPServer logFile N/A mirrorsDir N/A N/A N/A os path join N/A self workDir mirrors N/A N/A N/A util mkdirChain mirrorsDir N/A N/A N/A N/A file N/A N/A N/A os path join mirrorsDir alif w write N/A http://localhost:%s/bad/b1/
http://localhost:%s/bad/b2/
 N/A N/A hs port N/A hs port N/A N/A N/A N/A file N/A N/A N/A os path join mirrorsDir ba w write N/A http://localhost:%s/bad/worst/
http://localhost:%s/good/
 N/A N/A hs port N/A hs port N/A N/A N/A self cfg mirrorDirs N/A mirrorsDir N/A N/A N/A trv N/A N/A self build N/A recipestr N/A dict rest Foo N/A N/A N/A self assertEqual N/A sorted N/A N/A x N/A 1 N/A x N/A N/A trv iterFileList N/A sorted N/A /usr/share/foo/blah/b /usr/share/foo/bam /usr/share/foo/foo-1.0/a N/A lines N/A N/A N/A x strip N/A x N/A open logFile N/A N/A N/A self assertEqual N/A lines N/A -1 /good/foo-1.0.tar.gz N/A badUrls N/A set N/A N/A N/A / join N/A N/A N/A x split / N/A 3 N/A x lines N/A N/A x startswith /bad/ N/A N/A N/A self assertEqual badUrls N/A set N/A /bad/b1 /bad/b2 /bad/worst N/A N/A file logFile w+ N/A N/A N/A util rmtree N/A self cacheDir ignore_errors True N/A trv N/A N/A self build N/A recipestr N/A dict rest %(name)s-%(version)s.tar.gz Foo N/A lines N/A N/A N/A x strip N/A x N/A open logFile N/A N/A N/A self assertEqual N/A lines N/A -1 /good/foo-1.0.tar.gz N/A badUrls N/A set N/A N/A N/A / join N/A N/A N/A x split / N/A 3 N/A x lines N/A N/A x startswith /bad/ N/A N/A N/A self assertEqual badUrls N/A set N/A /bad/b1 /bad/b2 /bad/worst N/A N/A N/A N/A hs close N/A testMirrorLookaside N/A N/A self N/A N/A N/A recipestr 
class Foo(PackageRecipe):
    name = 'foo'
    version = '1.0'
    clearBuildReqs()

    def setup(r):
        r.addArchive("mirror://alif/blah/", keyid = 'DEADBEEF',
                     dir="/usr/share/foo/")
 N/A logFile N/A N/A N/A os path join N/A self workDir webserver.log N/A hs N/A N/A self _getHTTPServer logFile N/A mirrorsDir N/A N/A N/A os path join N/A self workDir mirrors N/A N/A N/A util mkdirChain mirrorsDir N/A N/A N/A N/A file N/A N/A N/A os path join mirrorsDir alif w write N/A http://localhost:%s/bad/b1/
http://localhost:%s/good/b2/
 N/A N/A hs port N/A hs port N/A N/A N/A self cfg mirrorDirs N/A mirrorsDir N/A N/A N/A trv N/A N/A self build recipestr Foo N/A N/A N/A self assertEqual N/A sorted N/A N/A x N/A 1 N/A x N/A N/A trv iterFileList N/A sorted N/A /usr/share/foo/blah/b /usr/share/foo/bam /usr/share/foo/foo-1.0/a N/A lines N/A N/A N/A x strip N/A x N/A open logFile N/A goodLines N/A x N/A x lines N/A N/A N/A x startswith /good/ N/A N/A x endswith .tar.gz N/A N/A N/A self assertEqual goodLines N/A /good/b2/blah/foo-1.0.tar.gz N/A goodLines N/A x N/A x lines N/A N/A x endswith .tar.gz.sig N/A N/A N/A self assertEqual goodLines N/A /bad/b1/blah/foo-1.0.tar.gz.sig /good/b2/blah/foo-1.0.tar.gz.sig N/A N/A N/A N/A hs close N/A testRpmLookaside N/A N/A self N/A N/A N/A recipeStr 
class Foo(PackageRecipe):
    name = 'foo'
    version = '1.0'
    clearBuildReqs()

    def setup(r):
        # prove that the sourcedir level foo isn't even looked up if rpm is
        # specified
        r.addArchive('foo-1.0-1.src.rpm')
        r.addSource('foo', dir = '/bar', rpm = 'foo-1.0-1.src.rpm')
 N/A N/A N/A self addComponent foo:source=1 N/A N/A foo.recipe recipeStr N/A foo wrong stuff N/A foo-1.0-1.src.rpm N/A N/A N/A open N/A N/A N/A os path join N/A N/A resources get_archive foo-1.0-1.src.rpm read N/A client N/A N/A self getConaryClient N/A repos N/A N/A client getRepos N/A N/A built csf N/A N/A self cookItem repos N/A self cfg foo N/A nvf N/A built N/A 0 N/A nvf N/A N/A N/A repos findTrove None nvf N/A 0 N/A fileDict N/A N/A client getFilesFromTrove nvf N/A N/A N/A self assertNotEquals N/A N/A N/A fileDict N/A /bar/foo read wrong stuff N/A rpmLookaside N/A N/A N/A open N/A N/A N/A os path join N/A N/A self cfg lookaside =RPM_CONTENTS= foo foo-1.0-1.src.rpm foo read N/A N/A N/A self assertEquals rpmLookaside N/A fooLookasidePath N/A N/A N/A os path join N/A N/A self cfg lookaside foo foo N/A N/A N/A self assertFalse N/A N/A N/A os path exists fooLookasidePath foo file from sourcedir should not have been referenced. N/A N/A N/A testhelp context CNY-2627 testRpmLookaside2 N/A N/A self N/A N/A N/A recipeStr 
class Foo(PackageRecipe):
    name = 'foo'
    version = '1.0'
    clearBuildReqs()

    def setup(r):
        # now prove that both can be used at the same time
        r.addArchive('foo-1.0-1.src.rpm')
        # add the sorucedir foo first to "poison" the lookaside
        r.addSource('foo', dir = '/baz')
        r.addSource('foo', dir = '/bar', rpm = 'foo-1.0-1.src.rpm')
 N/A N/A N/A self addComponent foo:source=1 N/A N/A foo.recipe recipeStr N/A foo wrong stuff N/A foo-1.0-1.src.rpm N/A N/A N/A open N/A N/A N/A os path join N/A N/A resources get_archive foo-1.0-1.src.rpm read N/A client N/A N/A self getConaryClient N/A repos N/A N/A client getRepos N/A N/A built csf N/A N/A self cookItem repos N/A self cfg foo N/A nvf N/A built N/A 0 N/A nvf N/A N/A N/A repos findTrove None nvf N/A 0 N/A fileDict N/A N/A client getFilesFromTrove nvf N/A N/A N/A self assertNotEquals N/A N/A N/A fileDict N/A /bar/foo read wrong stuff N/A rpmLookaside N/A N/A N/A open N/A N/A N/A os path join N/A N/A self cfg lookaside =RPM_CONTENTS= foo foo-1.0-1.src.rpm foo read N/A N/A N/A self assertEquals rpmLookaside N/A fooLookasidePath N/A N/A N/A os path join N/A N/A self cfg lookaside foo foo N/A N/A N/A self assertEquals N/A N/A N/A open fooLookasidePath read wrong stuff N/A N/A N/A self assertEquals N/A N/A N/A fileDict N/A /baz/foo read wrong stuff N/A N/A N/A testhelp context CNY-2627 testRpmLookaside3 N/A N/A self N/A N/A N/A recipeStr 
class Foo(PackageRecipe):
    name = 'foo'
    version = '1.0'
    clearBuildReqs()

    def setup(r):
        # now prove that two rpm's can have distinct contents at once
        r.addArchive('foo-1.0-1.src.rpm')
        r.addArchive('foo-1.0-2.src.rpm')
        r.addSource('foo.spec', dir = '/1', rpm = 'foo-1.0-1.src.rpm')
        r.addSource('foo.spec', dir = '/2', rpm = 'foo-1.0-2.src.rpm')
 N/A N/A N/A self addComponent foo:source=1 N/A N/A foo.recipe recipeStr N/A foo.spec wrong stuff N/A foo-1.0-1.src.rpm N/A N/A N/A open N/A N/A N/A os path join N/A N/A resources get_archive foo-1.0-1.src.rpm read N/A foo-1.0-2.src.rpm N/A N/A N/A open N/A N/A N/A os path join N/A N/A resources get_archive foo-1.0-2.src.rpm read N/A client N/A N/A self getConaryClient N/A repos N/A N/A client getRepos N/A N/A built csf N/A N/A self cookItem repos N/A self cfg foo N/A nvf N/A built N/A 0 N/A nvf N/A N/A N/A repos findTrove None nvf N/A 0 N/A fileDict N/A N/A client getFilesFromTrove nvf N/A N/A N/A self assertTrue N/A Release: 1 N/A N/A N/A fileDict N/A /1/foo.spec read N/A N/A N/A self assertTrue N/A Release: 2 N/A N/A N/A fileDict N/A /2/foo.spec read N/A N/A N/A self assertEquals N/A set N/A N/A fileDict keys N/A set N/A /1/foo.spec /2/foo.spec N/A N/A N/A testhelp context CNY-2627 testRpmLookaside4 N/A N/A self N/A N/A N/A recipeStr 
class Foo(PackageRecipe):
    name = 'foo'
    version = '1.0'
    clearBuildReqs()

    def setup(r):
        # ensure missing files within the rpm respond sensibly
        r.addArchive('foo-1.0-1.src.rpm')
        r.addSource('notfound', dir = '/bar', rpm = 'foo-1.0-1.src.rpm')
 N/A N/A N/A self addComponent foo:source=1 N/A N/A foo.recipe recipeStr N/A foo wrong stuff N/A foo-1.0-1.src.rpm N/A N/A N/A open N/A N/A N/A os path join N/A N/A resources get_archive foo-1.0-1.src.rpm read N/A client N/A N/A self getConaryClient N/A repos N/A N/A client getRepos N/A err N/A N/A self assertRaises IOError N/A self cookItem repos N/A self cfg foo N/A N/A N/A self assertEquals N/A str err failed to extract source notfound from RPM foo-1.0-1.src.rpm N/A N/A N/A testhelp context CNY-2627 testRepositoryCookNoDownload N/A N/A self N/A N/A N/A recipestr 
class Foo(PackageRecipe):
    name = 'foo'
    version = '1.0'
    clearBuildReqs()

    def setup(r):
        # ensure missing files within the rpm respond sensibly
        r.addArchive('http://localhost:%(port)s/good/', dir = "/usr")
 N/A repos N/A N/A self openRepository N/A logFile N/A N/A N/A os path join N/A self workDir webserver.log N/A hs N/A N/A self _getHTTPServer logFile N/A N/A N/A origDir N/A N/A os getcwd N/A N/A N/A os chdir N/A self workDir N/A N/A N/A self newpkg foo N/A N/A N/A os chdir foo N/A N/A N/A self writeFile foo.recipe N/A recipestr N/A dict port N/A hs port N/A N/A N/A self addfile foo.recipe N/A N/A N/A self discardOutput N/A self commit N/A N/A N/A self assertEqual N/A N/A N/A x strip N/A x N/A file logFile N/A /good/foo-1.0.tar.bz2 /good/foo-1.0.tar.gz N/A N/A N/A util rmtree N/A N/A N/A os path join N/A self cacheDir NEGATIVE N/A N/A N/A self cookItem repos N/A self cfg foo N/A N/A N/A self assertEqual N/A N/A N/A x strip N/A x N/A file logFile N/A /good/foo-1.0.tar.bz2 /good/foo-1.0.tar.gz N/A N/A N/A N/A hs close N/A N/A N/A os chdir origDir N/A test_extractFilesFromXzRPM N/A N/A self N/A N/A N/A N/A N/A N/A N/A os path exists /usr/bin/xz N/A N/A N/A N/A testhelp SkipTestException The /usr/bin/xz binary is required to run this test N/A recipestr 
class XzRpmPackage(PackageRecipe):
    name = 'foo'
    version = '1.0'
    clearBuildReqs()

    def setup(r):
        # ensure missing files within the rpm respond sensibly
        r.addArchive('popt-1.13-6.fc12.i686.rpm', dir = '/')
 N/A N/A built d N/A N/A self buildRecipe recipestr XzRpmPackage N/A trvs N/A x N/A x built N/A N/A x N/A 0 foo:lib N/A trvs N/A N/A N/A x N/A 0 N/A VFS N/A x N/A 1 N/A x N/A 2 N/A x trvs N/A repos N/A N/A self openRepository N/A trv N/A N/A N/A repos getTroves trvs N/A 0 N/A N/A N/A self assertEqual N/A sorted N/A N/A N/A N/A os path basename N/A p N/A 1 N/A p N/A N/A trv iterFileList N/A libpopt.so.0 libpopt.so.0.0.0 N/A N/A