Beispiel #1
0
def test_null():
    s = io.StringIO()
    dotscience.start()
    dotscience.publish(stream=s)
    m = _parse(s.getvalue())
    assert m["input"] == []
    assert m["output"] == []
    assert m["labels"] == {}
    assert m["parameters"] == {}
    assert m["summary"] == {}
    assert m["workload-file"] == TEST_WORKLOAD_FILE
Beispiel #2
0
def test_parameter_n(a, b):
    s = io.StringIO()
    dotscience.start()
    dotscience.add_parameters("a", a)
    dotscience.add_parameters(b=b)
    dotscience.publish(stream=s)
    m = _parse(s.getvalue())
    assert m["output"] == []
    assert m["input"] == []
    assert m["parameters"] == {"a": a, "b": b}
    assert m["labels"] == {}
    assert m["summary"] == {}
    assert m["workload-file"] == TEST_WORKLOAD_FILE
Beispiel #3
0
def test_output_1b(d):
    s = io.StringIO()
    dotscience.start()
    dp = tidy_path(os.getcwd() + "/" + d)
    assert dotscience.output(dp) == dp
    dotscience.publish(stream=s)
    m = _parse(s.getvalue())
    assert m["output"] == [os.path.relpath(dp, start=os.getcwd())]
    assert m["input"] == []
    assert m["labels"] == {}
    assert m["parameters"] == {}
    assert m["summary"] == {}
    assert m["workload-file"] == TEST_WORKLOAD_FILE
Beispiel #4
0
def test_multi_publish_1():
    s1 = io.StringIO()
    dotscience.start()
    dotscience.publish("Hello", stream=s1)
    s2 = io.StringIO()
    dotscience.publish("World", stream=s2)
    m1 = _parse(s1.getvalue())
    m2 = _parse(s2.getvalue())

    assert m1["description"] == "Hello"
    assert m2["description"] == "World"
    assert m1["__ID"] != m2["__ID"]
    assert m1["start"] != m2["start"]
    assert m1["end"] != m2["end"]
Beispiel #5
0
def test_output_n(d):
    d = set([tidy_path(os.getcwd() + "/" + x) for x in d])
    s = io.StringIO()
    dotscience.start()
    dotscience.add_outputs(*d)
    dotscience.publish(stream=s)
    m = _parse(s.getvalue())
    assert len(m["output"]) == len(d) and sorted(m["output"]) == sorted(
        [os.path.relpath(x, start=os.getcwd()) for x in d])
    assert m["input"] == []
    assert m["labels"] == {}
    assert m["parameters"] == {}
    assert m["summary"] == {}
    assert m["workload-file"] == TEST_WORKLOAD_FILE
Beispiel #6
0
def test_start_end():
    s = io.StringIO()
    dotscience.start()
    t1 = dotscience._defaultDS.currentRun._start
    dotscience.end()
    t2 = dotscience._defaultDS.currentRun._end
    dotscience.publish(stream=s)
    m = _parse(s.getvalue())
    assert m["start"] == t1.strftime("%Y%m%dT%H%M%S.%f")
    assert m["end"] == t2.strftime("%Y%m%dT%H%M%S.%f")
    assert m["input"] == []
    assert m["output"] == []
    assert m["labels"] == {}
    assert m["parameters"] == {}
    assert m["summary"] == {}
    assert m["workload-file"] == TEST_WORKLOAD_FILE
Beispiel #7
0
import dotscience as ds
ds.script()
ds.start()

ds.publish("hello, world")