From cfddaae8801c8049d3663f88d55ca1661b6a65ab Mon Sep 17 00:00:00 2001 From: Diego Giovane Pasqualin <dpasqualin@c3sl.ufpr.br> Date: Tue, 12 Jan 2016 11:44:09 -0200 Subject: [PATCH] Exemplo com make e artefatos --- Makefile | 19 +++++++++++++++++++ README.md | 19 ------------------- hello.c | 6 ++++++ hello.o | Bin 0 -> 1504 bytes run-test.sh | 36 ++++++++++++++++++++++++++++++++++++ 5 files changed, 61 insertions(+), 19 deletions(-) create mode 100644 Makefile delete mode 100644 README.md create mode 100644 hello.c create mode 100644 hello.o create mode 100755 run-test.sh diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..36b5417 --- /dev/null +++ b/Makefile @@ -0,0 +1,19 @@ +CC=gcc +CFLAGS=-I. +OBJ = hello.o +BIN = hello +DEST = build + +all: hello + mkdir -p $(DEST) + mv $(BIN) $(DEST) + +%.o: %.c + $(CC) -c -o $@ $< $(CFLAGS) + +$(BIN): $(OBJ) + $(CC) -o $@ $^ $(CFLAGS) + +clean: + rm -f $(OBJ) + rm -rf $(DEST) diff --git a/README.md b/README.md deleted file mode 100644 index cbd32a9..0000000 --- a/README.md +++ /dev/null @@ -1,19 +0,0 @@ -Esse repositório contém exemplos de uso do sistema de integração contínua do -gitlab. - -Cada exemplo encontra-se em um ramo diferente, nomeado como -`exemplo/X`, onde X é um inteiro crescente. Normalmente, quanto maior X, mais -funcionalidades são apresentadas. - -Para ver o primeiro exemplo mude para o *branch* `exemplo/1` com o comando abaixo e -abra o arquivo `.gitlab-ci.yml`. - -``` -git checkout -t origin/exemplo/1 -``` - -Todos os *builds* feitos aparecem no item *Builds*, aba *All*, do menu lateral esquerdo -no Gitlab. - -Clique no valor sob a coluna *Status* para ver detalhes do *build*. Repare -no campo *Ref*, que indica o *branch* onde a *build* foi executada. diff --git a/hello.c b/hello.c new file mode 100644 index 0000000..5e3ef85 --- /dev/null +++ b/hello.c @@ -0,0 +1,6 @@ +#include <stdio.h> + +int main(int argc, char** argv) { + printf("hello world\n"); + return (0); +} diff --git a/hello.o b/hello.o new file mode 100644 index 0000000000000000000000000000000000000000..71e4bd747d5c33101988f2086a43bc31545c6975 GIT binary patch literal 1504 zcmb<-^>JfjWMqH=Mg}_u1P><4z+izS=l~XWVBlroVhHu<eCpBsMxe9yk4I<ehy5U_ z7a(E>h&XvTBQ+-{U!gp|C?|!1!QI)}N<kwusWh*oRKY~gLeE6ks1(dItTQyxGceJF zh%zuRh=8;+FfcGy1u-yI2rx?XuyagcWMGhCfMAfc0*G+r6KG>{=4FfKVdntx^@=NV zOA?b9^omQ0Aan+dRg{{Os8^C&QNo~?l30?+pqEr!%%E4458))|=jNv7l`!b#<(H)D zx%-9c7MCO@XEW%5wWVgnrxhjUrh=@X1_rqu6r^luhC#xXfdM3sECo`F%$H_hU|>NO zfU;+>LKp@Rih&yxh71f0;ILs}V32@{t3kz?p?nyX0Arxh==SSC%_LX9A=G{*G<#t7 z^Pq{N+iwZg5A!EXc@C7J1*KsWOh1fvg6fCK!{})+1{w|12NMp5>PL6~45$JNC=H`v z;Sb{n;fTKz(D;MJ6Da;bdO;YZ7bY&qz`%eW_8|ESAcBE`ArVT$D0KIO_~>p2sjYw} zDh`kW1_lODJa9te8YB<1A0&p&{syS~g+YpuFw{6C5$sHmIu?eH|FOw3V=b9L;egF0 zAaST?&<tZ{fI1RGoE=RB!exf%9ta;sGBcp(UIqqGxCkM+6PAzp7#J7?U>cEWZ~>{8 s%#fRyna5C2T2c&=gsJ6XU_f!LC`6h86n7xGKmQ>BW)DalgrUk90B|;4sQ>@~ literal 0 HcmV?d00001 diff --git a/run-test.sh b/run-test.sh new file mode 100755 index 0000000..3ca8c00 --- /dev/null +++ b/run-test.sh @@ -0,0 +1,36 @@ +#!/bin/bash + +# Script que testa o hello. Esse é só um exemplo, existem inúmeras ferramentas de testes +# por aí, procure não reinventar a roda. + +BIN="build/hello" + +# Testa se arquivo existe e é executável +if ! test -x $BIN; then + echo "Binário inexistente" + exit 1 +fi + +# Testa código de retorno +res=$(./$BIN) +ret=$? +echo -n "Testando código de retorno... " +if test $ret -ne 0; then + echo "ERRO: Programa retornou erro $ret: $res" + exit 1 +fi +echo "OK" + +# Testa valor de retorno +expected="hello world" +echo -n "Testando valor de retorno... " +if test "$res" != "$expected"; then + echo "ERRO: Programa deveria retornar $expected, mas retornou \"$res\"." + exit 1 +fi +echo "OK" + +# Se chegou até aqui, sucesso! +echo "Todos os testes passaram!" + +exit 0 -- GitLab