shell bypass 403
o
`b�� � @ s� d dl Z d dlZd dlZd dlmZ d dlmZ d dlZd dlZd dl Z d dl
mZ d dlm
Z
d dlmZ d dlmZ d dlmZ G d d
� d
�ZG dd� dej�ZG d
d� dej�ZG dd� dej�ZG dd� de�ZG dd� dej�ZG dd� de�ZG dd� de�ZG dd� dej�ZG dd� de�ZG dd� dej�Z G dd � d ej�Z!G d!d"� d"ej�Z"G d#d$� d$ej�Z#G d%d&� d&�Z$e�%e&ed'�d(�G d)d*� d*ej��Z'G d+d,� d,ej�Z(G d-d.� d.ej�Z)G d/d0� d0ej�Z*e+d1kr�e�,� dS dS )2� N)�StringIO)�
TemporaryFile)�support)�warnings_helper)�permutations)�dedent)�OrderedDictc @ � e Zd Zdd� ZdS )�BadIterablec C � t ��N��OSError��self� r �6/usr/local/python-3.10/lib/python3.10/test/test_csv.py�__iter__ � zBadIterable.__iter__N)�__name__�
__module__�__qualname__r r r r r r
� r
c @ s0 e Zd ZdZdd� Zdd� Zdd� Zdd � Zd
d� Zdd
� Z dd� Z
dd� Zdd� Zdd� Z
dd� Zdd� Zdd� Zdd� Zdd� Zd d!� Zd"d#� Zd$d%� Zd&d'� Zd(d)� Zd*d+� Zd,d-� Zejejejed.�d/d0� ���Z d1d2� Z!d3d4� Z"d5d6� Z#d7d8� Z$d9d:� Z%d;d<� Z&d=d>� Z'd?d@� Z(dAdB� Z)dCdD� Z*dES )F�Test_Csvz�
Test the underlying C csv parser in ways that are not appropriate
from the high level interface. Further tests of this nature are done
in TestDialectRegistry.
c C s� | � t|� | � t|d � | j t||dd� | j t||dd� | j t||dd� | � tj||d� | j t||d d� | j t||dd� | j t||dd� | j t||d d� | j t||dd� | j t||d d � | j t||tjd
d� | j t||tjd d� d S )Nr �Zbad_attr�� delimiterZXXZfoo� )� quotechar)�lineterminator��quoting� )r! r )�assertRaises� TypeError�csv�Error� QUOTE_ALL)r �ctor�argr r r �_test_arg_valid s$
�
�zTest_Csv._test_arg_validc C s$ | � tjg � | �ttjt� � d S r )r* r% �readerr# r r
r r r r �test_reader_arg_valid0 s zTest_Csv.test_reader_arg_validc C s4 | � tjt� � G dd� d�}| �ttj|� � d S )Nc @ s e Zd Zedd� �ZdS )z1Test_Csv.test_writer_arg_valid.<locals>.BadWriterc S r r r
r r r r �write7 s z7Test_Csv.test_writer_arg_valid.<locals>.BadWriter.writeN)r r r �propertyr- r r r r � BadWriter6 s r/ )r* r% �writerr r# r )r r/ r r r �test_writer_arg_valid4 s zTest_Csv.test_writer_arg_validc G s� ||� }| � |jjd� | �|jjd� | � |jjd � | � |jjd� | � |jjd� | � |jjt j
� | �|jjd� | �|jjd� | �
tt|jd� | �
tt|jdd� | �
tt|jd� | �
tt|jdd � d S ) N�,T�
�"Fr �:r! )�assertEqual�dialectr �assertIs�doublequote�
escapecharr r r! r% �
QUOTE_MINIMAL�skipinitialspace�strictr# �AttributeError�delattr�setattr)r r( �args�objr r r �_test_default_attrs<