Skip to content
Snippets Groups Projects
Commit cad9d88a authored by Robert P. Goldman's avatar Robert P. Goldman
Browse files

Testing the new operation classes.

parent dec4e1da
No related branches found
No related tags found
No related merge requests found
;;; -*- Lisp -*-
;;;---------------------------------------------------------------------------
;;; Test that we can successfully create new subclasses of OPERATION and that we
;;; can detect bad subclasses of OPERATION.
;;;---------------------------------------------------------------------------
(in-package :asdf)
(use-package :asdf-test)
(defparameter *good-classes*
'(build-op
prepare-source-op
prepare-op
prepare-fasl-op
load-op
monolithic-load-compiled-concatenated-source-op
prepare-fasl-op
load-source-op
load-compiled-concatenated-source-op
monolithic-load-concatenated-source-op
load-concatenated-source-op
load-fasl-op
compile-op
compile-concatenated-source-op
test-op
fasl-op
program-op
monolithic-compile-concatenated-source-op
monolithic-dll-op
monolithic-binary-op
monolithic-fasl-op
dll-op
concatenate-source-op
monolithic-lib-op
monolithic-concatenate-source-op
lib-op)
"All of these classes should be instantiable without error.")
(defclass my-unupdated-operation (operation)
()
)
(defclass my-good-operation (downward-operation)
()
)
(defclass my-incoherent-operation (downward-operation non-propagating-operation)
()
)
(loop :for class :in *good-classes*
:do (assert (make-instance class)))
(assert
(catch 'op-def-error
(handler-bind ((operation-definition-error #'(lambda (e)
(declare (ignore e))
(throw 'op-def-error t))))
(make-instance 'my-unupdated-operation)
nil)))
(assert
(catch 'op-def-error
(handler-bind ((operation-definition-error #'(lambda (e)
(declare (ignore e))
(throw 'op-def-error t))))
(make-instance 'my-incoherent-operation)
nil)))
(assert (make-instance 'my-good-operation))
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment