forked from Felipe-Visgou/gitproj2
-
Notifications
You must be signed in to change notification settings - Fork 0
/
LERPARM.H
291 lines (224 loc) · 8.53 KB
/
LERPARM.H
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
#if ! defined( LerParm_ )
#define LerParm_
/***************************************************************************
*
* $MCD Módulo de definição: LER Ler parâmetros de comandos
*
* Arquivo gerado: LerParm.h
* Letras identificadoras: LER
*
* Nome da base de software: Arcabouço para a automação de testes de programas redigidos em C
* Arquivo da base de software: C:\AUTOTEST\PROJETOS\INSTRUM.BSW
*
* Projeto: INF 1301 / 1628 Automatização dos testes de módulos C
* Gestor: LES/DI/PUC-Rio
* Autores: avs
*
* $HA Histórico de evolução:
* Versão Autor Data Observações
* 4 avs 01/fev/2006 criar linguagem script simbólica
* 3 avs 08/dez/2004 uniformização dos exemplos
* 2 avs 07/jul/2003 unificação de todos os módulos em um só projeto
* 1 avs 16/abr/2003 início desenvolvimento
*
* $ED Descrição do módulo
* Le parâmetros contidos em um buffer.
* Os parâmetros podem ser simbólicos ou literais.
* Parâmetros simbólicos devem ser declarados antes de serem utilizados.
*
***************************************************************************/
#if defined( LerParm_OWN )
#define LerParm_EXT
#else
#define LerParm_EXT extern
#endif
/***** Declarações exportadas pelo módulo *****/
#define LER_DIM_NOME 32
#define LER_DIM_STRING 500
#define LER_DIM_BUFFER 250
/***********************************************************************
*
* $TC Tipo de dados: LER Condições de retorno
*
*
***********************************************************************/
typedef enum {
LER_CondRetOK ,
/* Ler retorno OK */
LER_CondRetNaoAbriu
/* Ler não abriu arquivo */
} LER_tpCondRet ;
/***** Dados exportados pelo módulo *****/
/* Estrutura de dados: *LER Dados globais públicos */
LerParm_EXT int LER_TamBuffer ;
/* Tamanho do string contido no buffer de leitura */
LerParm_EXT char LER_Buffer[ LER_DIM_BUFFER + 1 ] ;
/* Buffer de leitura */
/***********************************************************************
*
* $FC Função: LER &Inicializar módulo LerParm
*
* $ED Descrição da função
* Inicializa o módulo.
* Deve ser chamada antes de iniciar a análise de comandos.
* Deve ser chamada uma única vez no início ou após terminar o módulo.
*
***********************************************************************/
int LER_InicializarLeitura( void ) ;
/***********************************************************************
*
* $FC Função: LER &Obter nome do arquivo script
*
***********************************************************************/
char * LER_ObterNomeArqScript( void ) ;
/***********************************************************************
*
* $FC Função: LER &Interpretar comandos de teste
*
* $ED Descrição da função
* Interpreta os comandos de teste disponibilizados pelo módulo
* de leitura.
*
* Ver a descrição do módulo para mais detalhes
*
***********************************************************************/
TST_tpCondRet LER_InterpretarComandos( char * ComandoTeste ) ;
/***********************************************************************
*
* $FC Função: LER &Terminar módulo LerParm
*
***********************************************************************/
void LER_TerminarLeitura( void ) ;
/***********************************************************************
*
* $FC Função: LER &Abrir arquivo script de teste
*
* $ED Descrição da função
* Abre o arquivo que contém o script de teste.
* A extensão default do arquivo de comandos script de teste é
* ".script" e será acrescida ao nome do arquivo caso este não
* contenha nome de extensão.
*
* $EP Parâmetros
* $P NomeArqParm - nome do arquivo contendo o script de teste
*
* $FV Valor retornado
* LER_CondRetOK - caso tenha sido possível abrir o arquivo.
* LER_CondRetNaoAbriu - caso tenha ocorrido algum erro.
* Não há discriminação do erro encontrado.
*
***********************************************************************/
LER_tpCondRet LER_AbrirArquivoScript( char * NomeArqParm ) ;
/***********************************************************************
*
* $FC Função: LER &Fechar arquivo script
*
***********************************************************************/
void LER_FecharScript( void ) ;
/***********************************************************************
*
* $FC Função: LER &Declarar parâmetro simbólico
*
***********************************************************************/
int LER_DeclararParametro( void ) ;
/***********************************************************************
*
* $FC Função: LER &Exibir declaração de símbolo
*
***********************************************************************/
void LER_ExibirParametro( char * Simbolo ) ;
/***********************************************************************
*
* $FC Função: LER &Ler linha script eliminando brancos ao final
*
* $ED Descrição da função
* Lê uma linha do arquivo script e elimina os caracteres branco,
* fim de linha, tabulação etc. do final da linha lida.
*
* $FV Valor retornado
* Retorna o tamanho da linha lida.
* Será:
* -1 caso tenha ocorrido fim de arquivo.
* -2 caso tenha ocorrido algum problema de leitura.
*
***********************************************************************/
int LER_LerLinhaScript( void ) ;
/***********************************************************************
*
* $FC Função: LER &Obter número de linhas lidas até o momento
*
***********************************************************************/
int LER_ObterNumLinhas( void ) ;
/***********************************************************************
*
* $FC Função: LER &Ler linha de parâmetros
*
* $ED Descrição da função
* Lê um número variável de parâmetros
*
* $EP Parâmetros
* Tipos é um string contendo a identificação dos tipos dos parâmetros
* a serem lidos.
* ... Os demais parâmetros são referências (ponteiros) para os
* espaços onde deverão ser armazenados os valores lidos.
*
* Tal como em scanf deve-se tomar o cuidado de assegurar que a lista
* de referência e o string de tipos tenha o mesmo tamanho
* e que os indicadores de tipo sejam consistentes com a referência
* posicionalmente correspondente.
*
* Ao ler um campo primeiro procura ler um nome de parâmetro já
* declarado. Caso isto seja possível e o tipo esteja correto
* é " lido" o valor contido no parâmetro
* Caso não seja possível tenta ler um literal em acordo com o tipo
* dado.
*
* Gera mensagens de erro para parâmetros desconhecidos, sintaxe errada
* e tipo inconsistente com o solicitado.
*
* $FV Valor retornado
* Retorna o número de campos lidos até concluir ou até encontrar
* um erro.
*
***********************************************************************/
int LER_LerParametros( char * Tipos , ... ) ;
/***********************************************************************
*
* $FC Função: LER &Ler parâmetro caractere
*
***********************************************************************/
int LER_LerParmChar( char * Parm ) ;
/***********************************************************************
*
* $FC Função: LER &Ler parâmetro flutuante
*
***********************************************************************/
int LER_LerParmDouble( double * Parm ) ;
/***********************************************************************
*
* $FC Função: LER &Ler parâmetro nome
*
***********************************************************************/
int LER_LerParmNome( char * Parm , int * tamNome , int dimNome ) ;
/***********************************************************************
*
* $FC Função: LER &Ler parâmetro inteiro
*
***********************************************************************/
int LER_LerParmInt( int * Parm ) ;
/***********************************************************************
*
* $FC Função: LER &Ler parâmetro string
*
***********************************************************************/
int LER_LerParmString( char * Parm , int * tamString , int dimString ) ;
/***********************************************************************
*
* $FC Função: LER &Pular comando de teste
*
***********************************************************************/
void LER_PularComando( void ) ;
#undef LerParm_EXT
/********** Fim do módulo de definição: LER Ler parâmetros de comandos **********/
#else
#endif