diff --git a/www/Makefile b/www/Makefile index ebae9abdf30b..57f426114e49 100644 --- a/www/Makefile +++ b/www/Makefile @@ -757,6 +757,7 @@ SUBDIR += syndigator SUBDIR += tasks SUBDIR += tclhttpd + SUBDIR += tclwebtest SUBDIR += tdiary SUBDIR += tdiary-devel SUBDIR += thttpd diff --git a/www/tclwebtest/Makefile b/www/tclwebtest/Makefile new file mode 100644 index 000000000000..bf03d0a7fba7 --- /dev/null +++ b/www/tclwebtest/Makefile @@ -0,0 +1,56 @@ +# New ports collection makefile for: tclwebtest +# Date created: July 2005 +# Whom: Aldert Nooitgedagt +# +# $FreeBSD$ +# + +PORTNAME= tclwebtest +PORTVERSION= 1.0 +CATEGORIES= www +MASTER_SITES= ${MASTER_SITE_SOURCEFORGE} +MASTER_SITE_SUBDIR= ${PORTNAME} + +MAINTAINER= aldert@nooitgedagt.net +COMMENT= Tool for issuing HTTP requests and dealing with the result + +LIB_DEPENDS+= tcl84.1:${PORTSDIR}/lang/tcl84-thread + +NO_BUILD= YES + +TCLVERSION= 8.4 +TWTBASE= ${PREFIX}/tclwebtest-${PORTVERSION} +TWTBASEL= ${PREFIX}/tclwebtest + +PLIST_SUB+= TWTDIR=tclwebtest-${PORTVERSION} TCLLIB=lib/tcl${TCLVERSION} + +post-extract: + @${FIND} ${WRKSRC} -name CVS | ${XARGS} ${RM} -rf + @${SED} -i "" -e "s| tclsh | tclsh${TCLVERSION} |g" ${WRKSRC}/tclwebtest + +do-install: + @${TEST} -d ${TWTBASE} || ( ${MKDIR} ${TWTBASE} && \ + ${CP} -R ${WRKSRC}/lib ${TWTBASE} && \ + ${CP} -R ${WRKSRC}/selftest ${TWTBASE} && \ + ${CP} ${WRKSRC}/tclwebtest ${TWTBASE} ) + @${MKDIR} ${EXAMPLESDIR} + @${CP} -R ${WRKSRC}/openacs4tests ${EXAMPLESDIR} + +.if !defined(NOPORTDOCS) + @${ECHO} "Installing docs" + @${MKDIR} ${DOCSDIR}/doc + @${TAR} -C ${WRKSRC} -c -f - ChangeLog README TODO index.html generate_docs.test | ${TAR} -C ${DOCSDIR} -x -f - + @${TAR} -C ${WRKSRC}/doc -c -f - . | ${TAR} -C ${DOCSDIR}/doc -x -f - +.endif + +post-install: + @${TEST} -L ${TWTBASEL} || ${LN} -s ${TWTBASE} ${TWTBASEL} + @${TEST} -L ${LOCALBASE}/lib/tcl${TCLVERSION}/tclwebtest || ${LN} -s ${TWTBASEL}/lib ${LOCALBASE}/lib/tcl${TCLVERSION}/tclwebtest + @${TEST} -L ${PREFIX}/bin/tclwebtest || ${LN} -s ${TWTBASEL}/tclwebtest ${PREFIX}/bin + + @${ECHO_CMD} "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++" + @${ECHO_CMD} " You may need to set TCLLIBPATH in your environment. " + @${ECHO_CMD} " Set it to ${TWTBASEL} if tclwebtest barks at you. " + @${ECHO_CMD} "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++" + +.include diff --git a/www/tclwebtest/distinfo b/www/tclwebtest/distinfo new file mode 100644 index 000000000000..42d6eea9602b --- /dev/null +++ b/www/tclwebtest/distinfo @@ -0,0 +1,2 @@ +MD5 (tclwebtest-1.0.tar.gz) = d1099015c21207336f34141ad55e8263 +SIZE (tclwebtest-1.0.tar.gz) = 111768 diff --git a/www/tclwebtest/pkg-descr b/www/tclwebtest/pkg-descr new file mode 100644 index 000000000000..40e60f6fd65f --- /dev/null +++ b/www/tclwebtest/pkg-descr @@ -0,0 +1,23 @@ +Tclwebtest is a tool to write automated tests for web applications. +It provides a simple API for issuing http requests, dealing with the +result and assume specific response values, while taking care of the +details such as redirects and cookies. + +It has some basic html parsing functionality, to provide access to +elements of the result html page that are needed for testing. + +TclWebtest should be suitable for testing larger chains of user +interaction on a web application, for example a full ecommerce +ordering session. + +Tclwebtest could visit an ecommerce site as +anonymous user, add some products to its shopping cart, check out +the cart, register itself as user and enter a test address etc. +The test script could also include the administration part of the +interaction, by explicitely logging in as site admin, reviewing and +processing the order, nuking the test user etc. + +WWW: http://tclwebtest.sourceforge.net + +- Aldert +aldert@nooitgedagt.net diff --git a/www/tclwebtest/pkg-plist b/www/tclwebtest/pkg-plist new file mode 100644 index 000000000000..ca051f18f544 --- /dev/null +++ b/www/tclwebtest/pkg-plist @@ -0,0 +1,100 @@ +bin/tclwebtest +%%DOCSDIR%%/ChangeLog +%%DOCSDIR%%/README +%%DOCSDIR%%/TODO +%%DOCSDIR%%/doc/api_all.html +%%DOCSDIR%%/doc/api_public.html +%%DOCSDIR%%/doc/index.html +%%DOCSDIR%%/doc/matching.txt +%%DOCSDIR%%/doc/others.html +%%DOCSDIR%%/doc/others.txt +%%DOCSDIR%%/doc/output.html +%%DOCSDIR%%/doc/req.txt +%%DOCSDIR%%/generate_docs.test +%%DOCSDIR%%/index.html +%%EXAMPLESDIR%%/openacs4tests/bboard_many_posts.test +%%EXAMPLESDIR%%/openacs4tests/calendar/000_install_calendar.test +%%EXAMPLESDIR%%/openacs4tests/calendar/001_mount_calendar.test +%%EXAMPLESDIR%%/openacs4tests/calendar/010_add_date.test +%%EXAMPLESDIR%%/openacs4tests/calendar/011_delete_date.test +%%EXAMPLESDIR%%/openacs4tests/calendar/020_admin_not_allowed.test +%%EXAMPLESDIR%%/openacs4tests/calendar/021_not_logged_in.test +%%EXAMPLESDIR%%/openacs4tests/calendar/997_unmount_calendar.test +%%EXAMPLESDIR%%/openacs4tests/calendar/998_delete_calendar_instance.test +%%EXAMPLESDIR%%/openacs4tests/calendar/999_uninstall_calendar.test +%%EXAMPLESDIR%%/openacs4tests/calendar/settings +%%EXAMPLESDIR%%/openacs4tests/calendar/tmp.test +%%EXAMPLESDIR%%/openacs4tests/cookies.test +%%EXAMPLESDIR%%/openacs4tests/doc.test +%%EXAMPLESDIR%%/openacs4tests/helloworld.test +%%EXAMPLESDIR%%/openacs4tests/install_etp.test +%%EXAMPLESDIR%%/openacs4tests/notes_mount.test +%%EXAMPLESDIR%%/openacs4tests/openacs4tests.settings +%%EXAMPLESDIR%%/openacs4tests/page-drop.test +%%EXAMPLESDIR%%/openacs4tests/persistent_login.test +%%EXAMPLESDIR%%/openacs4tests/sessions.test +%%EXAMPLESDIR%%/openacs4tests/sitemap.test +%%EXAMPLESDIR%%/openacs4tests/templating.test +%%EXAMPLESDIR%%/openacs4tests/wp-slim-delete-all.test +%%EXAMPLESDIR%%/openacs4tests/wp-slim.test +tclwebtest +%%TWTDIR%%/lib/entities.tcl +%%TWTDIR%%/lib/from_openacs.tcl +%%TWTDIR%%/lib/pkgIndex.tcl +%%TWTDIR%%/lib/tclwebtest.tcl +%%TWTDIR%%/selftest/ad_proc.test +%%TWTDIR%%/selftest/asserts.test +%%TWTDIR%%/selftest/caption.html +%%TWTDIR%%/selftest/caption.test +%%TWTDIR%%/selftest/caption2.html +%%TWTDIR%%/selftest/caption3.html +%%TWTDIR%%/selftest/caption3.test +%%TWTDIR%%/selftest/checkboxes.html +%%TWTDIR%%/selftest/checkboxes.test +%%TWTDIR%%/selftest/directory_traversal.test +%%TWTDIR%%/selftest/entity.test +%%TWTDIR%%/selftest/field_order.test +%%TWTDIR%%/selftest/field_order2.html +%%TWTDIR%%/selftest/field_order2.test +%%TWTDIR%%/selftest/fields_iterate.test +%%TWTDIR%%/selftest/forms.html +%%TWTDIR%%/selftest/forms.test +%%TWTDIR%%/selftest/forms2.html +%%TWTDIR%%/selftest/forms2.test +%%TWTDIR%%/selftest/image_submit.gif +%%TWTDIR%%/selftest/image_submit.html +%%TWTDIR%%/selftest/image_submit.html~ +%%TWTDIR%%/selftest/image_submit.test +%%TWTDIR%%/selftest/image_submit.test~ +%%TWTDIR%%/selftest/link_fail.test +%%TWTDIR%%/selftest/links.html +%%TWTDIR%%/selftest/links.test +%%TWTDIR%%/selftest/links2.html +%%TWTDIR%%/selftest/links2.test +%%TWTDIR%%/selftest/links_empty.html +%%TWTDIR%%/selftest/namespace.test +%%TWTDIR%%/selftest/radio.html +%%TWTDIR%%/selftest/radio.test +%%TWTDIR%%/selftest/regsplit.test +%%TWTDIR%%/selftest/reset_session.test +%%TWTDIR%%/selftest/segfault +%%TWTDIR%%/selftest/select.html +%%TWTDIR%%/selftest/select.test +%%TWTDIR%%/selftest/select2.test +%%TWTDIR%%/selftest/select_many.html +%%TWTDIR%%/selftest/select_many.test +%%TWTDIR%%/selftest/simple_form.html +%%TWTDIR%%/selftest/simple_form.test +%%TWTDIR%%/selftest/strip_comments.test +%%TWTDIR%%/selftest/url_anchor.test +%%TWTDIR%%/tclwebtest +@dirrm %%TWTDIR%%/selftest +@dirrm %%TWTDIR%%/lib +@dirrm %%TWTDIR%% +@dirrm %%EXAMPLESDIR%%/openacs4tests/calendar +@dirrm %%EXAMPLESDIR%%/openacs4tests +@dirrm %%EXAMPLESDIR%% +@dirrm %%DOCSDIR%%/doc +@dirrm %%DOCSDIR%% +@cwd %%LOCALBASE%% +%%TCLLIB%%/tclwebtest